Função CalculatePopupWindowPosition (winuser.h)

Calcula uma posição de janela pop-up apropriada usando o ponto de âncora especificado, o tamanho da janela pop-up, os sinalizadores e o retângulo de exclusão opcional. Quando o tamanho da janela pop-up especificado for menor que o tamanho da janela da área de trabalho, use a função CalculatePopupWindowPosition para garantir que a janela pop-up esteja totalmente visível na janela da área de trabalho, independentemente do ponto de âncora especificado.

Sintaxe

BOOL CalculatePopupWindowPosition(
  [in]           const POINT *anchorPoint,
  [in]           const SIZE  *windowSize,
  [in]           UINT        flags,
  [in, optional] RECT        *excludeRect,
  [out]          RECT        *popupWindowPosition
);

Parâmetros

[in] anchorPoint

Tipo: const POINT*

O ponto de âncora especificado.

[in] windowSize

Tipo: const SIZE*

O tamanho da janela especificado.

[in] flags

Tipo: UINT

Use um dos sinalizadores a seguir para especificar como a função posiciona a janela pop-up horizontal e verticalmente. Os sinalizadores são iguais aos sinalizadores de posicionamento vertical e horizontal da função TrackPopupMenuEx .

Use um dos sinalizadores a seguir para especificar como a função posiciona a janela pop-up horizontalmente.

Valor Significado
TPM_CENTERALIGN
0x0004L
Centraliza a janela pop-up horizontalmente em relação à coordenada especificada pelo parâmetro anchorPoint-x>.
TPM_LEFTALIGN
0x0000L
Posiciona a janela pop-up para que sua borda esquerda seja alinhada com a coordenada especificada pelo parâmetro anchorPoint-x>.
TPM_RIGHTALIGN
0x0008L
Posiciona a janela pop-up para que sua borda direita seja alinhada com a coordenada especificada pelo parâmetro anchorPoint-x>.
 

Usa um dos sinalizadores a seguir para especificar como a função posiciona a janela pop-up verticalmente.

Valor Significado
TPM_BOTTOMALIGN
0x0020L
Posiciona a janela pop-up para que sua borda inferior seja alinhada com a coordenada especificada pelo parâmetro anchorPoint-y>.
TPM_TOPALIGN
0x0000L
Posiciona a janela pop-up para que sua borda superior seja alinhada com a coordenada especificada pelo parâmetro anchorPoint-y>.
TPM_VCENTERALIGN
0x0010L
Centraliza a janela pop-up verticalmente em relação à coordenada especificada pelo parâmetro anchorPoint-y>.
 

Use um dos sinalizadores a seguir para especificar se deseja acomodar o alinhamento horizontal ou vertical.

Valor Significado
TPM_HORIZONTAL
0x0000L
Se a janela pop-up não puder ser mostrada no local especificado sem sobrepor o retângulo excluído, o sistema tentará acomodar o alinhamento horizontal solicitado antes do alinhamento vertical solicitado.
TPM_VERTICAL
0x0040L
Se a janela pop-up não puder ser mostrada no local especificado sem sobrepor o retângulo excluído, o sistema tentará acomodar o alinhamento vertical solicitado antes do alinhamento horizontal solicitado.
 

O sinalizador a seguir está disponível a partir do Windows 7.

Valor Significado
TPM_WORKAREA
0x10000L
Restringe a janela pop-up para dentro da área de trabalho. Se esse sinalizador não estiver definido, a janela pop-up será restrita à área de trabalho somente se o ponto de entrada estiver dentro da área de trabalho. Para obter mais informações, consulte os membros rcWork e rcMonitor da estrutura MONITORINFO .

[in, optional] excludeRect

Tipo: RECT*

Um ponteiro para uma estrutura que especifica o retângulo exclude. Pode ser NULL.

[out] popupWindowPosition

Tipo: RECT*

Um ponteiro para uma estrutura que especifica a posição da janela pop-up.

Valor retornado

Tipo: BOOL

Se a função for bem-sucedida, ela retornará TRUE; caso contrário, retornará FALSE. Para obter informações de erro estendidas, chame GetLastError.

Comentários

TPM_WORKAREA tem suporte para as funções TrackPopupMenu e TrackPopupMenuEx .

Requisitos

   
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winuser.h (inclua Windows.h)
Biblioteca User32.lib
DLL User32.dll

Confira também

Referência

Trackpopupmenu

Trackpopupmenuex