Funzione PathCompactPathW (shlwapi.h)

Tronca un percorso di file per adattarsi all'interno di una determinata larghezza di pixel sostituendo i componenti del percorso con i puntini di sospensione.

Sintassi

BOOL PathCompactPathW(
  [in]      HDC    hDC,
  [in, out] LPWSTR pszPath,
  [in]      UINT   dx
);

Parametri

[in] hDC

Tipo: HDC

Handle al contesto del dispositivo usato per le metriche del tipo di carattere. Questo valore può essere NULL.

[in, out] pszPath

Tipo: LPTSTR

Puntatore a una stringa con terminazione null di lunghezza MAX_PATH contenente il percorso da modificare. In caso di restituzione, questo buffer conterrà la stringa modificata.

[in] dx

Tipo: UINT

Larghezza, in pixel, in cui deve essere adattata la stringa.

Valore restituito

Tipo: BOOL

Restituisce TRUE se il percorso è stato compattato correttamente alla larghezza specificata. Restituisce FALSE in caso di errore o se la parte di base del percorso non corrisponde alla larghezza specificata.

Commenti

Questa funzione usa il tipo di carattere attualmente selezionato in hDC per calcolare la larghezza del testo. Questa funzione non compatta il percorso oltre il nome del file di base preceduto dai puntini di sospensione.

Esempi

#include <windows.h>
#include <iostream.h>
#include "Shlwapi.h"

HDC hdc;  /* display DC handle to current font metrics */ 

void main( void )
{
// String path name 1.
char buffer_1[MAX_PATH] = "C:\\path1\\path2\\sample.txt";
char *lpStr1;
lpStr1 = buffer_1;

// String path name 2.
char buffer_2[MAX_PATH] = "C:\\path1\\path2\\sample.txt";
char *lpStr2;
lpStr2 = buffer_2;

// String path name 3.
char buffer_3[MAX_PATH] = "C:\\path1\\path2\\sample.txt";
char *lpStr3;
lpStr3 = buffer_3;

// String path name 4.
char buffer_4[MAX_PATH] = "C:\\path1\\path2\\sample.txt";
char *lpStr4;
lpStr4 = buffer_4;

// Variable to get the return from "PathCompactPath".
int retval;

cout << "The un-truncated path is                " << lpStr1 << endl;

retval = PathCompactPath(hdc,lpStr1,125);
cout << "The truncated path at 125 pixels is :   " << lpStr1 << endl;

retval = PathCompactPath(hdc,lpStr2,120);
cout << "The truncated path at 120 pixels is :   " << lpStr2 << endl;

retval = PathCompactPath(hdc,lpStr3,110);
cout << "The truncated path at 110 pixels is :   " << lpStr3 << endl;

retval = PathCompactPath(hdc,lpStr4,25);
cout << "The truncated path at  25 pixels is :   " << lpStr4 << endl;
}

OUTPUT:
===========
The un-truncated path is                C:\path1\path2\sample.txt
The truncated path at 125 pixels is :   C:\path1\...\sample.txt
The truncated path at 120 pixels is :   C:\pat...\sample.txt
The truncated path at 110 pixels is :   C:\p...\sample.txt
The truncated path at  25 pixels is :   ...\sample.txt

Nota

L'intestazione shlwapi.h definisce PathCompactPath come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional, Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shlwapi.h
Libreria Shlwapi.lib
DLL Shlwapi.dll (versione 4.71 o successiva)