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) |