Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Trunca um caminho de arquivo para caber dentro de uma determinada largura de pixel substituindo componentes de caminho por reticências.
Sintaxe
BOOL PathCompactPathA(
[in] HDC hDC,
[in, out] LPSTR pszPath,
[in] UINT dx
);
Parâmetros
[in] hDC
Tipo: HDC
Um identificador para o contexto do dispositivo usado para métricas de fonte. Esse valor pode ser NULL.
[in, out] pszPath
Tipo: LPTSTR
Um ponteiro para uma cadeia de caracteres de comprimento terminada em nulo MAX_PATH que contém o caminho a ser modificado. No retorno, esse buffer conterá a cadeia de caracteres modificada.
[in] dx
Tipo: UINT
A largura, em pixels, na qual a cadeia de caracteres deve se ajustar.
Valor de retorno
Tipo: BOOL
Retorna VERDADEIRO se o caminho tiver sido compactado com êxito com a largura especificada. Retorna FALSE em caso de falha ou se a parte base do caminho não se ajustaria à largura especificada.
Observações
Essa função usa a fonte atualmente selecionada em hDC para calcular a largura do texto. Essa função não compactará o caminho além do nome do arquivo base precedido por reticências.
Exemplos
#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
Nota
O cabeçalho shlwapi.h define PathCompactPath como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
| Requisito | Valor |
|---|---|
| de cliente com suporte mínimo | Windows 2000 Professional, Windows XP [somente aplicativos da área de trabalho] |
| servidor com suporte mínimo | Windows 2000 Server [somente aplicativos da área de trabalho] |
| da Plataforma de Destino |
Windows |
| cabeçalho | shlwapi.h |
| biblioteca | Shlwapi.lib |
| de DLL |
Shlwapi.dll (versão 4.71 ou posterior) |