Freigeben über


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)