PathCompactPathW-Funktion (shlwapi.h)

Schneidet einen Dateipfad ab, um innerhalb einer bestimmten Pixelbreite zu passen, indem Pfadkomponenten durch Auslassungspunkte ersetzt werden.

Syntax

BOOL PathCompactPathW(
  [in]      HDC    hDC,
  [in, out] LPWSTR 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 der Länge MAX_PATH, die den zu ändernden Pfad enthält. Bei der Rückgabe enthält dieser Puffer die geänderte Zeichenfolge.

[in] dx

Typ: UINT

Die Breite in Pixel, in die 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.

Hinweise

Diese Funktion verwendet die derzeit 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 vorangestellt wird.

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

Hinweis

Der shlwapi.h-Header definiert PathCompactPath als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code 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
Unterstützte Mindestversion (Client) Windows 2000 Professional, Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shlwapi.h
Bibliothek Shlwapi.lib
DLL Shlwapi.dll (Version 4.71 oder höher)