Bagikan melalui


Fungsi MapDialogRect (winuser.h)

Mengonversi unit kotak dialog yang ditentukan menjadi unit layar (piksel). Fungsi menggantikan koordinat dalam struktur RECT yang ditentukan dengan koordinat yang dikonversi, yang memungkinkan struktur digunakan untuk membuat kotak dialog atau memosisikan kontrol dalam kotak dialog.

Sintaks

BOOL MapDialogRect(
  [in]      HWND   hDlg,
  [in, out] LPRECT lpRect
);

Parameter

[in] hDlg

Jenis: HWND

Handel ke kotak dialog. Fungsi ini hanya menerima handel yang dikembalikan oleh salah satu fungsi pembuatan kotak dialog; handel untuk jendela lain tidak valid.

[in, out] lpRect

Jenis: LPRECT

Penunjuk ke struktur RECT yang berisi koordinat kotak dialog yang akan dikonversi.

Nilai kembali

Jenis: BOOL

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Fungsi MapDialogRect mengasumsikan bahwa koordinat awal dalam struktur RECT mewakili unit kotak dialog. Untuk mengonversi koordinat ini dari unit kotak dialog ke piksel, fungsi mengambil unit dasar horizontal dan vertikal saat ini untuk kotak dialog, lalu menerapkan rumus berikut:


left   = MulDiv(left,   baseunitX, 4);
right  = MulDiv(right,  baseunitX, 4);
top    = MulDiv(top,    baseunitY, 8);
bottom = MulDiv(bottom, baseunitY, 8);

Jika templat kotak dialog memiliki gaya DS_SETFONT atau DS_SHELLFONT , unit dasar adalah lebar dan tinggi rata-rata, dalam piksel, karakter dalam font yang ditentukan oleh templat.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header winuser.h (termasuk Windows.h)
Pustaka User32.lib
DLL User32.dll
Set API ext-ms-win-ntuser-dialogbox-l1-1-2 (diperkenalkan dalam Windows 10, versi 10.0.10240)

Lihat juga

Konseptual

Kotak Dialog

GetDialogBaseUnits

Sumber Daya Lain

RECT

Referensi