Método ITextServices::TxGetNaturalSize (textserv.h)
Permite que um controle seja redimensionado para que ele se ajuste adequadamente ao conteúdo.
Sintaxe
HRESULT TxGetNaturalSize(
DWORD dwAspect,
HDC hdcDraw,
HDC hicTargetDev,
DVTARGETDEVICE *ptd,
DWORD dwMode,
const SIZEL *psizelExtent,
[in, out] LONG *pwidth,
[in, out] LONG *pheight
);
Parâmetros
dwAspect
Tipo: DWORD
O aspecto do desenho. Pode ser qualquer um dos valores da enumeração DVASPECT .
hdcDraw
Tipo: HDC
O contexto do dispositivo no qual o desenho ocorre.
hicTargetDev
Tipo: HDC
O contexto do dispositivo para o qual o texto deve ser formatado (ou seja, para WYSIWYG).
ptd
Tipo: DVTARGETDEVICE*
Mais informações sobre o dispositivo de destino.
dwMode
Tipo: DWORD
O tipo de ajuste solicitado. Pode ser um dos seguintes.
Valor | Significado |
---|---|
|
Use EMUs (Unidades de Métrica) em inglês em vez de pixels como unidades de medição para os parâmetros desse método. |
|
Redimensione o controle para ajustar todo o texto formatando o texto para a largura que é passada. O objeto de serviços de texto retorna a altura de todo o texto e a largura da linha mais larga.
Por exemplo, isso deve ser feito quando o usuário clica duas vezes em um dos identificadores do controle. |
|
Redimensione o controle para que ele se ajuste ao conteúdo recuado. |
|
Redimensione o controle para que ele se ajuste ao conteúdo recuado e ao espaço em branco à direita. |
|
Redimensione o controle para que ele se ajuste ao conteúdo não recuado e ao espaço em branco à direita. |
|
Para um controle de texto sem formatação, inclua a altura do retorno de carro final ao calcular o tamanho. |
|
Redimensione o controle para mostrar um número integral de linhas (nenhuma linha é recortada). Formate texto suficiente para preencher a largura e a altura passadas e retorne uma altura arredondada para o limite de linha mais próximo.
Nota A largura e a altura passadas e retornadas correspondem ao retângulo de exibição. O host deve se ajustar novamente ao retângulo do cliente, conforme necessário. Como esses valores representam a extensão do objeto de texto, eles são entrada e saída em coordenadas HIMETRIC (cada unidade HIMETRIC é 0,01 milímetro) e a medição não inclui nenhum fator de zoom. Para obter uma discussão sobre o fator zoom, consulte TxGetExtent.
|
psizelExtent
Tipo: const SIZEL*
Não há suporte.
[in, out] pwidth
Tipo: LONG*
A largura do ajuste definido por dwMode.
[in, out] pheight
Tipo: LONG*
A altura do ajuste definido por dwMode.
Retornar valor
Tipo: HRESULT
Se o método for bem-sucedido, o valor retornado será S_OK.
Se os serviços de texto não puderem ativar o objeto, o valor retornado será um dos seguintes códigos HRESULT . Para obter mais informações sobre códigos de erro COM, consulte Tratamento de erros em COM.
Código de retorno | Descrição |
---|---|
|
Não é possível determinar o tamanho correto. |
|
Um ou mais argumentos não são válidos. |
|
Memória insuficiente. |
Comentários
Os quatro primeiros parâmetros são semelhantes aos parâmetros equivalentes em ITextServices::TxDraw e fornecem as mesmas informações. No caso em que as linhas devem ser recalculadas, ela deve usar esses valores da mesma maneira que em ITextServices::TxDraw.
Os parâmetros pwidth e pheight são parâmetros de entrada/saída. O host passa a largura e a altura provisórias da extensão natural do objeto de texto. O objeto de serviços de texto compara esses valores com seu estado armazenado em cache atual e, se diferente, recalcular linhas. Em seguida, ele calcula e retorna o tamanho natural, conforme especificado por dwMode.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | textserv.h |
DLL | Msftedit.dll |
Confira também
Conceitual
Outros recursos
Referência