PathCompactPathA-Funktion (shlwapi.h)
Schneidet einen Dateipfad ab, der in eine bestimmte Pixelbreite passt, indem Pfadkomponenten durch Auslassungspunkte ersetzt werden.
Syntax
BOOL PathCompactPathA(
[in] HDC hDC,
[in, out] LPSTR pszPath,
[in] UINT dx
);
Parameter
[in] hDC
Typ: HDC-
Ein Handle für den Gerätekontext, der für Schriftartmetriken verwendet wird. Dieser Wert kann NULL-sein.
[in, out] pszPath
Typ: LPTSTR-
Ein Zeiger auf eine mit Null beendete Zeichenfolge MAX_PATH, die den zu ändernden Pfad enthält. Bei Rückgabe enthält dieser Puffer die geänderte Zeichenfolge.
[in] dx
Typ: UINT-
Die Breite in Pixel, in der die Zeichenfolge passen muss.
Rückgabewert
Typ: BOOL-
Gibt TRUE- zurück, wenn der Pfad erfolgreich auf die angegebene Breite komprimiert wurde. Gibt FALSE- bei Einem Fehler zurück, oder wenn der Basisteil des Pfads nicht der angegebenen Breite entspricht.
Bemerkungen
Diese Funktion verwendet die aktuell in hDC- ausgewählte Schriftart, um die Breite des Texts zu berechnen. Diese Funktion komprimiert den Pfad nicht über den Basisdateinamen hinaus, der durch Auslassungspunkte vorausgeht.
Beispiele
#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
Anmerkung
Der Header "shlwapi.h" definiert PathCompactPath als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional, Windows XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | shlwapi.h |
Library | Shlwapi.lib |
DLL- | Shlwapi.dll (Version 4.71 oder höher) |