Fungsi PathCompactPathA (shlwapi.h)
Memotong jalur file agar pas dalam lebar piksel tertentu dengan mengganti komponen jalur dengan elipsis.
Sintaks
BOOL PathCompactPathA(
[in] HDC hDC,
[in, out] LPSTR pszPath,
[in] UINT dx
);
Parameter
[in] hDC
Jenis: HDC
Handel ke konteks perangkat yang digunakan untuk metrik font. Nilai ini bisa NULL.
[in, out] pszPath
Jenis: LPTSTR
Penunjuk ke string panjang yang dihentikan null MAX_PATH yang berisi jalur yang akan dimodifikasi. Saat kembali, buffer ini akan berisi string yang dimodifikasi.
[in] dx
Jenis: UINT
Lebar, dalam piksel, di mana string harus pas.
Mengembalikan nilai
Jenis: BOOL
Mengembalikan TRUE jika jalur berhasil dikompresi ke lebar yang ditentukan. Mengembalikan FALSE pada kegagalan, atau jika bagian dasar jalur tidak akan sesuai dengan lebar yang ditentukan.
Keterangan
Fungsi ini menggunakan font yang saat ini dipilih di hDC untuk menghitung lebar teks. Fungsi ini tidak akan memampatkan jalur di luar nama file dasar yang didahului oleh elipsis.
Contoh
#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
Catatan
Header shlwapi.h mendefinisikan PathCompactPath sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosem UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional, Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shlwapi.h |
Pustaka | Shlwapi.lib |
DLL | Shlwapi.dll (versi 4.71 atau yang lebih baru) |