Funzione PathCompactPathW (shlwapi.h)
Tronca un percorso di file per adattarsi all'interno di una determinata larghezza di pixel sostituendo i componenti di percorso con puntini di sospensione.
Sintassi
BOOL PathCompactPathW(
[in] HDC hDC,
[in, out] LPWSTR pszPath,
[in] UINT dx
);
Parametri
[in] hDC
Tipo: HDC
Handle per il contesto di dispositivo usato per le metriche dei tipi di carattere. Questo valore può essere NULL.
[in, out] pszPath
Tipo: LPTSTR
Puntatore a una stringa di lunghezza con terminazione Null MAX_PATH che contiene il percorso da modificare. In caso di restituzione, questo buffer conterrà la stringa modificata.
[in] dx
Tipo: UINT
Larghezza, espressa 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 oppure se la parte di base del percorso non corrisponde alla larghezza specificata.
Osservazioni
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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
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 | Finestre |
intestazione |
shlwapi.h |
libreria |
Shlwapi.lib |
dll | Shlwapi.dll (versione 4.71 o successiva) |