Share via


PathCompactPathA-Funktion (shlwapi.h)

Schneidet einen Dateipfad ab, der innerhalb einer angegebenen 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 endende 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 zurück, 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, dem Ellipsen vorangestellt sind.

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