Share via


Funzione CalculatePopupWindowPosition (winuser.h)

Calcola una posizione popup appropriata usando il punto di ancoraggio specificato, le dimensioni della finestra popup, i flag e il rettangolo di esclusione facoltativo. Quando le dimensioni della finestra popup specificate sono inferiori alle dimensioni della finestra desktop, usare la funzione CalculatePopupWindowPosition per assicurarsi che la finestra popup sia completamente visibile nella finestra desktop, indipendentemente dal punto di ancoraggio specificato.

Sintassi

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

Parametri

[in] anchorPoint

Tipo: const POINT*

Punto di ancoraggio specificato.

[in] windowSize

Tipo: const SIZE*

Dimensione della finestra specificata.

[in] flags

Tipo: UINT

Usare uno dei flag seguenti per specificare il modo in cui la funzione posiziona la finestra popup orizzontalmente e verticalmente. I flag sono uguali ai flag di posizionamento verticale e orizzontale della funzione TrackPopupMenuEx .

Usare uno dei flag seguenti per specificare in che modo la funzione posiziona la finestra popup orizzontalmente.

Valore Significato
TPM_CENTERALIGN
0x0004L
Finestra popup dei centri orizzontalmente rispetto alla coordinata specificata dal parametro anchorPoint-x>.
TPM_LEFTALIGN
0x0000L
Posiziona la finestra popup in modo che il bordo sinistro sia allineato alla coordinata specificata dal parametro anchorPoint-x>.
TPM_RIGHTALIGN
0x0008L
Posiziona la finestra popup in modo che il bordo destro sia allineato alla coordinata specificata dal parametro anchorPoint-x>.
 

Usa uno dei flag seguenti per specificare il modo in cui la funzione posiziona la finestra popup verticalmente.

Valore Significato
TPM_BOTTOMALIGN
0x0020L
Posiziona la finestra popup in modo che il bordo inferiore sia allineato alla coordinata specificata dal parametro anchorPoint-y>.
TPM_TOPALIGN
0x0000L
Posiziona la finestra popup in modo che il bordo superiore sia allineato alla coordinata specificata dal parametro anchorPoint-y>.
TPM_VCENTERALIGN
0x0010L
Centra la finestra popup verticalmente rispetto alla coordinata specificata dal parametro anchorPoint-y>.
 

Usare uno dei flag seguenti per specificare se supportare l'allineamento orizzontale o verticale.

Valore Significato
TPM_HORIZONTAL
0x0000L
Se la finestra popup non può essere visualizzata nella posizione specificata senza sovrapporsi al rettangolo escluso, il sistema tenta di soddisfare l'allineamento orizzontale richiesto prima dell'allineamento verticale richiesto.
TPM_VERTICAL
0x0040L
Se la finestra popup non può essere visualizzata nella posizione specificata senza sovrapporsi al rettangolo escluso, il sistema tenta di soddisfare l'allineamento verticale richiesto prima dell'allineamento orizzontale richiesto.
 

Il flag seguente è disponibile a partire da Windows 7.

Valore Significato
TPM_WORKAREA
0x10000L
Limita la finestra popup all'interno dell'area di lavoro. Se questo flag non è impostato, la finestra popup è limitata all'area di lavoro solo se il punto di input si trova all'interno dell'area di lavoro. Per altre informazioni, vedere i membri rcWork e rcMonitor della struttura MONITORINFO .

[in, optional] excludeRect

Tipo: RECT*

Puntatore a una struttura che specifica il rettangolo di esclusione. Può essere NULL.

[out] popupWindowPosition

Tipo: RECT*

Puntatore a una struttura che specifica la posizione della finestra popup.

Valore restituito

Tipo: BOOL

Se la funzione ha esito positivo, restituisce TRUE; in caso contrario, restituisce FALSE. Per informazioni dettagliate sull'errore, chiamare GetLastError.

Commenti

TPM_WORKAREA è supportato per le funzioni TrackPopupMenu e TrackPopupMenuEx.

Requisiti

   
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll

Vedi anche

Riferimento

TrackPopupMenu

TrackPopupMenuEx