Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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) |