Bagikan melalui


Fungsi CalculatePopupWindowPosition (winuser.h)

Menghitung posisi jendela pop-up yang sesuai menggunakan titik jangkar yang ditentukan, ukuran jendela pop-up, bendera, dan persegi panjang pengecualian opsional. Ketika ukuran jendela pop-up yang ditentukan lebih kecil dari ukuran jendela desktop, gunakan fungsi CalculatePopupWindowPosition untuk memastikan bahwa jendela pop-up sepenuhnya terlihat di jendela desktop, terlepas dari titik jangkar yang ditentukan.

Sintaks

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

Parameter

[in] anchorPoint

Jenis: const POINT*

Titik jangkar yang ditentukan.

[in] windowSize

Jenis: ukuran const*

Ukuran jendela yang ditentukan.

[in] flags

Jenis: UINT

Gunakan salah satu bendera berikut untuk menentukan bagaimana fungsi memposisikan jendela pop-up secara horizontal dan vertikal. Bendera sama dengan bendera posisi vertikal dan horizontal dari fungsi TrackPopupMenuEx .

Gunakan salah satu bendera berikut untuk menentukan bagaimana fungsi memposisikan jendela pop-up secara horizontal.

Nilai Makna
TPM_CENTERALIGN
0x0004L
Tengahkan jendela pop-up secara horizontal relatif terhadap koordinat yang ditentukan oleh parameter anchorPoint-x>.
TPM_LEFTALIGN
0x0000L
Memposisikan jendela pop-up sehingga tepi kirinya diratakan dengan koordinat yang ditentukan oleh parameter anchorPoint-x>.
TPM_RIGHTALIGN
0x0008L
Memposisikan jendela pop-up sehingga tepi kanannya diratakan dengan koordinat yang ditentukan oleh parameter anchorPoint-x>.
 

Menggunakan salah satu bendera berikut untuk menentukan bagaimana fungsi memosisikan jendela pop-up secara vertikal.

Nilai Makna
TPM_BOTTOMALIGN
0x0020L
Memposisikan jendela pop-up sehingga tepi bawahnya diselaraskan dengan koordinat yang ditentukan oleh parameter anchorPoint-y>.
TPM_TOPALIGN
0x0000L
Memposisikan jendela pop-up sehingga tepi atasnya diselaraskan dengan koordinat yang ditentukan oleh parameter anchorPoint-y>.
TPM_VCENTERALIGN
0x0010L
Tengahkan jendela pop-up secara vertikal relatif terhadap koordinat yang ditentukan oleh parameter anchorPoint-y>.
 

Gunakan salah satu bendera berikut untuk menentukan apakah akan mengakomodasi perataan horizontal atau vertikal.

Nilai Makna
TPM_HORIZONTAL
0x0000L
Jika jendela pop-up tidak dapat ditampilkan di lokasi yang ditentukan tanpa tumpang tindih persegi panjang yang dikecualikan, sistem mencoba mengakomodasi perataan horizontal yang diminta sebelum perataan vertikal yang diminta.
TPM_VERTICAL
0x0040L
Jika jendela pop-up tidak dapat ditampilkan di lokasi yang ditentukan tanpa tumpang tindih persegi panjang yang dikecualikan, sistem mencoba mengakomodasi perataan vertikal yang diminta sebelum perataan horizontal yang diminta.
 

Bendera berikut tersedia dimulai dengan Windows 7.

Nilai Makna
TPM_WORKAREA
0x10000L
Membatasi jendela pop-up ke dalam area kerja. Jika bendera ini tidak diatur, jendela pop-up dibatasi ke area kerja hanya jika titik input berada dalam area kerja. Untuk informasi selengkapnya, lihat anggota rcWork dan rcMonitor dari struktur MONITORINFO .

[in, optional] excludeRect

Jenis: RECT*

Penunjuk ke struktur yang menentukan persegi panjang pengecualian. Ini bisa NULL.

[out] popupWindowPosition

Jenis: RECT*

Penunjuk ke struktur yang menentukan posisi jendela pop-up.

Menampilkan nilai

Jenis: BOOL

Jika fungsi berhasil, fungsi mengembalikan TRUE; jika tidak, ia mengembalikan FALSE. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

TPM_WORKAREA didukung untuk fungsi TrackPopupMenu dan TrackPopupMenuEx .

Persyaratan

   
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Target Platform Windows
Header winuser.h (sertakan Windows.h)
Pustaka User32.lib
DLL User32.dll

Lihat juga

Referensi

TrackPopupMenu

TrackPopupMenuEx