CWnd
Kelas
Menyediakan fungsionalitas dasar semua kelas jendela di Pustaka Kelas Microsoft Foundation.
Sintaks
class CWnd : public CCmdTarget
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CWnd::CWnd |
Membuat CWnd objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CWnd::accDoDefaultAction |
Dipanggil oleh kerangka kerja untuk melakukan tindakan default objek. |
CWnd::accHitTest |
Dipanggil oleh kerangka kerja untuk mengambil elemen turunan atau objek turunan pada titik tertentu di layar. |
CWnd::accLocation |
Dipanggil oleh kerangka kerja untuk mengambil lokasi layar objek yang ditentukan saat ini. |
CWnd::accNavigate |
Dipanggil oleh kerangka kerja untuk melintasi elemen antarmuka pengguna lain dalam kontainer dan jika memungkinkan, ambil objek. |
CWnd::accSelect |
Dipanggil oleh kerangka kerja untuk mengubah pilihan atau memindahkan fokus keyboard dari objek yang ditentukan. |
CWnd::AnimateWindow |
Menganimasikan objek jendela terkait. |
CWnd::ArrangeIconicWindows |
Mengatur semua jendela anak yang diminimalkan (ikonik). |
CWnd::Attach |
Melampirkan handel Windows ke CWnd objek. |
CWnd::BeginModalState |
Panggil fungsi anggota ini untuk melakukan modal jendela bingkai. |
CWnd::BeginPaint |
CWnd Bersiap untuk melukis. |
CWnd::BindDefaultProperty |
Mengikat properti terikat sederhana default objek panggilan, seperti yang ditandai dalam pustaka jenis, ke kursor yang terkait dengan kontrol sumber data. |
CWnd::BindProperty |
Mengikat properti terikat kursor pada kontrol terikat data ke kontrol sumber data dan mendaftarkan hubungan tersebut dengan manajer pengikatan MFC. |
CWnd::BringWindowToTop |
CWnd Membawa ke bagian atas tumpukan jendela yang tumpang tindih. |
CWnd::CalcWindowRect |
Dipanggil untuk menghitung persegi panjang jendela dari persegi klien. |
CWnd::CancelToolTips |
Menonaktifkan kontrol tipsalat. |
CWnd::CenterWindow |
Tengahkan jendela relatif terhadap induknya. |
CWnd::ChangeClipboardChain |
CWnd Menghapus dari rantai penampil Clipboard. |
CWnd::CheckDlgButton |
Menempatkan tanda centang di samping atau menghapus tanda centang dari kontrol tombol. |
CWnd::CheckRadioButton |
Memeriksa tombol radio yang ditentukan dan menghapus tanda centang dari semua tombol radio lainnya dalam grup tombol yang ditentukan. |
CWnd::ChildWindowFromPoint |
Menentukan mana, jika ada, dari jendela anak yang berisi titik yang ditentukan. |
CWnd::ClientToScreen |
Mengonversi koordinat klien dari titik atau persegi panjang tertentu pada tampilan ke koordinat layar. |
CWnd::CloseWindow |
Meminimalkan jendela. |
CWnd::ContinueModal |
Melanjutkan status modal jendela. |
CWnd::Create |
Membuat dan menginisialisasi jendela anak yang terkait dengan CWnd objek. |
CWnd::CreateAccessibleProxy |
Membuat proksi Aksesibilitas Aktif untuk objek yang ditentukan. |
CWnd::CreateCaret |
Membuat bentuk baru untuk tanda sisipan sistem dan mendapatkan kepemilikan tanda sisipan. |
CWnd::CreateControl |
Buat kontrol ActiveX yang akan diwakili dalam program MFC oleh CWnd objek. |
CWnd::CreateEx |
Membuat jendela Windows yang tumpang tindih, pop-up, atau turunan dan melampirkannya ke CWnd objek. |
CWnd::CreateGrayCaret |
Membuat blok abu-abu untuk kart sistem dan mendapatkan kepemilikan tanda sisipan. |
CWnd::CreateSolidCaret |
Membuat blok padat untuk caret sistem dan mendapatkan kepemilikan caret. |
CWnd::DeleteTempMap |
Dipanggil secara otomatis oleh CWinApp handler idle-time dan menghapus objek sementara CWnd yang dibuat oleh FromHandle . |
CWnd::DestroyWindow |
Menghancurkan jendela Windows yang terpasang. |
CWnd::Detach |
Mencopot handel Windows dari CWnd objek dan mengembalikan handel. |
CWnd::DlgDirList |
Mengisi kotak daftar dengan daftar file atau direktori. |
CWnd::DlgDirListComboBox |
Mengisi kotak daftar kotak kombo dengan daftar file atau direktori. |
CWnd::DlgDirSelect |
Mengambil pilihan saat ini dari kotak daftar. |
CWnd::DlgDirSelectComboBox |
Mengambil pilihan saat ini dari kotak daftar kotak kombo. |
CWnd::DragAcceptFiles |
Menunjukkan jendela akan menerima file yang diseret. |
CWnd::DragDetect |
Mengambil mouse dan melacak gerakannya hingga pengguna melepaskan tombol kiri, menekan tombol ESC, atau memindahkan mouse ke luar persegi panjang seret di sekitar titik yang ditentukan. |
CWnd::DrawAnimatedRects |
Menggambar persegi panjang bingkai kawat dan menganimasikannya untuk menunjukkan pembukaan ikon atau meminimalkan atau memaksimalkan jendela. |
CWnd::DrawCaption |
Menggambar keterangan. |
CWnd::DrawMenuBar |
Mengurai ulang bilah menu. |
CWnd::EnableActiveAccessibility |
Mengaktifkan fungsi yang ditentukan Active Accessibility pengguna. |
CWnd::EnableDynamicLayout |
Memungkinkan posisi dan ukuran jendela anak untuk menyesuaikan secara dinamis saat pengguna mengubah ukuran jendela. |
CWnd::EnableD2DSupport |
Mengaktifkan atau menonaktifkan dukungan jendela D2D . Panggil metode ini sebelum jendela utama diinisialisasi. |
CWnd::EnableScrollBar |
Mengaktifkan atau menonaktifkan satu atau kedua panah bilah gulir. |
CWnd::EnableScrollBarCtrl |
Mengaktifkan atau menonaktifkan kontrol bilah gulir saudara. |
CWnd::EnableToolTips |
Mengaktifkan kontrol tipsalat. |
CWnd::EnableTrackingToolTips |
Mengaktifkan kontrol tipsalat dalam mode pelacakan. |
CWnd::EnableWindow |
Mengaktifkan atau menonaktifkan input mouse dan keyboard. |
CWnd::EndModalLoop |
Mengakhiri status modal jendela. |
CWnd::EndModalState |
Panggil fungsi anggota ini untuk mengubah jendela bingkai dari modal ke modeless. |
CWnd::EndPaint |
Menandai akhir lukisan. |
CWnd::ExecuteDlgInit |
Memulai sumber daya dialog. |
CWnd::FilterToolTipMessage |
Mengambil judul atau teks yang terkait dengan kontrol dalam kotak dialog. |
CWnd::FindWindow |
Mengembalikan handel jendela, yang diidentifikasi oleh nama jendela dan kelas jendelanya. |
CWnd::FindWindowEx |
Mengembalikan handel jendela, yang diidentifikasi oleh nama jendela dan kelas jendelanya. |
CWnd::FlashWindow |
Berkedipkan jendela sekali. |
CWnd::FlashWindowEx |
Mem-flash jendela dengan fungsionalitas tambahan. |
CWnd::FromHandle |
Mengembalikan penunjuk ke CWnd objek saat diberikan handel ke jendela. CWnd Jika objek tidak dilampirkan ke handel, objek sementara CWnd dibuat dan dilampirkan. |
CWnd::FromHandlePermanent |
Mengembalikan penunjuk ke CWnd objek saat diberikan handel ke jendela. |
CWnd::get_accChild |
Dipanggil oleh kerangka kerja untuk mengambil alamat IDispatch antarmuka untuk anak yang ditentukan. |
CWnd::get_accChildCount |
Dipanggil oleh kerangka kerja untuk mengambil jumlah anak milik objek ini. |
CWnd::get_accDefaultAction |
Dipanggil oleh kerangka kerja untuk mengambil string yang menjelaskan tindakan default objek. |
CWnd::get_accDescription |
Dipanggil oleh kerangka kerja untuk mengambil string yang menjelaskan tampilan visual objek yang ditentukan. |
CWnd::get_accFocus |
Dipanggil oleh kerangka kerja untuk mengambil objek yang memiliki fokus keyboard. |
CWnd::get_accHelp |
Dipanggil oleh kerangka kerja untuk mengambil string properti Bantuan objek. |
CWnd::get_accHelpTopic |
Dipanggil oleh kerangka kerja untuk mengambil jalur lengkap file yang WinHelp terkait dengan objek yang ditentukan dan pengidentifikasi topik yang sesuai dalam file tersebut. |
CWnd::get_accKeyboardShortcut |
Dipanggil oleh kerangka kerja untuk mengambil kunci pintasan atau kunci akses objek yang ditentukan. |
CWnd::get_accName |
Dipanggil oleh kerangka kerja untuk mengambil nama objek yang ditentukan. |
CWnd::get_accParent |
Dipanggil oleh kerangka kerja untuk mengambil IDispatch antarmuka induk objek. |
CWnd::get_accRole |
Dipanggil oleh kerangka kerja untuk mengambil informasi yang menjelaskan peran objek yang ditentukan. |
CWnd::get_accSelection |
Dipanggil oleh kerangka kerja untuk mengambil anak terpilih dari objek ini. |
CWnd::get_accState |
Dipanggil oleh kerangka kerja untuk mengambil status objek yang ditentukan saat ini. |
CWnd::get_accValue |
Dipanggil oleh kerangka kerja untuk mengambil nilai objek yang ditentukan. |
CWnd::GetActiveWindow |
Mengambil jendela aktif. |
CWnd::GetAncestor |
Mengambil objek jendela leluhur dari jendela yang ditentukan. |
CWnd::GetCapture |
Mengambil CWnd yang memiliki tangkapan mouse. |
CWnd::GetCaretPos |
Mengambil koordinat klien dari posisi caret saat ini. |
CWnd::GetCheckedRadioButton |
Mengembalikan ID tombol radio yang saat ini dicentang dalam sekelompok tombol. |
CWnd::GetClientRect |
Mendapatkan dimensi CWnd area klien. |
CWnd::GetClipboardOwner |
Mengambil penunjuk ke pemilik Clipboard saat ini. |
CWnd::GetClipboardViewer |
Mengambil penunjuk ke jendela pertama dalam rantai penampil Clipboard. |
CWnd::GetControlUnknown |
Mengambil penunjuk ke kontrol ActiveX yang tidak diketahui. |
CWnd::GetDC |
Mengambil konteks tampilan untuk area klien. |
CWnd::GetDCEx |
Mengambil konteks tampilan untuk area klien, dan mengaktifkan kliping saat menggambar. |
CWnd::GetDCRenderTarget |
Mengambil target render konteks perangkat (DC) untuk CWnd jendela. |
CWnd::GetDescendantWindow |
Mencari semua jendela turunan dan mengembalikan jendela dengan ID yang ditentukan. |
CWnd::GetDesktopWindow |
Mengambil jendela desktop Windows. |
CWnd::GetDlgCtrlID |
CWnd Jika adalah jendela anak, memanggil fungsi ini mengembalikan nilai ID-nya. |
CWnd::GetDlgItem |
Mengambil kontrol dengan ID yang ditentukan dari kotak dialog yang ditentukan. |
CWnd::GetDlgItemInt |
Menerjemahkan teks kontrol dalam kotak dialog yang diberikan ke nilai bilangan bulat. |
CWnd::GetDlgItemText |
Mengambil keterangan atau teks yang terkait dengan kontrol. |
CWnd::GetDSCCursor |
Mengambil penunjuk ke kursor dasar yang ditentukan oleh properti DataSource, UserName, Password, dan SQL dari kontrol sumber data. |
CWnd::GetDynamicLayout |
Mengambil penunjuk ke objek manajer tata letak dinamis. |
CWnd::GetExStyle |
Mengembalikan gaya jendela yang diperluas. |
CWnd::GetFocus |
CWnd Mengambil yang saat ini memiliki fokus input. |
CWnd::GetFont |
Mengambil font saat ini. |
CWnd::GetForegroundWindow |
Mengembalikan penunjuk ke jendela latar depan (jendela tingkat atas tempat pengguna saat ini bekerja). |
CWnd::GetIcon |
Mengambil handel ke ikon. |
CWnd::GetLastActivePopup |
Menentukan jendela pop-up mana yang dimiliki oleh CWnd yang terakhir aktif. |
CWnd::GetLayeredWindowAttributes |
Mengambil kunci warna opasitas dan transparansi dari jendela berlapis. |
CWnd::GetMenu |
Mengambil penunjuk ke menu yang ditentukan. |
CWnd::GetNextDlgGroupItem |
Mencari kontrol berikutnya (atau sebelumnya) dalam sekelompok kontrol. |
CWnd::GetNextDlgTabItem |
Mengambil kontrol pertama dengan WS_TABSTOP gaya yang mengikuti (atau mendahului) kontrol yang ditentukan. |
CWnd::GetNextWindow |
Mengembalikan jendela berikutnya (atau sebelumnya) dalam daftar manajer jendela. |
CWnd::GetOleControlSite |
Mengambil situs kustom untuk kontrol ActiveX yang ditentukan. |
CWnd::GetOpenClipboardWindow |
Mengambil penunjuk ke jendela yang saat ini membuka Papan Klip. |
CWnd::GetOwner |
Mengambil penunjuk ke pemilik CWnd . |
CWnd::GetParent |
Mengambil jendela CWnd induk (jika ada). |
CWnd::GetParentFrame |
CWnd Mengambil jendela bingkai induk objek. |
CWnd::GetParentOwner |
Mengembalikan penunjuk ke jendela induk jendela anak. |
CWnd::GetProperty |
Mengambil properti kontrol ActiveX. |
CWnd::GetRenderTarget |
Mendapatkan target render yang terkait dengan jendela ini. |
CWnd::GetSafeHwnd |
Mengembalikan m_hWnd , atau NULL jika penunjuk this adalah NULL. |
CWnd::GetSafeOwner |
Mengambil pemilik yang aman untuk jendela yang diberikan. |
CWnd::GetScrollBarCtrl |
Mengembalikan kontrol bilah gulir saudara. |
CWnd::GetScrollBarInfo |
Mengambil informasi tentang bilah gulir yang ditentukan. |
CWnd::GetScrollInfo |
Mengambil informasi yang dipertahankan SCROLLINFO struktur tentang bilah gulir. |
CWnd::GetScrollLimit |
Mengambil batas bilah gulir. |
CWnd::GetScrollPos |
Mengambil posisi kotak gulir saat ini. |
CWnd::GetScrollRange |
Menyalin posisi bilah gulir minimum dan maksimum saat ini untuk bilah gulir yang diberikan. |
CWnd::GetStyle |
Mengembalikan gaya jendela saat ini. |
CWnd::GetSystemMenu |
Memungkinkan aplikasi mengakses menu Kontrol untuk penyalinan dan modifikasi. |
CWnd::GetTitleBarInfo |
Mengambil informasi tentang bilah judul yang ditentukan. |
CWnd::GetTopLevelFrame |
Mengambil jendela bingkai tingkat atas jendela. |
CWnd::GetTopLevelOwner |
Mengambil jendela tingkat atas. |
CWnd::GetTopLevelParent |
Mengambil induk tingkat atas jendela. |
CWnd::GetTopWindow |
Mengembalikan jendela anak pertama milik CWnd . |
CWnd::GetUpdateRect |
Mengambil koordinat persegi terkecil yang sepenuhnya menutupi CWnd wilayah pembaruan. |
CWnd::GetUpdateRgn |
Mengambil CWnd wilayah pembaruan. |
CWnd::GetWindow |
Mengembalikan jendela dengan hubungan yang ditentukan ke jendela ini. |
CWnd::GetWindowContextHelpId |
Mengambil pengidentifikasi konteks bantuan. |
CWnd::GetWindowDC |
Mengambil konteks tampilan untuk seluruh jendela, termasuk bilah keterangan, menu, dan bilah gulir. |
CWnd::GetWindowedChildCount |
Mengembalikan jumlah jendela anak terkait. |
CWnd::GetWindowInfo |
Mengembalikan informasi tentang jendela. |
CWnd::GetWindowlessChildCount |
Mengembalikan jumlah jendela anak tanpa jendela terkait. |
CWnd::GetWindowPlacement |
Mengambil status pertunjukan dan posisi normal (dipulihkan), diminimalkan, dan dimaksimalkan dari jendela. |
CWnd::GetWindowRect |
Mendapatkan koordinat layar .CWnd |
CWnd::GetWindowRgn |
Mengambil salinan wilayah jendela jendela. |
CWnd::GetWindowText |
Mengembalikan teks jendela atau judul keterangan (jika memilikinya). |
CWnd::GetWindowTextLength |
Mengembalikan panjang teks atau judul keterangan jendela. |
CWnd::HideCaret |
Menyembunyikan tanda sisipan dengan menghapusnya dari layar tampilan. |
CWnd::HiliteMenuItem |
Menyoroti atau menghapus penyorotan dari item menu tingkat atas (bilah menu). |
CWnd::HtmlHelp |
Dipanggil untuk memulai aplikasi HTMLHelp. |
CWnd::Invalidate |
Membatalkan validasi seluruh area klien. |
CWnd::InvalidateRect |
Membatalkan validasi area klien dalam persegi panjang yang diberikan dengan menambahkan persegi panjang tersebut ke wilayah pembaruan saat ini. |
CWnd::InvalidateRgn |
Membatalkan validasi area klien dalam wilayah tertentu dengan menambahkan wilayah tersebut ke wilayah pembaruan saat ini. |
CWnd::InvokeHelper |
Memanggil metode atau properti kontrol ActiveX. |
CWnd::IsChild |
Menunjukkan apakah CWnd merupakan jendela anak atau turunan langsung lainnya dari jendela yang ditentukan. |
CWnd::IsD2DSupportEnabled |
Menentukan apakah dukungan D2D diaktifkan. |
CWnd::IsDialogMessage |
Menentukan apakah pesan yang diberikan ditujukan untuk kotak dialog tanpa mode dan, jika demikian, memprosesnya. |
CWnd::IsDlgButtonChecked |
Menentukan apakah kontrol tombol dicentang. |
CWnd::IsDynamicLayoutEnabled |
Menentukan apakah tata letak dinamis diaktifkan pada jendela ini. Jika tata letak dinamis diaktifkan, posisi dan ukuran jendela anak dapat berubah saat pengguna mengubah ukuran jendela induk. |
CWnd::IsIconic |
Menentukan apakah CWnd diminimalkan (ikonik). |
CWnd::IsTouchWindow |
Menentukan apakah CWnd memiliki dukungan sentuhan. |
CWnd::IsWindowEnabled |
Menentukan apakah jendela diaktifkan untuk input mouse dan keyboard. |
CWnd::IsWindowVisible |
Menentukan apakah jendela terlihat. |
CWnd::IsZoomed |
Menentukan apakah CWnd dimaksimalkan. |
CWnd::KillTimer |
Membunuh timer sistem. |
CWnd::LockWindowUpdate |
Menonaktifkan atau mengaktifkan kembali gambar di jendela yang diberikan. |
CWnd::MapWindowPoints |
Mengonversi (peta) sekumpulan titik dari ruang CWnd koordinat ke ruang koordinat jendela lain. |
CWnd::MessageBox |
Membuat dan menampilkan jendela yang berisi pesan dan keterangan yang disediakan aplikasi. |
CWnd::ModifyStyle |
Mengubah gaya jendela saat ini. |
CWnd::ModifyStyleEx |
Memodifikasi gaya jendela yang diperluas. |
CWnd::MoveWindow |
Mengubah posisi dan dimensi CWnd . |
CWnd::NotifyWinEvent |
Menandakan sistem bahwa peristiwa yang telah ditentukan terjadi. |
CWnd::OnAmbientProperty |
Menerapkan nilai properti sekitar. |
CWnd::OnDrawIconicThumbnailOrLivePreview |
Dipanggil oleh kerangka kerja ketika perlu mendapatkan bitmap untuk ditampilkan pada gambar mini tab Windows 7, atau pada klien untuk mengintip aplikasi. |
CWnd::OnHelp |
Menangani Bantuan F1 dalam aplikasi (menggunakan konteks saat ini). |
CWnd::OnHelpFinder |
ID_HELP_FINDER Menangani perintah dan ID_DEFAULT_HELP . |
CWnd::OnHelpIndex |
ID_HELP_INDEX Menangani perintah dan menyediakan topik Bantuan default. |
CWnd::OnHelpUsing |
ID_HELP_USING Menangani perintah. |
CWnd::OnToolHitTest |
Menentukan apakah titik berada di persegi panjang pembatas alat yang ditentukan dan mengambil informasi tentang alat tersebut. |
CWnd::OpenClipboard |
Membuka Papan Klip. Aplikasi lain tidak akan dapat mengubah Clipboard sampai fungsi Windows CloseClipboard dipanggil. |
CWnd::PaintWindowlessControls |
Menggambar kontrol tanpa jendela pada kontainer kontrol. |
CWnd::PostMessage |
Tempatkan pesan dalam antrean aplikasi, lalu kembali tanpa menunggu jendela memproses pesan. |
CWnd::PreCreateWindow |
Dipanggil sebelum pembuatan jendela Windows yang terpasang pada objek ini CWnd . |
CWnd::PreSubclassWindow |
Memungkinkan subkelas lain yang diperlukan terjadi sebelumnya SubclassWindow dipanggil. |
CWnd::PreTranslateMessage |
Digunakan oleh CWinApp untuk memfilter pesan jendela sebelum dikirim ke TranslateMessage fungsi Windows dan DispatchMessage . |
CWnd::Print |
Menggambar jendela saat ini dalam konteks perangkat yang ditentukan. |
CWnd::PrintClient |
Menggambar jendela apa pun dalam konteks perangkat yang ditentukan (biasanya konteks perangkat printer). |
CWnd::PrintWindow |
Menyalin jendela visual ke dalam konteks perangkat yang ditentukan, biasanya DC printer. |
CWnd::RedrawWindow |
Memperbarui persegi panjang atau wilayah yang ditentukan di area klien. |
CWnd::RegisterTouchWindow |
Daftar/Batalkan pendaftaran jendela dukungan sentuh Windows. |
CWnd::ReleaseDC |
Merilis konteks perangkat klien dan jendela, membebaskannya untuk digunakan oleh aplikasi lain. |
CWnd::RepositionBars |
Bilah kontrol reposisi di area klien. |
CWnd::RunModalLoop |
Mengambil, menerjemahkan, atau mengirimkan pesan untuk jendela yang dalam status modal. |
CWnd::ScreenToClient |
Mengonversi koordinat layar titik atau persegi panjang tertentu pada tampilan ke koordinat klien. |
CWnd::ScrollWindow |
Menggulir konten area klien. |
CWnd::ScrollWindowEx |
Menggulir konten area klien. Mirip ScrollWindow dengan , dengan fitur tambahan. |
CWnd::SendChildNotifyLastMsg |
Menyediakan pesan pemberitahuan ke jendela anak, dari jendela induk, sehingga jendela anak dapat menangani tugas. |
CWnd::SendDlgItemMessage |
Mengirim pesan ke kontrol yang ditentukan. |
CWnd::SendMessage |
Mengirim pesan ke CWnd objek dan tidak kembali hingga pesan diproses. |
CWnd::SendMessageToDescendants |
Mengirim pesan ke semua jendela turunan jendela. |
CWnd::SendNotifyMessage |
Mengirim pesan yang ditentukan ke jendela dan mengembalikan sesegera mungkin, tergantung pada apakah utas panggilan membuat jendela. |
CWnd::SetActiveWindow |
Mengaktifkan jendela. |
CWnd::SetCapture |
Menyebabkan semua input mouse berikutnya dikirim ke CWnd . |
CWnd::SetCaretPos |
Memindahkan tanda sisipan ke posisi tertentu. |
CWnd::SetClipboardViewer |
CWnd Menambahkan ke rantai jendela yang diberi tahu setiap kali konten Clipboard diubah. |
CWnd::SetDlgCtrlID |
Mengatur jendela atau ID kontrol untuk jendela (yang dapat berupa jendela turunan apa pun, tidak hanya kontrol dalam kotak dialog). |
CWnd::SetDlgItemInt |
Mengatur teks kontrol ke string yang mewakili nilai bilangan bulat. |
CWnd::SetDlgItemText |
Mengatur keterangan atau teks kontrol dalam kotak dialog yang ditentukan. |
CWnd::SetFocus |
Mengklaim fokus input. |
CWnd::SetFont |
Menyetel font saat ini. |
CWnd::SetForegroundWindow |
Menempatkan utas yang membuat jendela ke latar depan dan mengaktifkan jendela. |
CWnd::SetIcon |
Mengatur handel ke ikon tertentu. |
CWnd::SetLayeredWindowAttributes |
Mengatur kunci warna opasitas dan transparansi dari jendela berlapis. |
CWnd::SetMenu |
Mengatur menu ke menu yang ditentukan. |
CWnd::SetOwner |
Mengubah pemilik CWnd . |
CWnd::SetParent |
Mengubah jendela induk. |
CWnd::SetProperty |
Mengatur properti kontrol ActiveX. |
CWnd::SetRedraw |
Memungkinkan perubahan untuk digambar CWnd ulang atau mencegah perubahan digambar ulang. |
CWnd::SetScrollInfo |
Mengatur informasi tentang bilah gulir. |
CWnd::SetScrollPos |
Mengatur posisi kotak gulir saat ini dan, jika ditentukan, menggambar ulang bilah gulir untuk mencerminkan posisi baru. |
CWnd::SetScrollRange |
Mengatur nilai posisi minimum dan maksimum untuk bilah gulir yang diberikan. |
CWnd::SetTimer |
Menginstal timer sistem yang mengirim WM_TIMER pesan saat dipicu. |
CWnd::SetWindowContextHelpId |
Mengatur pengidentifikasi konteks bantuan. |
CWnd::SetWindowPlacement |
Mengatur status peragaan dan posisi normal (dipulihkan), diminimalkan, dan dimaksimalkan untuk jendela. |
CWnd::SetWindowPos |
Mengubah ukuran, posisi, dan urutan jendela anak, pop-up, dan tingkat atas. |
CWnd::SetWindowRgn |
Mengatur wilayah jendela. |
CWnd::SetWindowText |
Mengatur teks jendela atau judul keterangan (jika memilikinya) ke teks yang ditentukan. |
CWnd::ShowCaret |
Memperlihatkan tanda sisipan pada tampilan pada posisi caret saat ini. Setelah ditampilkan, tanda sisipan mulai berkedip secara otomatis. |
CWnd::ShowOwnedPopups |
Menampilkan atau menyembunyikan semua jendela pop-up yang dimiliki oleh jendela. |
CWnd::ShowScrollBar |
Menampilkan atau menyembunyikan bilah gulir. |
CWnd::ShowWindow |
Menampilkan atau menyembunyikan jendela. |
CWnd::SubclassDlgItem |
Melampirkan kontrol Windows ke CWnd objek dan membuatnya merutekan CWnd pesan melalui peta pesan. |
CWnd::SubclassWindow |
Melampirkan jendela ke CWnd objek dan membuatnya merutekan CWnd pesan melalui peta pesan. |
CWnd::UnlockWindowUpdate |
Membuka kunci jendela yang dikunci dengan CWnd::LockWindowUpdate . |
CWnd::UnsubclassWindow |
Mencopot jendela dari CWnd objek |
CWnd::UpdateData |
Menginisialisasi atau mengambil data dari kotak dialog. |
CWnd::UpdateDialogControls |
Panggil untuk memperbarui status tombol dialog dan kontrol lainnya. |
CWnd::UpdateLayeredWindow |
Memperbarui posisi, ukuran, bentuk, konten, dan transparansi jendela berlapis. |
CWnd::UpdateWindow |
Memperbarui area klien. |
CWnd::ValidateRect |
Memvalidasi area klien dalam persegi panjang yang diberikan dengan menghapus persegi panjang dari wilayah pembaruan saat ini. |
CWnd::ValidateRgn |
Memvalidasi area klien dalam wilayah tertentu dengan menghapus wilayah dari wilayah pembaruan saat ini. |
CWnd::WindowFromPoint |
Mengidentifikasi jendela yang berisi titik yang diberikan. |
CWnd::WinHelp |
Dipanggil untuk memulai aplikasi WinHelp. |
Metode yang Dilindungi
Nama | Deskripsi |
---|---|
CWnd::Default |
Memanggil prosedur jendela default, yang menyediakan pemrosesan default untuk pesan jendela apa pun yang tidak diproses aplikasi. |
CWnd::DefWindowProc |
Memanggil prosedur jendela default, yang menyediakan pemrosesan default untuk pesan jendela apa pun yang tidak diproses aplikasi. |
CWnd::DoDataExchange |
Untuk pertukaran dan validasi data dialog. Dipanggil oleh UpdateData . |
CWnd::GetCurrentMessage |
Mengembalikan penunjuk ke pesan yang sedang diproses oleh jendela ini. Hanya boleh dipanggil ketika dalam On Message fungsi anggota penanganan pesan. |
CWnd::InitDynamicLayout |
Dipanggil oleh kerangka kerja untuk menginisialisasi tata letak dinamis untuk jendela. |
CWnd::LoadDynamicLayoutResource |
Memuat informasi tata letak dinamis dari file sumber daya. |
CWnd::OnActivate |
Dipanggil ketika CWnd sedang diaktifkan atau dinonaktifkan. |
CWnd::OnActivateApp |
Dipanggil ketika aplikasi akan diaktifkan atau dinonaktifkan. |
CWnd::OnAppCommand |
Dipanggil saat pengguna menghasilkan peristiwa perintah aplikasi. |
CWnd::OnAskCbFormatName |
Dipanggil oleh aplikasi penampil Clipboard ketika pemilik Clipboard akan menampilkan konten Clipboard. |
CWnd::OnCancelMode |
Dipanggil untuk mengizinkan CWnd pembatalan mode internal apa pun, seperti penangkapan mouse. |
CWnd::OnCaptureChanged |
Mengirim pesan ke jendela yang kehilangan tangkapan mouse. |
CWnd::OnChangeCbChain |
Memberi tahu bahwa jendela tertentu sedang dihapus dari rantai. |
CWnd::OnChangeUIState |
Dipanggil ketika status antarmuka pengguna (UI) harus diubah. |
CWnd::OnChar |
Dipanggil ketika penekanan tombol diterjemahkan ke karakter non-sistem. |
CWnd::OnCharToItem |
Dipanggil oleh kotak daftar anak dengan LBS_WANTKEYBOARDINPUT gaya sebagai respons terhadap pesan WM_CHAR . |
CWnd::OnChildActivate |
Dipanggil untuk beberapa jendela anak antarmuka dokumen (MDI) setiap kali ukuran atau posisi CWnd perubahan atau CWnd diaktifkan. |
CWnd::OnChildNotify |
Dipanggil oleh jendela induk untuk memberi tahu kontrol kesempatan untuk merespons pemberitahuan kontrol. |
CWnd::OnClipboardUpdate |
Dipanggil ketika isi papan klip telah berubah. |
CWnd::OnClose |
Disebut sebagai sinyal yang CWnd harus ditutup. |
CWnd::OnColorizationColorChanged |
Dipanggil ketika kebijakan penyajian untuk area non-klien telah berubah. |
CWnd::OnCommand |
Dipanggil saat pengguna memilih perintah. |
CWnd::OnCompacting |
Dipanggil ketika Windows mendeteksi bahwa memori sistem rendah. |
CWnd::OnCompareItem |
Dipanggil untuk menentukan posisi relatif item baru dalam kotak kombo atau kotak daftar gambar pemilik yang diurutkan anak. |
CWnd::OnCompositionChanged |
Dipanggil untuk semua jendela tingkat atas ketika komposisi Desktop Window Manager (DWM) diaktifkan atau dinonaktifkan. |
CWnd::OnContextMenu |
Dipanggil ketika pengguna mengklik tombol kanan mouse di jendela. |
CWnd::OnCopyData |
Menyalin data dari satu aplikasi ke aplikasi lain. |
CWnd::OnCreate |
Disebut sebagai bagian dari pembuatan jendela. |
CWnd::OnCtlColor |
Dipanggil jika CWnd adalah induk kontrol ketika kontrol akan digambar. |
CWnd::OnDeadChar |
Dipanggil ketika penekanan tombol diterjemahkan ke karakter mati nonsystem (seperti karakter aksen). |
CWnd::OnDeleteItem |
Dipanggil saat kotak daftar anak gambar pemilik atau kotak kombo dihancurkan atau ketika item dihapus dari kontrol. |
CWnd::OnDestroy |
Dipanggil ketika CWnd sedang dihancurkan. |
CWnd::OnDestroyClipboard |
Dipanggil ketika Clipboard dikosongkan melalui panggilan ke fungsi Windows EmptyClipboard . |
CWnd::OnDeviceChange |
Memberi tahu aplikasi atau driver perangkat tentang perubahan pada konfigurasi perangkat keras perangkat atau komputer. |
CWnd::OnDevModeChange |
Dipanggil untuk semua jendela tingkat atas ketika pengguna mengubah pengaturan mode perangkat. |
CWnd::OnDrawClipboard |
Dipanggil ketika konten Clipboard berubah. |
CWnd::OnDrawItem |
Dipanggil saat aspek visual kontrol tombol anak gambar pemilik, kontrol kotak kombo, kontrol kotak daftar, atau menu perlu digambar. |
CWnd::OnDropFiles |
Dipanggil ketika pengguna merilis tombol mouse kiri di atas jendela yang telah mendaftarkan dirinya sebagai penerima file yang dihilangkan. |
CWnd::OnEnable |
Dipanggil saat CWnd diaktifkan atau dinonaktifkan. |
CWnd::OnEndSession |
Dipanggil ketika sesi berakhir. |
CWnd::OnEnterIdle |
Dipanggil untuk menginformasikan prosedur jendela utama aplikasi bahwa kotak dialog modal atau menu memasuki status diam. |
CWnd::OnEnterMenuLoop |
Dipanggil ketika perulangan modal menu telah dimasukkan. |
CWnd::OnEnterSizeMove |
Dipanggil setelah jendela yang terpengaruh memasuki perulangan modal bergerak atau ukuran. |
CWnd::OnEraseBkgnd |
Dipanggil ketika latar belakang jendela perlu dihapus. |
CWnd::OnExitMenuLoop |
Dipanggil ketika perulangan modal menu telah keluar. |
CWnd::OnExitSizeMove |
Dipanggil setelah jendela yang terpengaruh keluar dari perulangan modal pemindahan atau ukuran. |
CWnd::OnFontChange |
Dipanggil ketika kumpulan sumber daya font berubah. |
CWnd::OnGetDlgCode |
Dipanggil untuk kontrol sehingga kontrol dapat memproses tombol panah dan input tombol TAB itu sendiri. |
CWnd::OnGetMinMaxInfo |
Dipanggil setiap kali Windows perlu mengetahui posisi atau dimensi yang dimaksimalkan, atau ukuran pelacakan minimum atau maksimum. |
CWnd::OnHelpInfo |
Dipanggil oleh kerangka kerja saat pengguna menekan tombol F1. |
CWnd::OnHotKey |
Dipanggil ketika pengguna menekan tombol panas di seluruh sistem. |
CWnd::OnHScroll |
Dipanggil saat pengguna mengklik bilah gulir horizontal .CWnd |
CWnd::OnHScrollClipboard |
Dipanggil saat pemilik Clipboard harus menggulir gambar Clipboard, membatalkan bagian yang sesuai, dan memperbarui nilai bilah gulir. |
CWnd::OnIconEraseBkgnd |
Dipanggil ketika CWnd diminimalkan (ikonik) dan latar belakang ikon harus diisi sebelum melukis ikon. |
CWnd::OnInitMenu |
Dipanggil ketika menu akan menjadi aktif. |
CWnd::OnInitMenuPopup |
Dipanggil ketika menu pop-up akan menjadi aktif. |
CWnd::OnInputDeviceChange |
Dipanggil ketika perangkat I/O ditambahkan atau dihapus dari sistem. |
CWnd::OnInputLangChange |
Dipanggil setelah bahasa input aplikasi diubah. |
CWnd::OnInputLangChangeRequest |
Dipanggil saat pengguna memilih bahasa input baru. |
CWnd::OnKeyDown |
Dipanggil saat tombol nonsystem ditekan. |
CWnd::OnKeyUp |
Dipanggil ketika kunci nonsystem dirilis. |
CWnd::OnKillFocus |
Dipanggil segera sebelum CWnd kehilangan fokus input. |
CWnd::OnLButtonDblClk |
Dipanggil ketika pengguna mengklik dua kali tombol mouse kiri. |
CWnd::OnLButtonDown |
Dipanggil ketika pengguna menekan tombol mouse kiri. |
CWnd::OnLButtonUp |
Dipanggil saat pengguna merilis tombol mouse kiri. |
CWnd::OnMButtonDblClk |
Dipanggil ketika pengguna mengklik dua kali tombol mouse tengah. |
CWnd::OnMButtonDown |
Dipanggil ketika pengguna menekan tombol mouse tengah. |
CWnd::OnMButtonUp |
Dipanggil ketika pengguna merilis tombol mouse tengah. |
CWnd::OnMDIActivate |
Dipanggil ketika jendela anak MDI diaktifkan atau dinonaktifkan. |
CWnd::OnMeasureItem |
Dipanggil untuk kotak kombo anak gambar pemilik, kotak daftar, atau item menu saat kontrol dibuat. CWnd menginformasikan Windows tentang dimensi kontrol. |
CWnd::OnMenuChar |
Dipanggil ketika pengguna menekan karakter mnemonic menu yang tidak cocok dengan mnemonic yang telah ditentukan sebelumnya di menu saat ini. |
CWnd::OnMenuDrag |
Dipanggil saat pengguna mulai menyeret item menu. |
CWnd::OnMenuGetObject |
Dipanggil ketika kursor mouse memasukkan item menu atau berpindah dari tengah item ke bagian atas atau bawah item. |
CWnd::OnMenuRButtonUp |
Dipanggil saat pengguna merilis tombol kanan mouse saat kursor berada pada item menu. |
CWnd::OnMenuSelect |
Dipanggil saat pengguna memilih item menu. |
CWnd::OnMouseActivate |
Dipanggil ketika kursor berada di jendela tidak aktif dan pengguna menekan tombol mouse. |
CWnd::OnMouseHover |
Dipanggil ketika kursor mengarahkan kursor ke area klien jendela untuk jangka waktu yang ditentukan dalam panggilan sebelumnya ke TrackMouseEvent . |
CWnd::OnMouseHWheel |
Dipanggil ketika roda gulir horizontal mouse miring atau diputar. |
CWnd::OnMouseLeave |
Dipanggil ketika kursor meninggalkan area klien dari jendela yang ditentukan dalam panggilan sebelumnya ke TrackMouseEvent . |
CWnd::OnMouseMove |
Dipanggil ketika kursor mouse bergerak. |
CWnd::OnMouseWheel |
Dipanggil saat pengguna memutar roda mouse. Menggunakan penanganan pesan Windows NT 4.0. |
CWnd::OnMove |
Dipanggil setelah posisi CWnd telah diubah. |
CWnd::OnMoving |
Menunjukkan bahwa pengguna memindahkan CWnd objek. |
CWnd::OnNcActivate |
Dipanggil ketika area non-klien perlu diubah untuk menunjukkan status aktif atau tidak aktif. |
CWnd::OnNcCalcSize |
Dipanggil ketika ukuran dan posisi area klien perlu dihitung. |
CWnd::OnNcCreate |
Dipanggil sebelum OnCreate ketika area non-klien sedang dibuat. |
CWnd::OnNcDestroy |
Dipanggil ketika area non-klien sedang dihancurkan. |
CWnd::OnNcHitTest |
Dipanggil oleh Windows setiap kali mouse dipindahkan jika CWnd berisi kursor atau telah menangkap input mouse dengan SetCapture . |
CWnd::OnNcLButtonDblClk |
Dipanggil ketika pengguna mengklik dua kali tombol mouse kiri saat kursor berada dalam area CWnd non-klien . |
CWnd::OnNcLButtonDown |
Dipanggil ketika pengguna menekan tombol mouse kiri saat kursor berada dalam area non-klien .CWnd |
CWnd::OnNcLButtonUp |
Dipanggil ketika pengguna merilis tombol mouse kiri saat kursor berada dalam area non-klien .CWnd |
CWnd::OnNcMButtonDblClk |
Dipanggil ketika pengguna mengklik dua kali tombol mouse tengah saat kursor berada dalam area CWnd non-klien . |
CWnd::OnNcMButtonDown |
Dipanggil ketika pengguna menekan tombol mouse tengah saat kursor berada dalam area non-klien .CWnd |
CWnd::OnNcMButtonUp |
Dipanggil ketika pengguna merilis tombol mouse tengah saat kursor berada dalam area non-klien .CWnd |
CWnd::OnNcMouseHover |
Dipanggil ketika kursor mengarahkan kursor ke area non-klien jendela untuk jangka waktu yang ditentukan dalam panggilan sebelumnya ke TrackMouseEvent . |
CWnd::OnNcMouseLeave |
Kerangka kerja memanggil fungsi anggota ini ketika kursor meninggalkan area non-klien dari jendela yang ditentukan dalam panggilan sebelumnya ke TrackMouseEvent . |
CWnd::OnNcMouseMove |
Dipanggil ketika kursor dipindahkan dalam area non-klien .CWnd |
CWnd::OnNcPaint |
Dipanggil ketika area non-klien membutuhkan pengecatan. |
CWnd::OnNcRButtonDblClk |
Dipanggil ketika pengguna mengklik dua kali tombol kanan mouse saat kursor berada dalam area non-klien .CWnd |
CWnd::OnNcRButtonDown |
Dipanggil ketika pengguna menekan tombol kanan mouse saat kursor berada dalam area non-klien .CWnd |
CWnd::OnNcRButtonUp |
Dipanggil ketika pengguna merilis tombol kanan mouse saat kursor berada dalam area non-klien .CWnd |
CWnd::OnNcRenderingChanged |
Dipanggil ketika kebijakan penyajian untuk area non-klien telah berubah. |
CWnd::OnNcXButtonDblClk |
Dipanggil saat pengguna mengklik XBUTTON1 dua kali atau XBUTTON2 saat kursor berada di area non-klien jendela. |
CWnd::OnNcXButtonDown |
Dipanggil saat pengguna menekan XBUTTON1 atau XBUTTON2 mouse saat kursor berada di area non-klien jendela. |
CWnd::OnNcXButtonUp |
Dipanggil saat pengguna melepaskan XBUTTON1 atau XBUTTON2 mouse saat kursor berada di area non-klien jendela. |
CWnd::OnNextMenu |
Dipanggil saat tombol panah kanan atau kiri digunakan untuk beralih antara bilah menu dan menu sistem. |
CWnd::OnNotify |
Dipanggil oleh kerangka kerja untuk memberi tahu jendela induk suatu peristiwa telah terjadi di salah satu kontrolnya atau bahwa kontrol membutuhkan informasi. |
CWnd::OnNotifyFormat |
Dipanggil untuk menentukan apakah jendela saat ini menerima struktur ANSI atau Unicode dalam WM_NOTIFY pesan pemberitahuan. |
CWnd::OnPaint |
Dipanggil untuk mengecat ulang sebagian jendela. |
CWnd::OnPaintClipboard |
Dipanggil ketika area klien penampil Clipboard perlu pengecatan ulang. |
CWnd::OnPaletteChanged |
Dipanggil untuk memungkinkan jendela yang menggunakan palet warna untuk mewujudkan palet logis mereka dan memperbarui area klien mereka. |
CWnd::OnPaletteIsChanging |
Menginformasikan aplikasi lain ketika aplikasi akan mewujudkan palet logisnya. |
CWnd::OnParentNotify |
Dipanggil saat jendela anak dibuat atau dihancurkan, atau ketika pengguna mengklik tombol mouse saat kursor berada di atas jendela anak. |
CWnd::OnPowerBroadcast |
Dipanggil saat peristiwa manajemen daya terjadi. |
CWnd::OnQueryDragIcon |
Dipanggil ketika diminimalkan (ikonik) CWnd akan diseret oleh pengguna. |
CWnd::OnQueryEndSession |
Dipanggil ketika pengguna memilih untuk mengakhiri sesi Windows. |
CWnd::OnQueryNewPalette |
CWnd Menginformasikan bahwa akan menerima fokus input. |
CWnd::OnQueryOpen |
Dipanggil ketika CWnd adalah ikon dan pengguna meminta agar ikon dibuka. |
CWnd::OnQueryUIState |
Dipanggil untuk mengambil status antarmuka pengguna (UI) untuk jendela. |
CWnd::OnRawInput |
Dipanggil ketika jendela saat ini mendapatkan input mentah. |
CWnd::OnRButtonDblClk |
Dipanggil ketika pengguna mengklik dua kali tombol kanan mouse. |
CWnd::OnRButtonDown |
Dipanggil ketika pengguna menekan tombol kanan mouse. |
CWnd::OnRButtonUp |
Dipanggil saat pengguna merilis tombol kanan mouse. |
CWnd::OnRenderAllFormats |
Dipanggil ketika aplikasi pemilik sedang dihancurkan dan perlu merender semua formatnya. |
CWnd::OnRenderFormat |
Dipanggil untuk pemilik Clipboard ketika format tertentu dengan penyajian tertunda perlu dirender. |
CWnd::OnSessionChange |
Dipanggil untuk memberi tahu aplikasi tentang perubahan status sesi. |
CWnd::OnSetCursor |
Dipanggil jika input mouse tidak diambil dan mouse menyebabkan gerakan kursor dalam jendela. |
CWnd::OnSetFocus |
Dipanggil setelah CWnd mendapatkan fokus input. |
CWnd::OnSettingChange |
Dipanggil ketika fungsi Win32 SystemParametersInfo mengubah pengaturan di seluruh sistem. |
CWnd::OnShowWindow |
Dipanggil kapan CWnd harus disembunyikan atau ditampilkan. |
CWnd::OnSize |
Dipanggil setelah ukuran CWnd berubah. |
CWnd::OnSizeClipboard |
Dipanggil ketika ukuran area klien jendela Clipboard-viewer telah berubah. |
CWnd::OnSizing |
Menunjukkan bahwa pengguna mengubah ukuran persegi. |
CWnd::OnSpoolerStatus |
Dipanggil dari Print Manager setiap kali pekerjaan ditambahkan ke atau dihapus dari antrean Print Manager. |
CWnd::OnStyleChanged |
Menunjukkan bahwa SetWindowLong fungsi Windows telah mengubah satu atau beberapa gaya jendela. |
CWnd::OnStyleChanging |
Menunjukkan bahwa SetWindowLong fungsi Windows akan mengubah satu atau beberapa gaya jendela. |
CWnd::OnSysChar |
Dipanggil ketika penekanan tombol diterjemahkan ke karakter sistem. |
CWnd::OnSysColorChange |
Dipanggil untuk semua jendela tingkat atas ketika perubahan dilakukan dalam pengaturan warna sistem. |
CWnd::OnSysCommand |
Dipanggil saat pengguna memilih perintah dari menu Kontrol, atau saat pengguna memilih tombol Maksimalkan atau Minimalkan. |
CWnd::OnSysDeadChar |
Dipanggil ketika penekanan tombol diterjemahkan ke karakter mati sistem (seperti karakter aksen). |
CWnd::OnSysKeyDown |
Dipanggil saat pengguna menahan tombol ALT lalu menekan tombol lain. |
CWnd::OnSysKeyUp |
Dipanggil saat pengguna merilis tombol yang ditekan saat tombol ALT ditahan. |
CWnd::OnTCard |
Dipanggil saat pengguna mengklik tombol yang dapat diotorisasi. |
CWnd::OnTimeChange |
Dipanggil untuk semua jendela tingkat atas setelah waktu sistem berubah. |
CWnd::OnTimer |
Dipanggil setelah setiap interval yang ditentukan dalam SetTimer . |
CWnd::OnTouchInput |
Proses input tunggal dari sentuhan Windows. |
CWnd::OnTouchInputs |
Proses input dari sentuhan Windows. |
CWnd::OnUniChar |
Dipanggil saat tombol ditekan. Artinya, jendela saat ini memiliki fokus keyboard dan pesan WM_KEYDOWN diterjemahkan oleh TranslateMessage fungsi. |
CWnd::OnUnInitMenuPopup |
Dipanggil saat menu drop-down atau submenu telah dihancurkan. |
CWnd::OnUpdateUIState |
Dipanggil untuk mengubah status antarmuka pengguna (UI) untuk jendela yang ditentukan dan semua jendela anaknya. |
CWnd::OnUserChanged |
Dipanggil setelah pengguna masuk atau nonaktif. |
CWnd::OnVKeyToItem |
Dipanggil oleh kotak daftar yang dimiliki oleh CWnd sebagai respons terhadap pesan WM_KEYDOWN . |
CWnd::OnVScroll |
Dipanggil saat pengguna mengklik bilah gulir vertikal jendela. |
CWnd::OnVScrollClipboard |
Dipanggil saat pemilik harus menggulir gambar Clipboard, membatalkan bagian yang sesuai, dan memperbarui nilai bilah gulir. |
CWnd::OnWindowPosChanged |
Dipanggil ketika ukuran, posisi, atau urutan Z telah berubah sebagai akibat dari panggilan ke SetWindowPos atau fungsi manajemen jendela lainnya. |
CWnd::OnWindowPosChanging |
Dipanggil ketika ukuran, posisi, atau urutan Z akan berubah sebagai akibat dari panggilan ke SetWindowPos atau fungsi manajemen jendela lainnya. |
CWnd::OnWinIniChange |
Dipanggil untuk semua jendela tingkat atas setelah file inisialisasi Windows, WIN.INI , diubah. |
CWnd::OnWndMsg |
Menunjukkan apakah pesan windows ditangani. |
CWnd::OnXButtonDblClk |
Dipanggil saat pengguna mengklik XBUTTON1 dua kali atau XBUTTON2 saat kursor berada di area klien jendela. |
CWnd::OnXButtonDown |
Dipanggil saat pengguna menekan XBUTTON1 atau XBUTTON2 saat kursor berada di area klien jendela. |
CWnd::OnXButtonUp |
Dipanggil saat pengguna merilis XBUTTON1 atau XBUTTON2 saat kursor berada di area klien jendela. |
CWnd::PostNcDestroy |
Fungsi virtual ini dipanggil oleh fungsi OnNcDestroy default setelah jendela dihancurkan. |
CWnd::ReflectChildNotify |
Fungsi pembantu, yang mencerminkan pesan ke sumbernya. |
CWnd::ReflectLastMsg |
Mencerminkan pesan terakhir ke jendela anak. |
CWnd::ResizeDynamicLayout |
Dipanggil oleh kerangka kerja ketika ukuran jendela berubah untuk menyesuaikan tata letak jendela anak, jika tata letak dinamis diaktifkan untuk jendela. |
CWnd::WindowProc |
Menyediakan prosedur jendela untuk CWnd . Default mengirimkan pesan melalui peta pesan. |
Operator Publik
Nama | Deskripsi |
---|---|
CWnd::operator HWND |
Panggilan untuk mendapatkan handel ke jendela. |
CWnd::operator != |
Menentukan apakah jendela tidak sama dengan jendela yang handelnya adalah m_hWnd . |
CWnd::operator == |
Menentukan apakah jendela sama dengan jendela yang handelnya adalah m_hWnd . |
Anggota Data Publik
Nama | Deskripsi |
---|---|
CWnd::m_hWnd |
Menunjukkan HWND yang dilampirkan ke ini CWnd . |
Keterangan
Objek CWnd
berbeda dari jendela Windows, tetapi keduanya ditautkan dengan erat. Objek CWnd
dibuat atau dihancurkan oleh CWnd
konstruktor dan destruktor. Jendela Windows, di sisi lain, adalah struktur data internal untuk Windows yang dibuat oleh Create
fungsi anggota dan dihancurkan oleh CWnd
destruktor virtual. Fungsi ini DestroyWindow
menghancurkan jendela Windows tanpa menghancurkan objek.
Kelas CWnd
dan mekanisme peta pesan menyembunyikan WndProc
fungsi. Pesan pemberitahuan Windows masuk secara otomatis dirutekan melalui peta pesan ke fungsi anggota OnMessage CWnd
yang tepat. Anda mengambil alih fungsi anggota OnMessage untuk menangani pesan khusus anggota di kelas turunan Anda.
Kelas ini CWnd
juga memungkinkan Anda membuat jendela anak Windows untuk aplikasi Anda. Dapatkan kelas dari CWnd
, lalu tambahkan variabel anggota ke kelas turunan untuk menyimpan data khusus untuk aplikasi Anda. Terapkan fungsi anggota penangan pesan dan peta pesan di kelas turunan untuk menentukan apa yang terjadi ketika pesan diarahkan ke jendela.
Anda membuat jendela anak dalam dua langkah. Pertama, panggil konstruktor CWnd
untuk membuat CWnd
objek, lalu panggil Create
fungsi anggota untuk membuat jendela anak dan melampirkannya ke CWnd
objek.
Saat pengguna mengakhiri jendela anak Anda, menghancurkan CWnd
objek, atau memanggil DestroyWindow
fungsi anggota untuk menghapus jendela dan menghancurkan struktur datanya.
Dalam Pustaka Kelas Microsoft Foundation, kelas lebih lanjut berasal dari CWnd
untuk menyediakan jenis jendela tertentu. Banyak dari kelas-kelas ini, termasuk CFrameWnd
, , CMDIFrameWnd
CMDIChildWnd
, CView
, dan CDialog
, dirancang untuk derivasi lebih lanjut. Kelas kontrol yang berasal dari CWnd
, seperti CButton
, dapat digunakan secara langsung atau dapat digunakan untuk turunan kelas lebih lanjut.
Untuk informasi selengkapnya tentang menggunakan CWnd
, lihat Frame Windows
dan Objek Jendela.
Hierarki Warisan
CWnd
Persyaratan
Header: afxwin.h
CWnd::accDoDefaultAction
Dipanggil oleh kerangka kerja untuk melakukan tindakan default objek.
virtual HRESULT accDoDefaultAction(VARIANT varChild);
Parameter
varChild
Menentukan apakah tindakan default yang akan dipanggil adalah objek atau salah satu elemen anak objek. Parameter ini dapat berupa CHILDID_SELF (untuk melakukan tindakan default objek) atau ID anak (untuk melakukan tindakan default salah satu elemen turunan objek).
Tampilkan Nilai
Mengembalikan S_OK pada keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::accDoDefaultAction di Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas -turunan Anda CWnd
untuk melakukan tindakan default objek Anda. Untuk informasi selengkapnya, lihat IAccessible::accDoDefaultAction di Windows SDK.
CWnd::accHitTest
Dipanggil oleh kerangka kerja untuk mengambil elemen turunan atau objek turunan pada titik tertentu di layar.
virtual HRESULT accHitTest(
long xLeft,
long yTop,
VARIANT* pvarChild);
Parameter
xLeft
Koordinat X dari titik yang akan ditemui diuji (dalam unit layar).
yTop
Koordinat Y dari titik yang akan ditemui diuji (dalam unit layar).
pvarChild
Menerima informasi yang mengidentifikasi objek pada titik yang ditentukan oleh xLeft
dan yTop
. Lihat pvarID
di IAccessible::accHitTest
Windows SDK.
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::accHitTest
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas turunan Anda CWnd
jika Anda memiliki elemen antarmuka pengguna nonwindowed (selain kontrol ActiveX tanpa jendela, yang ditangani MFC).
Untuk informasi selengkapnya, lihat IAccessible::accHitTest
di Windows SDK.
CWnd::accLocation
Dipanggil oleh kerangka kerja untuk mengambil lokasi layar objek yang ditentukan saat ini.
virtual HRESULT accLocation(
long* pxLeft,
long* pyTop,
long* pcxWidth,
long* pcyHeight,
VARIANT varChild);
Parameter
pxLeft
Menerima koordinat x dari sudut kiri atas objek (di unit layar).
pyTop
Menerima koordinat y dari sudut kiri atas objek (dalam unit layar).
pcxWidth
Menerima lebar objek (dalam unit layar).
pcyHeight
Menerima tinggi objek (dalam unit layar).
varChild
Menentukan apakah lokasi yang akan diambil adalah objek atau salah satu elemen anak objek. Parameter ini dapat berupa CHILDID_SELF
(untuk mendapatkan informasi tentang objek) atau ID anak (untuk mendapatkan informasi tentang elemen turunan objek).
Tampilkan Nilai
Mengembalikan S_OK pada keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::accLocation
Windows SDK.
Keterangan
Ambil alih fungsi ini di kelas turunan Anda CWnd
jika Anda memiliki elemen antarmuka pengguna nonwindowed (selain kontrol ActiveX tanpa jendela, yang ditangani MFC).
Untuk informasi selengkapnya, lihat IAccessible::accLocation
di Windows SDK.
CWnd::accNavigate
Dipanggil oleh kerangka kerja untuk melintasi elemen antarmuka pengguna lain dalam kontainer dan jika memungkinkan, ambil objek.
virtual HRESULT accNavigate(
long navDir,
VARIANT varStart,
VARIANT* pvarEndUpAt);
Parameter
navDir
Menentukan arah untuk menavigasi. Lihat navDir
di IAccessible::accNavigate
Windows SDK.
varStart
Menentukan objek awal. Lihat varStart
di IAccessible::accNavigate
Windows SDK.
pvarEndUpAt
Menerima informasi tentang objek antarmuka pengguna tujuan. Lihat pvarEnd
di IAccessible::accNavigate
Windows SDK.
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::accNavigate
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas turunan Anda CWnd
jika Anda memiliki elemen antarmuka pengguna nonwindowed (selain kontrol ActiveX tanpa jendela, yang ditangani MFC).
Untuk informasi selengkapnya, lihat IAccessible::accNavigate
di Windows SDK.
CWnd::accSelect
Dipanggil oleh kerangka kerja untuk mengubah pilihan atau memindahkan fokus keyboard dari objek yang ditentukan.
virtual HRESULT accSelect(
long flagsSelect,
VARIANT varChild);
Parameter
flagsSelect
Menentukan cara mengubah pilihan atau fokus saat ini. Lihat flagsSelect
di IAccessible::accSelect
Windows SDK.
varChild
Menentukan objek yang akan dipilih. Parameter ini dapat berupa CHILDID_SELF
(untuk memilih objek itu sendiri) atau ID anak (untuk memilih salah satu anak objek).
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::accSelect
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas turunan Anda CWnd
jika Anda memiliki elemen antarmuka pengguna nonwindowed (selain kontrol ActiveX tanpa jendela, yang ditangani MFC).
Untuk informasi selengkapnya, lihat IAccessible::accSelect
di Windows SDK.
CWnd::AnimateWindow
Menghasilkan efek khusus saat menampilkan atau menyembunyikan jendela.
BOOL AnimateWindow(
DWORD dwTime,
DWORD dwFlags);
Parameter
dwTime
Menentukan berapa lama waktu yang dibutuhkan untuk memutar animasi, dalam milidetik. Biasanya, animasi membutuhkan waktu 200 milidetik untuk dimainkan.
dwFlags
Menentukan tipe animasi. Untuk daftar lengkap nilai yang mungkin, lihat AnimateWindow
.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi AnimateWindow
, seperti yang dijelaskan dalam Windows SDK.
CWnd::ArrangeIconicWindows
Mengatur semua jendela anak yang diminimalkan (ikonik).
UINT ArrangeIconicWindows();
Tampilkan Nilai
Tinggi satu baris ikon jika fungsi berhasil; jika tidak, 0.
Keterangan
Fungsi anggota ini juga mengatur ikon di jendela desktop, yang mencakup seluruh layar. Fungsi GetDesktopWindow
anggota mengambil penunjuk ke objek jendela desktop.
Untuk mengatur jendela anak MDI ikonik di jendela klien MDI, panggil CMDIFrameWnd::MDIIconArrange
.
Contoh
// arrange minimized MDI child windows
// called from menu item; CMdiChildFrame is derived from CMDIChildWnd
void CMdiChildFrame::OnActionArrangeIconicWindows()
{
UINT height = GetParent()->ArrangeIconicWindows();
TRACE(_T("height = %d\n"), height);
}
CWnd::Attach
Melampirkan jendela Windows ke CWnd
objek.
BOOL Attach(HWND hWndNew);
Parameter
hWndNew
Menentukan handel ke jendela Windows.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Contoh
Contoh ini menunjukkan cara menggunakan Attach
dan Detach
memetakan ke jendela klien MDI.
// Declare a CWnd member of CMainFrame
public:
CWnd m_wndMDIClient;
// detach MDI client window in CMainFrame destructor
m_wndMDIClient.Detach();
// In CMainFrame::OnCreate, attach MDI client window
if (CMDIFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
// attach MDI client window
if (m_wndMDIClient.Attach(m_hWndMDIClient) == 0)
{
TRACE(_T("Failed to attach MDIClient.\n"));
return -1; // fail to create
}
CWnd::BeginModalState
Panggil fungsi anggota ini untuk melakukan modal jendela bingkai.
virtual void BeginModalState();
CWnd::BeginPaint
CWnd
Bersiap untuk melukis dan mengisi PAINTSTRUCT
struktur data dengan informasi tentang lukisan.
CDC* BeginPaint(LPPAINTSTRUCT lpPaint);
Parameter
lpPaint
Menunjuk ke PAINTSTRUCT
struktur yaitu menerima informasi lukisan.
Tampilkan Nilai
Mengidentifikasi konteks perangkat untuk CWnd
. Pointer mungkin bersifat sementara dan tidak boleh disimpan di luar lingkup EndPaint
.
Keterangan
Struktur cat berisi RECT
struktur data yang memiliki persegi terkecil yang sepenuhnya menutupi wilayah pembaruan dan bendera yang menentukan apakah latar belakang telah dihapus.
Wilayah pembaruan diatur oleh Invalidate
fungsi anggota , , InvalidateRect
atau InvalidateRgn
dan oleh sistem setelah ukuran, memindahkan, membuat, menggulir, atau melakukan operasi lain yang memengaruhi area klien. Jika wilayah pembaruan ditandai untuk dihapus, BeginPaint
kirim pesan WM_ONERASEBKGND
.
Jangan panggil BeginPaint
fungsi anggota kecuali sebagai respons terhadap pesan WM_PAINT
. Setiap panggilan ke BeginPaint
fungsi anggota harus memiliki panggilan yang cocok ke EndPaint
fungsi anggota. Jika tanda sisipan berada di area yang akan dicat, BeginPaint
fungsi anggota secara otomatis menyembunyikan tanda sisipan untuk mencegahnya dihapus.
Contoh
// Use BeginPaint and EndPaint when responding to WM_PAINT message
// An alternative method is to use CPaintDC in place of
// BeginPaint and EndPaint
void CMdiView::OnPaint()
{
PAINTSTRUCT ps;
CDC *pDC = BeginPaint(&ps);
pDC->Rectangle(CRect(0, 0, 100, 100));
EndPaint(&ps);
// Do not call CView::OnPaint() for painting messages
}
CWnd::BindDefaultProperty
Mengikat properti terikat sederhana default objek panggilan (seperti kontrol edit), seperti yang ditandai dalam pustaka jenis, ke kursor yang mendasar yang ditentukan oleh DataSource
properti , , UserName
, Password
dan SQL
kontrol sumber data.
void BindDefaultProperty(
DISPID dwDispID,
VARTYPE vtProp,
LPCTSTR szFieldName,
CWnd* pDSCWnd);
Parameter
dwDispID
DISPID
Menentukan properti pada kontrol terikat data yang akan terikat ke kontrol sumber data.
vtProp
Menentukan tipe properti yang akan diikat. Misalnya, VT_BSTR
, VT_VARIANT
, dan sebagainya.
szFieldName
Menentukan nama kolom, dalam kursor yang disediakan oleh kontrol sumber data, tempat properti akan terikat.
pDSCWnd
Arahkan ke jendela yang menghosting kontrol sumber data tempat properti akan terikat. Panggil GetDlgItem
dengan ID sumber daya jendela host DCS untuk mengambil pointer ini.
Keterangan
Objek CWnd
tempat Anda memanggil fungsi ini harus merupakan kontrol terikat data.
Contoh
BindDefaultProperty
mungkin digunakan dalam konteks berikut:
BOOL CMyDlg::OnInitDialog()
{
CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL1);
pMyBound->BindDefaultProperty(0x1, VT_BSTR, _T("ContactFirstName"), pDSC);
return TRUE;
}
CWnd::BindProperty
Mengikat properti terikat kursor pada kontrol terikat data (seperti kontrol kisi) ke kontrol sumber data dan mendaftarkan hubungan tersebut dengan manajer pengikatan MFC.
void BindProperty(
DISPID dwDispId,
CWnd* pWndDSC);
Parameter
dwDispId
DISPID
Menentukan properti pada kontrol terikat data yang akan terikat ke kontrol sumber data.
pWndDSC
Arahkan ke jendela yang menghosting kontrol sumber data tempat properti akan terikat. Panggil GetDlgItem
dengan ID sumber daya jendela host DCS untuk mengambil pointer ini.
Keterangan
Objek CWnd
tempat Anda memanggil fungsi ini harus merupakan kontrol terikat data.
Contoh
BindProperty
mungkin digunakan dalam konteks berikut:
BOOL CMyDlg::OnInitDialog()
{
CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
CWnd *pMyBound = GetDlgItem(IDC_MYBOUNDCTRL2);
pMyBound->BindProperty(0x1, pDSC);
return TRUE;
}
CWnd::BringWindowToTop
CWnd
Membawa ke bagian atas tumpukan jendela yang tumpang tindih.
void BringWindowToTop();
Keterangan
Selain itu, BringWindowToTop
mengaktifkan jendela pop-up, tingkat atas, dan anak MDI. Fungsi BringWindowToTop
anggota harus digunakan untuk mengungkap jendela apa pun yang sebagian atau sepenuhnya dikaburkan oleh jendela yang tumpang tindih.
Fungsi ini hanya memanggil fungsi Win32 BringWindowToTop
. SetWindowPos
Panggil fungsi untuk mengubah posisi jendela dalam urutan Z. Fungsi BringWindowToTop
tidak mengubah gaya jendela untuk menjadikannya jendela tingkat atas. Untuk informasi selengkapnya, lihat Apa perbedaan antara HWND_TOP
dan HWND_TOPMOST
Contoh
// Moves MDI child windows to the top when a mouse passes
// over it. CMdiView is derived from CView.
void CMdiView::OnMouseMove(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags);
UNREFERENCED_PARAMETER(point);
GetParentFrame()->BringWindowToTop();
}
CWnd::CalcWindowRect
Menghitung persegi panjang jendela yang dapat berisi persegi klien yang ditentukan.
virtual void CalcWindowRect(
LPRECT lpClientRect,
UINT nAdjustType = adjustBorder);
Parameter
lpClientRect
[masuk, keluar] Penunjuk ke struktur persegi panjang. Pada input, struktur ini berisi persegi panjang klien. Setelah metode selesai, struktur ini berisi persegi panjang jendela yang dapat berisi persegi panjang klien yang ditentukan.
nAdjustType
[di] Gunakan CWnd::adjustBorder
untuk menghitung koordinat jendela tanpa WS_EX_CLIENTEDGE
gaya; jika tidak, gunakan CWnd::adjustOutside
.
Keterangan
Ukuran persegi panjang jendela terhitung tidak menyertakan ruang untuk bilah menu.
Untuk pembatasan penggunaan lainnya, lihat AdjustWindowRectEx
.
Contoh
// Uses CalcWindowRect to determine size for new CFrameWnd
// based on the size of the current view. The end result is a
// top level frame window of the same size as CMdiView's frame.
void CMdiView::OnMyCreateFrame()
{
CFrameWnd *pFrameWnd = new CFrameWnd;
CRect myRect;
GetClientRect(myRect);
pFrameWnd->Create(NULL, _T("My Frame"));
pFrameWnd->CalcWindowRect(&myRect, CWnd::adjustBorder);
pFrameWnd->MoveWindow(0, 0, myRect.Width(), myRect.Height());
pFrameWnd->ShowWindow(SW_SHOW);
}
CWnd::CancelToolTips
Panggil fungsi anggota ini untuk menghapus tip alat dari layar jika tip alat saat ini ditampilkan.
static void PASCAL CancelToolTips(BOOL bKeys = FALSE);
Parameter
bKeys
TRUE
untuk membatalkan tips alat saat tombol ditekan dan mengatur teks bilah status ke default; jika tidak FALSE
.
Keterangan
Catatan
Menggunakan fungsi anggota ini tidak berpengaruh pada tips alat yang dikelola oleh kode Anda. Ini hanya mempengaruhi kontrol tip alat yang dikelola oleh CWnd::EnableToolTips
.
Contoh
// In this example, tool tips were set up to
// pop up when the user moves the mouse
// over this edit control.
// If the mouse is moved to the upper left-hand
// corner, the tool tip would disappear because of
// calling CancelToolTips.
void CMyEdit::OnMouseMove(UINT nFlags, CPoint point)
{
CRect corner(0, 0, 10, 10);
if (corner.PtInRect(point))
CancelToolTips();
CEdit::OnMouseMove(nFlags, point);
}
CWnd::CenterWindow
Tengahkan jendela relatif terhadap induknya.
void CenterWindow(CWnd* pAlternateOwner = NULL);
Parameter
pAlternateOwner
Penunjuk ke jendela alternatif relatif terhadap yang akan dipusatkan (selain jendela induk).
Keterangan
Biasanya dipanggil dari CDialog::OnInitDialog
ke kotak dialog tengah relatif terhadap jendela utama aplikasi. Secara default, fungsi ini memusatkan jendela anak relatif terhadap jendela induknya, dan jendela pop-up relatif terhadap pemiliknya. Jika jendela pop-up tidak dimiliki, jendela tersebut berpusat relatif terhadap layar. Untuk memusatkan jendela relatif terhadap jendela tertentu yang bukan pemilik atau induk, pAlternateOwner
parameter dapat diatur ke jendela yang valid. Untuk memaksa pusat relatif terhadap layar, teruskan nilai yang dikembalikan sebagai CWnd::GetDesktopWindow
pAlternateOwner
.
Contoh
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CenterWindow();
return TRUE;
}
CWnd::ChangeClipboardChain
CWnd
Menghapus dari rantai penampil Clipboard dan membuat jendela yang ditentukan oleh hWndNext
turunan CWnd
leluhur dalam rantai.
BOOL ChangeClipboardChain(HWND hWndNext);
Parameter
hWndNext
Mengidentifikasi jendela yang mengikuti CWnd
dalam rantai Penampil Clipboard.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
CWnd::CheckDlgButton
Memilih (menempatkan tanda centang di samping) atau menghapus (menghapus tanda centang dari) tombol, atau mengubah status tombol tiga status.
void CheckDlgButton(
int nIDButton,
UINT nCheck);
Parameter
nIDButton
Menentukan tombol yang akan dimodifikasi.
nCheck
Menentukan tindakan yang akan diambil. Jika nCheck
bukan nol, CheckDlgButton
fungsi anggota menempatkan tanda centang di samping tombol; jika 0, tanda centang akan dihapus. Untuk tombol tiga status, jika nCheck
adalah 2, status tombol tidak ditentukan.
Keterangan
Fungsi CheckDlgButton
mengirim pesan BM_SETCHECK
ke tombol yang ditentukan.
Contoh
// Sets 3 check buttons in various ways. Note BST_INDETERMINATE
// requires BS_3STATE or BS_AUTO3STATE in the button's style.
void CMyDlg::OnMarkButtons()
{
CheckDlgButton(IDC_CHECK1, BST_UNCHECKED); // 0
CheckDlgButton(IDC_CHECK2, BST_CHECKED); // 1
CheckDlgButton(IDC_CHECK3, BST_INDETERMINATE); // 2
}
CWnd::CheckRadioButton
Memilih (menambahkan tanda centang ke) tombol radio tertentu dalam grup dan menghapus (menghapus tanda centang dari) semua tombol radio lainnya dalam grup.
void CheckRadioButton(
int nIDFirstButton,
int nIDLastButton,
int nIDCheckButton);
Parameter
nIDFirstButton
Menentukan pengidentifikasi bilangan bulat tombol radio pertama dalam grup.
nIDLastButton
Menentukan pengidentifikasi bilangan bulat dari tombol radio terakhir dalam grup.
nIDCheckButton
Menentukan pengidentifikasi bilangan bulat tombol radio yang akan diperiksa.
Keterangan
Fungsi mengirim CheckRadioButton
pesan BM_SETCHECK
ke tombol radio yang ditentukan.
Contoh
// Of the 4 radio buttons, selects radio button 3.
void CMyDlg::OnMarkRadio()
{
CheckRadioButton(IDC_RADIO1, IDC_RADIO4, IDC_RADIO3);
}
CWnd::ChildWindowFromPoint
Menentukan mana, jika ada, dari jendela anak milik CWnd
berisi titik yang ditentukan.
CWnd* ChildWindowFromPoint(POINT point) const;
CWnd* ChildWindowFromPoint(
POINT point,
UINT nFlags) const;
Parameter
point
Menentukan koordinat klien dari titik yang akan diuji.
nflags
Menentukan jendela turunan mana yang akan dilewati. Parameter ini bisa menjadi kombinasi dari nilai berikut:
Nilai | Makna |
---|---|
CWP_ALL |
Jangan lewati jendela anak |
CWP_SKIPINVISIBLE |
Lewati jendela anak yang tidak terlihat |
CWP_SKIPDISABLED |
Lewati jendela anak yang dinonaktifkan |
CWP_SKIPTRANSPARENT |
Lewati jendela anak transparan |
Tampilkan Nilai
Mengidentifikasi jendela anak yang berisi titik. Ini adalah NULL
jika titik yang diberikan terletak di luar area klien. Jika titik berada dalam area klien tetapi tidak terkandung dalam jendela anak apa pun, CWnd
dikembalikan.
Fungsi anggota ini akan mengembalikan jendela anak tersembunyi atau dinonaktifkan yang berisi titik yang ditentukan.
Lebih dari satu jendela mungkin berisi titik yang diberikan. Namun, fungsi ini hanya CWnd
mengembalikan * dari jendela pertama yang ditemui yang berisi titik .
CWnd
* yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Contoh
void CMyDlg::OnFindCenterChild()
{
CRect rect;
GetClientRect(&rect);
CWnd* pWnd = ChildWindowFromPoint(
CPoint(rect.Width()/2, rect.Height()/2),
// Top left is always 0, 0.
CWP_SKIPINVISIBLE);
TRACE(_T("Center window is 0x%08x\n"), pWnd->m_hWnd);
}
CWnd::ClientToScreen
Mengonversi koordinat klien dari titik atau persegi panjang tertentu pada tampilan ke koordinat layar.
void ClientToScreen(LPPOINT lpPoint) const; void ClientToScreen(LPRECT lpRect) const;
Parameter
lpPoint
Menunjuk ke POINT
struktur atau CPoint
objek yang berisi koordinat klien yang akan dikonversi.
lpRect
Menunjuk ke RECT
struktur atau CRect
objek yang berisi koordinat klien yang akan dikonversi.
Keterangan
Fungsi ClientToScreen
anggota menggunakan koordinat klien dalam POINT
struktur atau RECT
atau objek yang CPoint
CRect
ditunjuk oleh lpPoint
atau lpRect
untuk menghitung koordinat layar baru; kemudian mengganti koordinat dalam struktur dengan koordinat baru. Koordinat layar baru relatif terhadap sudut kiri atas tampilan sistem.
Fungsi ClientToScreen
anggota mengasumsikan bahwa titik atau persegi panjang yang diberikan berada dalam koordinat klien.
Contoh
// resize dialog to client's size
void CMyDlg::OnSizeToClient()
{
CRect myRect;
GetClientRect(&myRect);
ClientToScreen(myRect);
MoveWindow(myRect.left, myRect.top,
myRect.Width(), myRect.Height());
}
CWnd::CloseWindow
Meminimalkan jendela.
void CloseWindow();
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi CloseWindow
, seperti yang dijelaskan dalam Windows SDK.
CWnd::ContinueModal
Fungsi anggota ini dipanggil oleh RunModalLoop
untuk menentukan kapan status modal harus keluar.
virtual BOOL ContinueModal();
Tampilkan Nilai
Nonzero jika perulangan modal akan dilanjutkan; 0 ketika EndModalLoop
dipanggil.
Keterangan
Secara default, mengembalikan bukan nol hingga EndModalLoop
dipanggil.
CWnd::Create
Membuat jendela anak yang ditentukan dan melampirkannya ke CWnd
objek.
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
Const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext = NULL);
Parameter
lpszClassName
[di] Penunjuk ke string null-terminated yang berisi nama kelas jendela sistem terdaftar; atau nama kelas jendela sistem yang telah ditentukan sebelumnya.
lpszWindowName
[di] Penunjuk ke string null-terminated yang berisi nama tampilan jendela; jika tidak NULL
untuk tidak ada nama tampilan jendela.
dwStyle
[di] Kombinasi bitwise (OR) dari gaya jendela. Opsi WS_POPUP
ini bukan gaya yang valid.
rect
[di] Ukuran dan lokasi jendela relatif terhadap sudut kiri atas jendela induk.
pParentWnd
[di] Penunjuk ke jendela induk.
nID
[di] ID jendela.
pContext
[di] Penunjuk ke CCreateContext
struktur yang digunakan untuk menyesuaikan arsitektur tampilan dokumen untuk aplikasi.
Tampilkan Nilai
TRUE
jika metode berhasil; jika tidak FALSE
.
Keterangan
Peringatan
CWnd::PreCreateWindow
sekarang menetapkan hMenu
anggota parameternya CREATESTRUCT
ke this
penunjuk jika menu dan NULL
gaya berisi WS_CHILD
. Untuk fungsionalitas yang tepat, pastikan kontrol dialog Anda memiliki ID yang bukan NULL
.
Perubahan ini memperbaiki crash dalam skenario interop terkelola/asli. Pernyataan TRACE
dalam CWnd::Create
memperingatkan pengembang masalah.
AfxRegisterWndClass
Gunakan fungsi untuk mendaftarkan kelas jendela. Kelas jendela yang ditentukan pengguna tersedia dalam modul tempat kelas tersebut didaftarkan.
Metode CWnd::OnCreate
ini dipanggil sebelum Create
metode kembali, dan sebelum jendela terlihat.
Contoh
// Dynamically create static control using CWnd::Create,
// instead of with CStatic::Create, which doesn't
// need the "STATIC" class name.
void CMyDlg::OnCreateStatic()
{
// m_pWndStatic is a CWnd* member of CMyDlg
m_pWndStatic = new CWnd;
m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
CRect(0, 0, 20, 20), this, 1234);
}
CWnd::CreateAccessibleProxy
Membuat proksi Aksesibilitas Aktif untuk objek yang ditentukan.
virtual HRESULT CreateAccessibleProxy(
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parameter
wParam
Mengidentifikasi objek yang diakses oleh proksi Aksesibilitas Aktif. Bisa menjadi salah satu nilai berikut
Nilai | Makna |
---|---|
OBJID_CLIENT |
Mengacu pada area klien jendela. |
lParam
Menyediakan informasi tambahan yang bergantung pada pesan.
pResult
Pointer ke yang LRESULT
menyimpan kode hasil.
Keterangan
Membuat proksi Aksesibilitas Aktif untuk objek yang ditentukan.
CWnd::CreateCaret
Membuat bentuk baru untuk tanda sisipan sistem dan mengklaim kepemilikan tanda sisipan.
void CreateCaret(CBitmap* pBitmap);
Parameter
pBitmap
Mengidentifikasi bitmap yang menentukan bentuk tanda sisipan.
Keterangan
Bitmap sebelumnya harus dibuat oleh CBitmap::CreateBitmap
fungsi anggota, CreateDIBitmap
fungsi Windows, atau CBitmap::LoadBitmap
fungsi anggota.
CreateCaret
secara otomatis menghancurkan bentuk tanda sisipan sebelumnya, jika ada, terlepas dari jendela mana yang memiliki tanda sisipan. Setelah dibuat, tanda sisipan awalnya disembunyikan. Untuk menampilkan tanda sisipan, ShowCaret
fungsi anggota harus dipanggil.
Tanda sisipan sistem adalah sumber daya bersama. CWnd
harus membuat tanda sisipan hanya ketika memiliki fokus input atau aktif. Ini harus menghancurkan caret sebelum kehilangan fokus input atau menjadi tidak aktif.
Contoh
// Changes the caret of the edit control in this dialog box
void CMyDlg::OnChangeCaret()
{
m_pBitmapCaret = new CBitmap;
m_pBitmapCaret->LoadBitmap(IDB_HAPPY_BITMAP);
m_MyEdit.CreateCaret(m_pBitmapCaret);
m_MyEdit.ShowCaret();
}
CWnd::CreateControl
Gunakan fungsi anggota ini untuk membuat kontrol ActiveX yang akan diwakili dalam program MFC oleh CWnd
objek.
BOOL CreateControl(
LPCTSTR pszClass,
LPCTSTR pszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL);
BOOL CreateControl(
REFCLSID clsid,
LPCTSTR pszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL);
BOOL CreateControl(
REFCLSID clsid,
LPCTSTR pszWindowName,
DWORD dwStyle,
const POINT* ppt,
const SIZE* psize,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL);
Parameter
pszClass
String ini mungkin berisi OLE "nama pendek" (ProgID
) untuk kelas . Contohnya,"CIRC3.Circ3Ctrl.1"
. Nama harus cocok dengan nama yang sama yang didaftarkan oleh kontrol. Atau, string mungkin berisi bentuk string dari CLSID
, yang terkandung dalam kurung kurawal. Contohnya,"{9DBAFCCF-592F-101B-85CE-00608CEC297B}"
. Dalam kedua kasus, CreateControl
mengonversi string ke ID kelas yang sesuai.
pszWindowName
Penunjuk ke teks yang akan ditampilkan dalam kontrol. Mengatur nilai properti Teks atau Teks kontrol (jika ada). Jika NULL
, properti Teks atau Teks kontrol tidak diubah.
dwStyle
Gaya Windows. Gaya yang tersedia tercantum di bawah Keterangan.
rect
Menentukan ukuran dan posisi kontrol. Ini bisa berupa CRect
objek atau RECT
struktur.
ppt
Menunjuk ke POINT
struktur atau CPoint
objek yang berisi sudut kiri atas kontrol.
pSize
Menunjuk ke SIZE
struktur atau CSize
objek yang berisi ukuran kontrol
*pParentWnd*
Menentukan jendela induk kontrol. Ini tidak boleh NULL
.
nID
Menentukan ID kontrol.
pPersist
Penunjuk ke yang CFile
berisi status persisten untuk kontrol. Nilai defaultnya adalah NULL
, menunjukkan bahwa kontrol menginisialisasi dirinya sendiri tanpa memulihkan statusnya dari penyimpanan persisten apa pun. Jika tidak NULL
, itu harus menjadi penunjuk ke CFile
objek -turunan yang berisi data persisten kontrol, dalam bentuk aliran atau penyimpanan. Data ini bisa saja disimpan dalam aktivasi klien sebelumnya. CFile
dapat berisi data lain, tetapi harus memiliki penunjuk baca-tulis yang diatur ke byte pertama data persisten pada saat panggilan ke CreateControl
.
bStorage
Menunjukkan apakah data di harus ditafsirkan pPersist
sebagai IStorage
atau IStream
data. Jika data dalam pPersist
adalah penyimpanan, bStorage
harus TRUE
. Jika data masuk pPersist
adalah aliran, bStorage
harus FALSE
. Nilai defaultnya adalah FALSE
.
bstrLicKey
Data kunci lisensi opsional. Data ini hanya diperlukan untuk membuat kontrol yang memerlukan kunci lisensi run-time. Jika kontrol mendukung lisensi, Anda harus menyediakan kunci lisensi agar pembuatan kontrol berhasil. Nilai defaultnya adalah NULL
.
clsid
ID kelas unik kontrol.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
CreateControl
adalah analog langsung dari CWnd::Create
fungsi, yang membuat jendela untuk CWnd
. CreateControl
membuat kontrol ActiveX alih-alih jendela biasa.
Hanya subset bendera Windows dwStyle
yang didukung untuk CreateControl
:
WS_VISIBLE
Membuat jendela yang awalnya terlihat. Diperlukan jika Anda ingin kontrol terlihat segera, seperti jendela biasa.WS_DISABLED
Membuat jendela yang awalnya dinonaktifkan. Jendela yang dinonaktifkan tidak dapat menerima input dari pengguna. Dapat diatur jika kontrol memiliki properti Diaktifkan.WS_BORDER
Membuat jendela dengan batas garis tipis. Dapat diatur jika kontrol memilikiBorderStyle
properti.WS_GROUP
Menentukan kontrol pertama dari sekelompok kontrol. Pengguna dapat mengubah fokus keyboard dari satu kontrol dalam grup ke kontrol berikutnya dengan menggunakan tombol arah. Semua kontrol yang ditentukan denganWS_GROUP
gaya setelah kontrol pertama milik grup yang sama. Kontrol berikutnya denganWS_GROUP
gaya mengakhiri grup dan memulai grup berikutnya.WS_TABSTOP
Menentukan kontrol yang dapat menerima fokus keyboard saat pengguna menekan tombol TAB. Menekan tombol TAB mengubah fokus keyboard ke kontrolWS_TABSTOP
gaya berikutnya.
Contoh
class CGenocx : public CWnd
{
protected:
DECLARE_DYNCREATE(CGenocx)
public:
CLSID const &GetClsid()
{
static CLSID const clsid = {0x20DD1B9E, 0x87C4, 0x11D1, {0x8B, 0xE3, 0x0, 0x0, 0xF8, 0x75, 0x4D, 0xA1}};
return clsid;
}
// This code is generated by the Control Wizard.
// It wraps the call to CreateControl in the call to Create.
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT &rect, CWnd *pParentWnd, UINT nID,
CCreateContext *pContext = NULL)
{
UNREFERENCED_PARAMETER(pContext);
UNREFERENCED_PARAMETER(lpszClassName);
return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID);
}
// remainder of class declaration omitted...
CWnd::CreateEx
Membuat jendela yang ditentukan dan melampirkannya ke CWnd
objek.
virtual BOOL CreateEx(
DWORD dwExStyle,
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU nIDorHMenu,
LPVOID lpParam = NULL);
virtual BOOL CreateEx(
DWORD dwExStyle,
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
LPVOID lpParam = NULL);
Parameter
dwExStyle
Kombinasi bitwise (OR) dari gaya jendela yang diperluas; jika tidak NULL
untuk gaya jendela yang diperluas default.
lpszClassName
Penunjuk ke string null-terminated yang berisi nama kelas jendela sistem terdaftar; atau nama kelas jendela sistem yang telah ditentukan sebelumnya.
lpszWindowName
Penunjuk ke string null-terminated yang berisi nama tampilan jendela; jika tidak NULL
untuk tidak ada nama tampilan jendela.
dwStyle
Kombinasi bitwise (OR) gaya jendela; jika tidak NULL
untuk gaya jendela default.
x
Jarak horizontal awal jendela dari sisi kiri layar atau jendela induk.
y
Jarak vertikal awal jendela dari bagian atas layar atau jendela induk.
nWidth
Lebar, dalam piksel, dari jendela.
nHeight
Tinggi, dalam piksel, dari jendela.
hwndParent
Untuk jendela anak, gagang ke jendela induk; jika tidak, handel jendela pemilik jika jendela memiliki pemilik.
nIDorHMenu
Untuk jendela anak, ID jendela; jika tidak, ID menu untuk jendela.
lpParam
Arahkan ke data pengguna yang diteruskan ke CWnd::OnCreate
metode di lpCreateParams
bidang .
rect
Ukuran dan lokasi jendela relatif terhadap layar atau jendela induk.
pParentWnd
Untuk jendela anak, arahkan ke jendela induk; jika tidak, arahkan ke jendela pemilik jika jendela memiliki pemilik.
nID
Untuk jendela anak, ID jendela; jika tidak, ID menu untuk jendela.
Tampilkan Nilai
TRUE
jika metode berhasil; jika tidak FALSE
.
Keterangan
Peringatan
CWnd::PreCreateWindow
sekarang menetapkan hMenu
anggota parameternya CREATESTRUCT
ke this
penunjuk jika menu dan NULL
gaya berisi WS_CHILD
. Untuk fungsionalitas yang tepat, pastikan kontrol dialog Anda memiliki ID yang bukan NULL
.
Perubahan ini memperbaiki crash dalam skenario interop terkelola/asli. Pernyataan TRACE
dalam CWnd::Create
memperingatkan pengembang masalah.
Gaya jendela yang diperluas default adalah WS_EX_LEFT
. Gaya jendela default adalah WS_OVERLAPPED
.
AfxRegisterWndClass
Gunakan fungsi untuk mendaftarkan kelas jendela. Kelas jendela yang ditentukan pengguna tersedia dalam modul tempat kelas tersebut didaftarkan.
Dimensi untuk jendela anak relatif terhadap sudut kiri atas area klien dari jendela induk. Dimensi untuk jendela tingkat atas relatif terhadap sudut kiri atas layar.
Metode CWnd::OnCreate
ini dipanggil sebelum CreateEx
metode kembali, dan sebelum jendela terlihat.
Contoh
void CMyDlg::OnCreateExtendedControl()
{
// m_pWndStaticEx is a CWnd* member of CMyDlg
m_pWndStaticEx = new CStatic;
m_pWndStaticEx->CreateEx(WS_EX_CLIENTEDGE, // Make a client edge label.
_T("STATIC"), _T("Hi"),
WS_CHILD | WS_TABSTOP | WS_VISIBLE,
5, 5, 30, 30, m_hWnd, (HMENU)2345);
}
CWnd::CreateGrayCaret
Membuat persegi panjang abu-abu untuk caret sistem dan mengklaim kepemilikan caret.
void CreateGrayCaret(
int nWidth,
int nHeight);
Parameter
nWidth
Menentukan lebar tanda sisipan (dalam unit logis). Jika parameter ini adalah 0, lebar diatur ke lebar batas jendela yang ditentukan sistem.
nHeight
Menentukan tinggi tanda sisipan (dalam unit logis). Jika parameter ini adalah 0, tinggi diatur ke tinggi batas jendela yang ditentukan sistem.
Keterangan
Bentuk tanda sisipan bisa berupa garis atau blok.
Parameter nWidth
dan nHeight
menentukan lebar dan tinggi caret (dalam unit logis); lebar dan tinggi yang tepat (dalam piksel) bergantung pada mode pemetaan.
Lebar atau tinggi batas jendela sistem dapat diambil oleh GetSystemMetrics
fungsi Windows dengan SM_CXBORDER
indeks dan SM_CYBORDER
. Menggunakan lebar atau tinggi batas jendela memastikan bahwa tanda sisipan akan terlihat pada tampilan resolusi tinggi.
Fungsi CreateGrayCaret
anggota secara otomatis menghancurkan bentuk tanda sisipan sebelumnya, jika ada, terlepas dari jendela mana yang memiliki tanda sisipan. Setelah dibuat, tanda sisipan awalnya disembunyikan. Untuk menampilkan tanda sisipan, ShowCaret
fungsi anggota harus dipanggil.
Tanda sisipan sistem adalah sumber daya bersama. CWnd
harus membuat tanda sisipan hanya ketika memiliki fokus input atau aktif. Ini harus menghancurkan caret sebelum kehilangan fokus input atau menjadi tidak aktif.
Contoh
// Create a 5x10 gray caret in the edit control.
void CMyDlg::OnCreateGrayCaret()
{
m_MyEdit.CreateGrayCaret(5, 10);
m_MyEdit.ShowCaret();
}
CWnd::CreateSolidCaret
Membuat persegi panjang yang solid untuk caret sistem dan mengklaim kepemilikan caret.
void CreateSolidCaret(
int nWidth,
int nHeight);
Parameter
nWidth
Menentukan lebar tanda sisipan (dalam unit logis). Jika parameter ini adalah 0, lebar diatur ke lebar batas jendela yang ditentukan sistem.
nHeight
Menentukan tinggi tanda sisipan (dalam unit logis). Jika parameter ini adalah 0, tinggi diatur ke tinggi batas jendela yang ditentukan sistem.
Keterangan
Bentuk tanda sisipan bisa berupa garis atau blok.
Parameter nWidth
dan nHeight
menentukan lebar dan tinggi caret (dalam unit logis); lebar dan tinggi yang tepat (dalam piksel) bergantung pada mode pemetaan.
Lebar atau tinggi batas jendela sistem dapat diambil oleh GetSystemMetrics
fungsi Windows dengan SM_CXBORDER
indeks dan SM_CYBORDER
. Menggunakan lebar atau tinggi batas jendela memastikan bahwa tanda sisipan akan terlihat pada tampilan resolusi tinggi.
Fungsi CreateSolidCaret
anggota secara otomatis menghancurkan bentuk tanda sisipan sebelumnya, jika ada, terlepas dari jendela mana yang memiliki tanda sisipan. Setelah dibuat, tanda sisipan awalnya disembunyikan. Untuk menampilkan tanda sisipan, ShowCaret
fungsi anggota harus dipanggil.
Tanda sisipan sistem adalah sumber daya bersama. CWnd
harus membuat tanda sisipan hanya ketika memiliki fokus input atau aktif. Ini harus menghancurkan caret sebelum kehilangan fokus input atau menjadi tidak aktif.
Contoh
// Create a 5x10 solid caret in the edit control.
void CMyDlg::OnCreateSolidCaret()
{
m_MyEdit.CreateSolidCaret(5, 10);
m_MyEdit.ShowCaret();
}
CWnd::CWnd
Membuat CWnd
objek.
CWnd();
Keterangan
Jendela Windows tidak dibuat dan dilampirkan hingga CreateEx
fungsi atau Create
anggota dipanggil.
CWnd::Default
Memanggil prosedur jendela default.
LRESULT Default();
Tampilkan Nilai
Tergantung pada pesan yang dikirim.
Keterangan
Prosedur jendela default menyediakan pemrosesan default untuk pesan jendela apa pun yang tidak diproses aplikasi. Fungsi anggota ini memastikan bahwa setiap pesan diproses.
Contoh
// This sample shows how to avoid any button handling in base class,
// if any, and call the default window procedure directly.
void CMyDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
UNREFERENCED_PARAMETER(nFlags);
UNREFERENCED_PARAMETER(point);
CWnd::Default();
}
CWnd::DefWindowProc
Memanggil prosedur jendela default, yang menyediakan pemrosesan default untuk pesan jendela apa pun yang tidak diproses aplikasi.
virtual LRESULT DefWindowProc(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parameter
message
Menentukan pesan Windows yang akan diproses.
wParam
Menentukan informasi tambahan yang bergantung pada pesan.
lParam
Menentukan informasi tambahan yang bergantung pada pesan.
Tampilkan Nilai
Tergantung pada pesan yang dikirim.
Keterangan
Fungsi anggota ini memastikan bahwa setiap pesan diproses. Ini harus dipanggil dengan parameter yang sama dengan yang diterima oleh prosedur jendela.
CWnd::DeleteTempMap
Dipanggil secara otomatis oleh penangan waktu menganggur CWinApp
objek.
static void PASCAL DeleteTempMap();
Keterangan
Menghapus objek sementara CWnd
yang dibuat oleh FromHandle
fungsi anggota.
Contoh
// DeleteTempMap() is a static member and does not need
// to be called within the scope of an instantiated CWnd object.
CWnd::DeleteTempMap();
CWnd::DestroyWindow
Menghancurkan jendela Windows yang terpasang pada CWnd
objek.
virtual BOOL DestroyWindow();
Tampilkan Nilai
Bukan nol jika jendela dihancurkan; jika tidak, 0.
Keterangan
Fungsi DestroyWindow
anggota mengirim pesan yang sesuai ke jendela untuk menonaktifkannya dan menghapus fokus input. Ini juga menghancurkan menu jendela, membersihkan antrean aplikasi, menghancurkan timer yang luar biasa, menghapus kepemilikan Clipboard, dan memutus rantai Penampil Clipboard jika CWnd
berada di bagian atas rantai penampil. Ini mengirim WM_DESTROY
dan WM_NCDESTROY
pesan ke jendela. Ini tidak menghancurkan CWnd
objek.
DestroyWindow
adalah tempat penampung untuk melakukan pembersihan. Karena DestroyWindow
merupakan fungsi virtual, fungsi ini ditampilkan di kelas -turunan apa pun CWnd
di Tampilan Kelas. Tetapi bahkan jika Anda mengambil alih fungsi ini di kelas turunan Anda CWnd
, DestroyWindow
belum tentu dipanggil. Jika DestroyWindow
tidak dipanggil dalam kode MFC, maka Anda harus secara eksplisit memanggilnya dalam kode Anda sendiri jika Anda ingin kode tersebut dipanggil.
Misalnya, Anda telah mengambil alih DestroyWindow
kelas CView
-turunan. Karena kode sumber MFC tidak memanggil DestroyWindow
di salah satu kelas turunannya CFrameWnd
, penimpaan DestroyWindow
Anda tidak akan dipanggil kecuali Anda menyebutnya secara eksplisit.
Jika jendela adalah induk jendela apa pun, jendela anak ini secara otomatis dihancurkan ketika jendela induk dihancurkan. Fungsi DestroyWindow
anggota menghancurkan jendela anak terlebih dahulu dan kemudian jendela itu sendiri.
Fungsi DestroyWindow
anggota juga menghancurkan kotak dialog modeless yang dibuat oleh CDialog::Create
.
Jika yang CWnd
dihancurkan adalah jendela anak dan tidak memiliki WS_EX_NOPARENTNOTIFY
kumpulan gaya, maka WM_PARENTNOTIFY
pesan dikirim ke induk.
Contoh
// CModeless is a CDialog class representing a modeless dialog
// Destruction of the modeless dialog involves calling DestroyWindow in
// OnOK() & OnCancel() handlers
void CModeless::OnOK()
{
if (!UpdateData(TRUE))
{
TRACE(_T("UpdateData failed during dialog termination\n"));
// The UpdateData routine will set focus to correct item
return;
}
DestroyWindow();
}
void CModeless::OnCancel()
{
DestroyWindow();
}
CWnd::Detach
Mencopot handel Windows dari CWnd
objek dan mengembalikan handel.
HWND Detach();
Tampilkan Nilai
A HWND
ke objek Windows.
Contoh
Lihat contoh untuk CWnd::Attach
.
CWnd::DlgDirList
Mengisi kotak daftar dengan daftar file atau direktori.
int DlgDirList(
LPTSTR lpPathSpec,
int nIDListBox,
int nIDStaticPath,
UINT nFileType);
Parameter
lpPathSpec
Menunjuk ke string null-terminated yang berisi jalur atau nama file. DlgDirList
memodifikasi string ini, yang seharusnya cukup lama untuk berisi modifikasi. Untuk informasi selengkapnya, lihat bagian "Komentar" berikut ini.
nIDListBox
Menentukan pengidentifikasi kotak daftar. Jika nIDListBox
adalah 0, DlgDirList
asumsikan bahwa tidak ada kotak daftar dan tidak mencoba mengisinya.
nIDStaticPath
Menentukan pengidentifikasi kontrol teks statis yang digunakan untuk menampilkan drive dan direktori saat ini. Jika nIDStaticPath
adalah 0, DlgDirList
asumsikan bahwa tidak ada kontrol teks seperti itu.
nFileType
Menentukan atribut file yang akan ditampilkan. Ini bisa menjadi kombinasi dari nilai-nilai berikut:
DDL_READWRITE
File data baca-tulis tanpa atribut tambahan.DDL_READONLY
File baca-saja.DDL_HIDDEN
File tersembunyi.DDL_SYSTEM
File sistem.DDL_DIRECTORY
Direktori.DDL_ARCHIVE
Arsip.DDL_POSTMSGS
LB_DIR
bendera.LB_DIR
Jika bendera diatur, Windows menempatkan pesan yang dihasilkan olehDlgDirList
dalam antrean aplikasi; jika tidak, bendera dikirim langsung ke prosedur kotak dialog.DDL_DRIVES
Drive.DDL_DRIVES
Jika bendera diatur,DDL_EXCLUSIVE
bendera diatur secara otomatis. Oleh karena itu, untuk membuat daftar direktori yang menyertakan drive dan file, Anda harus memanggilDlgDirList
dua kali: sekali denganDDL_DRIVES
set bendera dan sekali dengan bendera untuk sisa daftar.DDL_EXCLUSIVE
Bit eksklusif. Jika bit eksklusif diatur, hanya file dari jenis yang ditentukan yang tercantum; jika tidak, file normal dan file dari jenis yang ditentukan dicantumkan.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
DlgDirList
LB_RESETCONTENT
mengirim dan LB_DIR
mengirim pesan ke kotak daftar. Ini mengisi kotak daftar yang ditentukan dengan nIDListBox
nama semua file yang cocok dengan jalur yang diberikan oleh lpPathSpec
.
Parameter lpPathSpec
memiliki formulir berikut:
[drive:] [ [\u]directory[\idirectory]...\u] [filename]
Dalam contoh ini, drive
adalah huruf kandar, directory
adalah nama direktori yang valid, dan filename
merupakan nama file valid yang harus berisi setidaknya satu kartubebas. Kartubebas adalah tanda tanya (?), yang berarti cocok dengan karakter apa pun, dan tanda bintang (*), yang berarti cocok dengan sejumlah karakter.
Jika Anda menentukan string panjang 0 untuk lpPathSpec
, atau jika Anda hanya menentukan nama direktori tetapi tidak menyertakan spesifikasi file apa pun, string akan diubah menjadi "*.*".
Jika lpPathSpec
menyertakan drive dan/atau nama direktori, drive dan direktori saat ini diubah ke drive dan direktori yang ditunjuk sebelum kotak daftar diisi. Kontrol teks yang diidentifikasi juga nIDStaticPath
diperbarui dengan drive baru dan/atau nama direktori.
Setelah kotak daftar diisi, lpPathSpec
diperbarui dengan menghapus bagian drive dan/atau direktori jalur.
Contoh
// If pDialog points to a CDialog object with a list box
// with the identifier IDC_DIRLIST, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR path[MAX_PATH];
_tcscpy_s(path, MAX_PATH, _T("C:\\"));
pDialog->DlgDirList(path, IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);
CWnd::DlgDirListComboBox
Mengisi kotak daftar kotak kombo dengan daftar file atau direktori.
int DlgDirListComboBox(
LPTSTR lpPathSpec,
int nIDComboBox,
int nIDStaticPath,
UINT nFileType);
Parameter
lpPathSpec
Menunjuk ke string null-terminated yang berisi jalur atau nama file. DlgDirListComboBox
memodifikasi string ini, sehingga data ini tidak boleh dalam bentuk string harfiah. Lihat bagian "Komentar" berikut ini.
nIDComboBox
Menentukan pengidentifikasi kotak kombo dalam kotak dialog. Jika nIDComboBox
adalah 0, DlgDirListComboBox
asumsikan bahwa tidak ada kotak kombo dan tidak mencoba mengisinya.
nIDStaticPath
Menentukan pengidentifikasi kontrol teks statis yang digunakan untuk menampilkan drive dan direktori saat ini. Jika nIDStaticPath
adalah 0, DlgDirListComboBox
asumsikan bahwa tidak ada kontrol teks seperti itu.
nFileType
Menentukan atribut file DOS dari file yang akan ditampilkan. Ini bisa menjadi kombinasi dari nilai-nilai berikut:
DDL_READWRITE
File data baca-tulis tanpa atribut tambahan.DDL_READONLY
File baca-saja.DDL_HIDDEN
File tersembunyi.DDL_SYSTEM
File sistem.DDL_DIRECTORY
Direktori.DDL_ARCHIVE
Arsip.DDL_POSTMSGS
CB_DIR
bendera.CB_DIR
Jika bendera diatur, Windows menempatkan pesan yang dihasilkan olehDlgDirListComboBox
dalam antrean aplikasi; jika tidak, bendera dikirim langsung ke prosedur kotak dialog.DDL_DRIVES
Drive.DDL_DRIVES
Jika bendera diatur,DDL_EXCLUSIVE
bendera diatur secara otomatis. Oleh karena itu, untuk membuat daftar direktori yang menyertakan drive dan file, Anda harus memanggilDlgDirListComboBox
dua kali: sekali denganDDL_DRIVES
set bendera dan sekali dengan bendera untuk sisa daftar.DDL_EXCLUSIVE
Bit eksklusif. Jika bit eksklusif diatur, hanya file dari jenis yang ditentukan yang tercantum; jika tidak, file normal dan file dari jenis yang ditentukan dicantumkan.
Tampilkan Nilai
Menentukan hasil fungsi. Ini bukan nol jika daftar dibuat, bahkan daftar kosong. Nilai 0 mengembalikan menyiratkan bahwa string input tidak berisi jalur pencarian yang valid.
Keterangan
DlgDirListComboBox
CB_RESETCONTENT
mengirim dan CB_DIR
mengirim pesan ke kotak kombo. Ini mengisi kotak daftar kotak kombo yang ditentukan oleh nIDComboBox
dengan nama semua file yang cocok dengan jalur yang diberikan oleh lpPathSpec
.
Parameter lpPathSpec
memiliki formulir berikut:
[drive:] [ [\u]directory[\idirectory]...\u] [filename]
Dalam contoh ini, drive
adalah huruf kandar, directory
adalah nama direktori yang valid, dan filename
merupakan nama file valid yang harus berisi setidaknya satu kartubebas. Kartubebas adalah tanda tanya (?), yang berarti cocok dengan karakter apa pun, dan tanda bintang (*), yang berarti cocok dengan sejumlah karakter.
Jika Anda menentukan string panjang nol untuk lpPathSpec
, direktori saat ini akan digunakan dan lpPathSpec
tidak akan dimodifikasi. Jika Anda hanya menentukan nama direktori tetapi tidak menyertakan spesifikasi file apa pun, string akan diubah menjadi "*".
Jika lpPathSpec
menyertakan drive dan/atau nama direktori, drive dan direktori saat ini diubah ke drive dan direktori yang ditunjuk sebelum kotak daftar diisi. Kontrol teks yang diidentifikasi juga nIDStaticPath
diperbarui dengan drive baru dan/atau nama direktori.
Setelah kotak daftar kotak kombo diisi, lpPathSpec
diperbarui dengan menghapus bagian drive dan/atau direktori jalur.
Contoh
// If pDialog points to a CDialog object with a combo box
// with the identifier IDC_DIRCOMBO, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR szPath[MAX_PATH];
_tcsncpy_s(szPath, MAX_PATH, _T("C:\\"), MAX_PATH);
pDialog->DlgDirListComboBox(szPath, IDC_DIRCOMBO, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);
// Note that the first argument is a string and not a string
// literal. This is necessary because DlgDirListComboBox
// modifies the supplied string. Passing a string literal
// will result in an access violation.
CWnd::DlgDirSelect
Mengambil pilihan saat ini dari kotak daftar.
BOOL DlgDirSelect(
LPTSTR lpString,
int nIDListBox);
Parameter
lpString
Menunjuk ke buffer yang menerima pilihan saat ini dalam kotak daftar.
nIDListBox
Menentukan ID bilangan bulat dari kotak daftar dalam kotak dialog.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Ini mengasumsikan bahwa kotak daftar telah diisi oleh DlgDirList
fungsi anggota dan bahwa pilihannya adalah huruf drive, file, atau nama direktori.
Fungsi DlgDirSelect
anggota menyalin pilihan ke buffer yang diberikan oleh lpString
. Jika tidak ada pilihan, lpString
tidak berubah.
DlgDirSelect
LB_GETCURSEL
mengirim dan LB_GETTEXT
mengirim pesan ke kotak daftar.
Ini tidak memperbolehkan lebih dari satu nama file dikembalikan dari kotak daftar. Kotak daftar tidak boleh berupa kotak daftar beberapa pilihan.
CWnd::DlgDirSelectComboBox
Mengambil pilihan saat ini dari kotak daftar kotak kombo.
BOOL DlgDirSelectComboBox(
LPTSTR lpString,
int nIDComboBox);
Parameter
lpString
Menunjuk ke buffer yang akan menerima jalur yang dipilih.
nIDComboBox
Menentukan ID bilangan bulat kotak kombo dalam kotak dialog.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Ini mengasumsikan bahwa kotak daftar telah diisi oleh DlgDirListComboBox
fungsi anggota dan bahwa pilihannya adalah huruf drive, file, atau nama direktori.
Fungsi DlgDirSelectComboBox
anggota menyalin pilihan ke buffer yang ditentukan. Jika tidak ada pilihan, konten buffer tidak diubah.
DlgDirSelectComboBox
CB_GETCURSEL
mengirim dan CB_GETLBTEXT
mengirim pesan ke kotak kombo.
Ini tidak mengizinkan lebih dari satu nama file dikembalikan dari kotak kombo.
CWnd::DoDataExchange
Dipanggil oleh kerangka kerja untuk bertukar dan memvalidasi data dialog.
virtual void DoDataExchange(CDataExchange* pDX);
Parameter
pDX
Penunjuk ke CDataExchange
objek.
Keterangan
Jangan pernah memanggil fungsi ini secara langsung. Ini dipanggil oleh UpdateData
fungsi anggota. Panggil UpdateData
untuk menginisialisasi kontrol kotak dialog atau mengambil data dari kotak dialog.
Ketika Anda mendapatkan kelas dialog khusus aplikasi dari CDialog
, Anda perlu mengambil alih fungsi anggota ini jika Anda ingin menggunakan pertukaran dan validasi data otomatis kerangka kerja. Wizard Tambahkan Variabel akan menulis versi yang ditimpa dari fungsi anggota ini untuk Anda yang berisi "peta data" yang diinginkan dari panggilan fungsi global pertukaran data dialog (DDX) dan validasi (DDV).
Untuk menghasilkan versi fungsi anggota yang ditimpa secara otomatis, pertama-tama buat sumber daya dialog dengan editor dialog, lalu dapatkan kelas dialog khusus aplikasi. Kemudian gunakan wizard Tambahkan Variabel untuk mengaitkan variabel, data, dan rentang validasi dengan berbagai kontrol dalam kotak dialog baru. Wizard kemudian menulis penimpaan DoDataExchange
, yang berisi peta data. Berikut ini adalah contoh blok kode DDX/DDV yang dihasilkan oleh wizard Tambahkan Variabel:
void CPenWidthsDlg::DoDataExchange(CDataExchange *pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Text(pDX, IDC_THINPENWIDTH, m_nThinWidth);
DDV_MinMaxInt(pDX, m_nThinWidth, 1, 20);
DDX_Text(pDX, IDC_THICKPENWIDTH, m_nThickWidth);
DDV_MinMaxInt(pDX, m_nThickWidth, 1, 20);
}
Fungsi DoDataExchange
anggota yang ditimpa harus mendahului pernyataan makro dalam file sumber Anda.
Untuk informasi selengkapnya tentang pertukaran dan validasi data dialog, lihat Menampilkan dan Memanipulasi Data dalam Formulir dan Pertukaran dan Validasi Data Dialog. Untuk deskripsi makro DDX_ dan DDV_ yang dihasilkan oleh wizard Tambahkan Variabel, lihat Catatan Teknis 26.
CWnd::DragAcceptFiles
Panggil fungsi anggota ini dari dalam jendela, menggunakan CWnd
penunjuk, dalam fungsi aplikasi CWinApp::InitInstance
Anda untuk menunjukkan bahwa jendela menerima file yang dihilangkan dari Windows File Manager atau File Explorer.
void DragAcceptFiles(BOOL bAccept = TRUE);
Parameter
BAccept
Bendera yang menunjukkan apakah file yang diseret diterima.
Keterangan
Hanya jendela yang memanggil DragAcceptFiles
dengan parameter yang bAccept
diatur ke TRUE
telah mengidentifikasi dirinya sendiri yang dapat memproses pesan WM_DROPFILES
Windows . Misalnya, dalam aplikasi MDI, jika penunjuk CMDIFrameWnd
jendela digunakan dalam DragAcceptFiles
panggilan fungsi, hanya jendela yang CMDIFrameWnd
WM_DROPFILES
mendapatkan pesan. Pesan ini tidak dikirim ke semua jendela yang terbuka CMDIChildWnd
. Agar jendela CMDIChildWnd
menerima pesan ini, Anda harus memanggil DragAcceptFiles
dengan penunjuk CMDIChildWnd
jendela.
Untuk menghentikan penerimaan file yang diseret, panggil fungsi anggota dengan bAccept
diatur ke FALSE
.
CWnd::DragDetect
Mengambil mouse dan melacak gerakannya hingga pengguna melepaskan tombol kiri, menekan tombol ESC, atau memindahkan mouse ke luar persegi panjang seret di sekitar titik yang ditentukan.
BOOL DragDetect(POINT pt) const;
Parameter
pt
Posisi awal mouse, dalam koordinat layar. Fungsi menentukan koordinat persegi panjang seret dengan menggunakan titik ini.
Tampilkan Nilai
Jika pengguna memindahkan mouse ke luar persegi panjang seret sambil menahan tombol kiri, nilai yang dikembalikan bukan nol.
Jika pengguna tidak memindahkan mouse ke luar persegi panjang seret sambil menahan tombol kiri, nilai yang dikembalikan adalah nol.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi DragDetect
, seperti yang dijelaskan dalam Windows SDK.
CWnd::DrawAnimatedRects
Menggambar persegi panjang bingkai kawat dan menganimasikannya untuk menunjukkan pembukaan ikon atau meminimalkan atau memaksimalkan jendela.
BOOL DrawAnimatedRects(
int idAni,
CONST RECT* lprcFrom,
CONST RECT* lprcTo);
Parameter
idAni
Menentukan tipe animasi. Jika Anda menentukan IDANI_CAPTION
, keterangan jendela akan menganimasikan dari posisi yang ditentukan oleh lprcFrom
ke posisi yang ditentukan oleh lprcTo
. Efeknya mirip dengan meminimalkan atau memaksimalkan jendela.
lprcFrom
Penunjuk ke struktur yang RECT
menentukan lokasi dan ukuran ikon atau jendela yang diminimalkan.
lprcTo
Penunjuk ke struktur yang RECT
menentukan lokasi dan ukuran jendela yang dipulihkan
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi DrawAnimatedRects
, seperti yang dijelaskan dalam Windows SDK.
CWnd::DrawCaption
Menggambar keterangan jendela.
BOOL DrawCaption(
CDC* pDC,
LPCRECT lprc,
UINT uFlags);
Parameter
pDC
Penunjuk ke konteks perangkat. Fungsi menarik keterangan jendela ke dalam konteks perangkat ini.
lprc
Penunjuk ke RECT
struktur yang menentukan persegi panjang pembatas untuk keterangan jendela.
uFlags
Menentukan opsi menggambar. Untuk daftar lengkap nilai, lihat DrawCaption
.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi DrawCaption
, seperti yang dijelaskan dalam Windows SDK.
CWnd::DrawMenuBar
Mengurai ulang bilah menu.
void DrawMenuBar();
Keterangan
Jika bilah menu diubah setelah Windows membuat jendela, panggil fungsi ini untuk menggambar bilah menu yang diubah.
Contoh
Lihat contoh untuk CWnd::GetMenu
.
CWnd::EnableActiveAccessibility
Mengaktifkan fungsi Aksesibilitas Aktif yang ditentukan pengguna.
void EnableActiveAccessibility();
Keterangan
Dukungan Aksesibilitas Aktif default MFC cukup untuk jendela dan kontrol standar, termasuk kontrol ActiveX; namun, jika kelas turunan Anda CWnd
berisi elemen antarmuka pengguna non-bindow, MFC tidak memiliki cara untuk mengetahuinya. Dalam hal ini, Anda harus mengambil alih fungsi anggota Aksesibilitas Aktif yang sesuai di kelas Anda, dan Anda harus memanggil EnableActiveAccessibility
konstruktor kelas.
CWnd::EnableDynamicLayout
Mengaktifkan atau menonaktifkan manajer tata letak dinamis. Ketika tata letak dinamis diaktifkan, posisi dan ukuran jendela anak dapat menyesuaikan secara dinamis saat pengguna mengubah ukuran jendela.
void EnableDynamicLayout(BOOL bEnable = TRUE);
Parameter
bEnable
TRUE
untuk mengaktifkan tata letak dinamis; FALSE
untuk menonaktifkan tata letak dinamis.
Keterangan
Jika Anda ingin mengaktifkan tata letak dinamis, Anda harus melakukan lebih dari sekadar memanggil metode ini. Anda juga harus memberikan informasi tata letak dinamis yang merupakan spesies bagaimana kontrol di jendela merespons perubahan ukuran. Anda dapat menentukan informasi ini di editor sumber daya, atau secara terprogram, untuk setiap kontrol. Lihat Tata Letak Dinamis.
CWnd::EnableD2DSupport
Mengaktifkan atau menonaktifkan dukungan D2D jendela. Panggil metode ini sebelum jendela utama diinisialisasi.
void EnableD2DSupport(
BOOL bEnable = TRUE,
BOOL bUseDCRenderTarget = FALSE);
Parameter
bEnable
Menentukan apakah akan mengaktifkan, atau menonaktifkan dukungan D2D.
bUseDCRenderTarget
Spesies apakah akan menggunakan target render Konteks Perangkat (DC), CDCRenderTarget
. Jika FALSE
, CHwndRenderTarget
digunakan.
CWnd::EnableScrollBar
Mengaktifkan atau menonaktifkan satu atau kedua panah bilah gulir.
BOOL EnableScrollBar(
int nSBFlags,
UINT nArrowFlags = ESB_ENABLE_BOTH);
Parameter
nSBFlags
Menentukan jenis bilah gulir. Bisa memiliki salah satu nilai berikut:
SB_BOTH
Mengaktifkan atau menonaktifkan panah bilah gulir horizontal dan vertikal yang terkait dengan jendela.SB_HORZ
Mengaktifkan atau menonaktifkan panah bilah gulir horizontal yang terkait dengan jendela.SB_VERT
Mengaktifkan atau menonaktifkan panah bilah gulir vertikal yang terkait dengan jendela.
nArrowFlags
Menentukan apakah panah bilah gulir diaktifkan atau dinonaktifkan dan panah mana yang diaktifkan atau dinonaktifkan. Bisa memiliki salah satu nilai berikut:
ESB_ENABLE_BOTH
Mengaktifkan kedua panah bilah gulir (default).ESB_DISABLE_LTUP
Menonaktifkan panah kiri bilah gulir horizontal atau panah atas bilah gulir vertikal.ESB_DISABLE_RTDN
Menonaktifkan panah kanan bilah gulir horizontal atau panah bawah bilah gulir vertikal.ESB_DISABLE_BOTH
Menonaktifkan kedua panah bilah gulir.
Tampilkan Nilai
Bukan nol jika panah diaktifkan atau dinonaktifkan seperti yang ditentukan. Jika tidak, itu adalah 0, yang menunjukkan bahwa panah sudah dalam status yang diminta atau bahwa terjadi kesalahan.
CWnd::EnableScrollBarCtrl
Mengaktifkan atau menonaktifkan bilah gulir untuk jendela ini.
void EnableScrollBarCtrl(
int nBar,
BOOL bEnable = TRUE);
Parameter
nBar
Pengidentifikasi bilah gulir.
bEnable
Menentukan apakah bilah gulir akan diaktifkan atau dinonaktifkan.
Keterangan
Jika jendela memiliki kontrol bilah gulir saudara, bilah gulir tersebut digunakan; jika tidak, bilah gulir jendela sendiri digunakan.
CWnd::EnableToolTips
Mengaktifkan tips alat untuk jendela yang diberikan.
BOOL EnableToolTips(BOOL bEnable = TRUE);
Parameter
bEnable
Menentukan apakah kontrol tip alat diaktifkan atau dinonaktifkan. TRUE
mengaktifkan kontrol; FALSE
menonaktifkan kontrol.
Tampilkan Nilai
TRUE
jika tips alat diaktifkan; jika tidak FALSE
.
Keterangan
Ambil alih OnToolHitTest
untuk menyediakan TOOLINFO
struct atau struct untuk jendela.
Catatan
Beberapa jendela, seperti CToolBar
, menyediakan implementasi bawaan dari OnToolHitTest
.
Lihat TOOLINFO
di Windows SDK untuk informasi selengkapnya tentang struktur ini.
EnableToolTips
Panggilan sederhana tidak cukup untuk menampilkan tips alat untuk kontrol anak Anda kecuali jendela induk berasal dari CFrameWnd
. Ini karena CFrameWnd
menyediakan handler default untuk TTN_NEEDTEXT
pemberitahuan. Jika jendela induk Anda tidak berasal dari CFrameWnd
, yaitu, jika itu adalah kotak dialog atau tampilan formulir, tips alat untuk kontrol anak Anda tidak akan ditampilkan dengan benar kecuali Anda menyediakan handler untuk TTN_NEEDTEXT
pemberitahuan tips alat. Lihat Tips Alat.
Tips alat default yang disediakan untuk jendela Anda dengan EnableToolTips
tidak memiliki teks yang terkait dengannya. Untuk mengambil teks agar tip alat ditampilkan, TTN_NEEDTEXT
pemberitahuan dikirim ke jendela induk kontrol tips alat tepat sebelum jendela tip alat ditampilkan. Jika tidak ada handler untuk pesan ini untuk menetapkan beberapa nilai kepada pszText
anggota TOOLTIPTEXT
struktur, tidak akan ada teks yang ditampilkan untuk tip alat.
Contoh
// From message map for CMdiView, a CView-derived class
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, &CMdiView::OnToolTipNotify)
void CMdiView::OnInitialUpdate()
{
CView::OnInitialUpdate();
m_Edit.Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
CRect(10, 10, 100, 100), this, IDC_TTEDIT);
EnableToolTips(TRUE); // enable tool tips for view
}
//Notification handler
BOOL CMdiView::OnToolTipNotify(UINT id, NMHDR *pNMHDR, LRESULT *pResult)
{
UNREFERENCED_PARAMETER(id);
UNREFERENCED_PARAMETER(pResult);
// need to handle both ANSI and UNICODE versions of the message
TOOLTIPTEXTA *pTTTA = (TOOLTIPTEXTA*)pNMHDR;
TOOLTIPTEXTW *pTTTW = (TOOLTIPTEXTW*)pNMHDR;
CStringA strTipText;
UINT_PTR nID = pNMHDR->idFrom;
if (pNMHDR->code == TTN_NEEDTEXTA && (pTTTA->uFlags & TTF_IDISHWND) ||
pNMHDR->code == TTN_NEEDTEXTW && (pTTTW->uFlags & TTF_IDISHWND))
{
// idFrom is actually the HWND of the tool
nID = ::GetDlgCtrlID((HWND)nID);
}
if (nID != 0) // will be zero on a separator
strTipText.Format("Control ID = %d", nID);
if (pNMHDR->code == TTN_NEEDTEXTA)
{
strncpy_s(pTTTA->szText, sizeof(pTTTA->szText), strTipText,
strTipText.GetLength() + 1);
}
else
{
::MultiByteToWideChar(CP_ACP, 0, strTipText, strTipText.GetLength() + 1,
pTTTW->szText, sizeof(pTTTW->szText) / (sizeof pTTTW->szText[0]));
}
return TRUE; // message was handled
}
CWnd::EnableTrackingToolTips
Mengaktifkan atau menonaktifkan tipsalat pelacakan.
BOOL EnableTrackingToolTips(BOOL bEnable = TRUE);
Parameter
bEnable
Menentukan apakah tips alat pelacakan diaktifkan atau dinonaktifkan. Jika parameter ini adalah TRUE
, tips alat pelacakan akan diaktifkan. Jika parameter ini adalah FALSE
, tips alat pelacakan akan dinonaktifkan.
Tampilkan Nilai
Menunjukkan status sebelum EnableWindow
fungsi anggota dipanggil. Nilai yang dikembalikan bukan nol jika jendela sebelumnya dinonaktifkan. Nilai yang dikembalikan adalah 0 jika jendela sebelumnya diaktifkan atau terjadi kesalahan.
Keterangan
Tips alat pelacakan adalah jendela tip alat yang dapat Anda posisikan secara dinamis di layar. Dengan memperbarui posisi dengan cepat, jendela tip alat tampaknya bergerak dengan lancar, atau "melacak." Fungsionalitas ini dapat berguna jika Anda memerlukan teks tip alat untuk mengikuti posisi pointer saat bergerak.
CWnd::EnableWindow
Mengaktifkan atau menonaktifkan input mouse dan keyboard.
BOOL EnableWindow(BOOL bEnable = TRUE);
Parameter
bEnable
Menentukan apakah jendela yang diberikan akan diaktifkan atau dinonaktifkan. Jika parameter ini adalah TRUE
, jendela akan diaktifkan. Jika parameter ini adalah FALSE
, jendela akan dinonaktifkan.
Tampilkan Nilai
Menunjukkan status sebelum EnableWindow
fungsi anggota dipanggil. Nilai yang dikembalikan bukan nol jika jendela sebelumnya dinonaktifkan. Nilai yang dikembalikan adalah 0 jika jendela sebelumnya diaktifkan atau terjadi kesalahan.
Keterangan
Ketika input dinonaktifkan, input seperti klik mouse dan penekanan tombol diabaikan. Saat input diaktifkan, jendela memproses semua input.
Jika status diaktifkan berubah, WM_ENABLE
pesan dikirim sebelum fungsi ini kembali.
Jika dinonaktifkan, semua jendela anak dinonaktifkan secara implisit, meskipun tidak dikirimi WM_ENABLE
pesan.
Jendela harus diaktifkan sebelum dapat diaktifkan. Misalnya, jika aplikasi menampilkan kotak dialog tanpa mode dan telah menonaktifkan jendela utamanya, jendela utama harus diaktifkan sebelum kotak dialog dihancurkan. Jika tidak, jendela lain akan mendapatkan fokus input dan diaktifkan. Jika jendela anak dinonaktifkan, jendela diabaikan ketika Windows mencoba menentukan jendela mana yang harus mendapatkan pesan mouse.
Secara default, jendela diaktifkan saat dibuat. Aplikasi dapat menentukan WS_DISABLED
gaya dalam Create
fungsi atau CreateEx
anggota untuk membuat jendela yang awalnya dinonaktifkan. Setelah jendela dibuat, aplikasi juga dapat menggunakan EnableWindow
fungsi anggota untuk mengaktifkan atau menonaktifkan jendela.
Aplikasi dapat menggunakan fungsi ini untuk mengaktifkan atau menonaktifkan kontrol dalam kotak dialog. Kontrol yang dinonaktifkan tidak dapat menerima fokus input, pengguna juga tidak dapat mengaksesnya.
Contoh
//CMyFileDialog is a CFileDialog-derived class
//OnInitDialog is the handler for WM_INITDIALOG
BOOL CMyFileDialog::OnInitDialog()
{
CFileDialog::OnInitDialog();
CWnd *pWndParent = GetParent();
//make sure you add #include <dlgs.h> for IDs 'edt1' & 'stc3'
//disables the 'file name' edit and static control
//of the standard file open dialog
//get handle of 'file name' combobox control & disable it
CWnd *pWnd = pWndParent->GetDlgItem(cmb13);
pWnd->EnableWindow(FALSE);
//get handle of 'file name' static control & disable it
pWnd = pWndParent->GetDlgItem(stc3);
pWnd->EnableWindow(FALSE);
return TRUE;
}
CWnd::EndModalLoop
Mengakhiri panggilan ke RunModalLoop
.
virtual void EndModalLoop(int nResult);
Parameter
nResult
Berisi nilai yang akan dikembalikan ke pemanggil RunModalLoop
.
Keterangan
Parameter nResult
disebarluaskan ke nilai pengembalian dari RunModalLoop
.
CWnd::EndModalState
Panggil fungsi anggota ini untuk mengubah jendela bingkai dari modal ke modeless.
virtual void EndModalState();
CWnd::EndPaint
Menandai akhir lukisan di jendela yang diberikan.
void EndPaint(LPPAINTSTRUCT lpPaint);
Parameter
lpPaint
Menunjuk ke PAINTSTRUCT
struktur yang berisi informasi lukisan yang diambil oleh BeginPaint
fungsi anggota.
Keterangan
Fungsi EndPaint
anggota diperlukan untuk setiap panggilan ke BeginPaint
fungsi anggota, tetapi hanya setelah lukisan selesai.
Jika tanda sisipan disembunyikan oleh BeginPaint
fungsi anggota, EndPaint
memulihkan tanda sisipan ke layar.
Contoh
Lihat contoh untuk CWnd::BeginPaint
.
CWnd::ExecuteDlgInit
Memulai sumber daya dialog.
BOOL ExecuteDlgInit(LPCTSTR lpszResourceName);
BOOL ExecuteDlgInit(LPVOID lpResource);
Parameter
lpszResourceName
Penunjuk ke string yang dihentikan null yang menentukan nama sumber daya.
lpResource
Penunjuk ke sumber daya.
Tampilkan Nilai
TRUE
jika sumber daya dialog dijalankan; jika tidak FALSE
.
Keterangan
ExecuteDlgInit
akan menggunakan sumber daya yang terikat pada modul yang dijalankan, atau sumber daya dari sumber lain. Untuk mencapai hal ini, ExecuteDlgInit
temukan handel sumber daya dengan memanggil AfxFindResourceHandle
. Jika aplikasi MFC Anda tidak menggunakan DLL bersama (MFCx0[U][D].DLL), AfxFindResourceHandle
panggilan AfxGetResourceHandle
, yang mengembalikan handel sumber daya saat ini untuk yang dapat dieksekusi. Jika aplikasi MFC Anda yang menggunakan MFCx0[U][D].DLL, AfxFindResourceHandle
melintasi CDynLinkLibrary
daftar objek DLL ekstensi bersama dan MFC yang mencari handel sumber daya yang benar.
CWnd::FilterToolTipMessage
Dipanggil oleh kerangka kerja untuk menampilkan pesan tip alat.
void FilterToolTipMessage(MSG* pMsg);
Parameter
pMsg
Penunjuk ke pesan tip alat.
Keterangan
Di sebagian besar aplikasi MFC, metode ini dipanggil oleh kerangka kerja dari PreTranslateMessage
dan EnableToolTips
, dan Anda tidak perlu menyebutnya sendiri.
Namun, dalam aplikasi tertentu, misalnya beberapa kontrol ActiveX, metode ini mungkin tidak dipanggil oleh kerangka kerja, dan Anda harus memanggil FilterToolTipMessage
diri Anda sendiri. Untuk informasi selengkapnya, lihat Metode Membuat Tips Alat.
CWnd::FindWindow
Mengembalikan tingkat CWnd
atas yang kelas jendelanya diberikan oleh lpszClassName
dan yang nama jendelanya, atau judulnya, diberikan oleh lpszWindowName
.
static CWnd* PASCAL FindWindow(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName);
Parameter
lpszClassName
Menunjuk ke string null-terminated yang menentukan nama kelas jendela ( WNDCLASS
struktur). Jika lpClassName
adalah NULL
, semua nama kelas cocok.
lpszWindowName
Menunjuk ke string null-terminated yang menentukan nama jendela (judul jendela). Jika lpWindowName
adalah NULL
, semua nama jendela cocok.
Tampilkan Nilai
Mengidentifikasi jendela yang memiliki nama kelas dan nama jendela yang ditentukan. NULL
Ini jika tidak ada jendela seperti itu yang ditemukan.
* CWnd
mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Fungsi ini tidak mencari jendela anak.
Contoh
// activate an application with a window with a specific class name
BOOL CMyApp::FirstInstance()
{
CWnd *pWndPrev, *pWndChild;
// Determine if a window with the class name exists...
pWndPrev = CWnd::FindWindow(_T("MyNewClass"), NULL);
if (NULL != pWndPrev)
{
// If so, does it have any popups?
pWndChild = pWndPrev->GetLastActivePopup();
// If iconic, restore the main window
if (pWndPrev->IsIconic())
pWndPrev->ShowWindow(SW_RESTORE);
// Bring the main window or its popup to the foreground
pWndChild->SetForegroundWindow();
// and you are done activating the other application
return FALSE;
}
return TRUE;
}
CWnd::FindWindowEx
Mengambil objek jendela yang nama kelas dan nama jendelanya cocok dengan string yang ditentukan.
static CWnd* FindWindowEx(
HWND hwndParent,
HWND hwndChildAfter,
LPCTSTR lpszClass,
LPCTSTR lpszWindow);
Parameter
hwndParent
Tangani ke jendela induk yang jendela anaknya akan dicari.
hwndChildAfter
Menangani ke jendela anak. Pencarian dimulai dengan jendela anak berikutnya dalam urutan Z. Jendela anak harus berupa jendela anak langsung dari hwndParent
, bukan hanya jendela turunan.
lpszClass
Penunjuk ke string yang dihentikan null yang menentukan nama kelas atau atom kelas yang dibuat oleh panggilan sebelumnya ke RegisterClass
atau RegisterClassEx
.
lpszWindow
Penunjuk ke string yang dihentikan null yang menentukan nama jendela (judul jendela). Jika parameter ini adalah NULL
, semua nama jendela cocok.
Tampilkan Nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah penunjuk ke objek jendela yang memiliki nama kelas dan jendela yang ditentukan. Jika fungsi gagal, nilai yang dikembalikan adalah NULL
.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi FindWindowEx
, seperti yang dijelaskan dalam Windows SDK.
CWnd::FlashWindow
Mem-flash jendela yang diberikan sekali.
BOOL FlashWindow(BOOL bInvert);
Parameter
bInvert
Menentukan apakah CWnd
akan di-flash atau dikembalikan ke status aslinya. CWnd
di-flash dari satu status ke status lainnya jika bInvert
adalah TRUE
. Jika bInvert
adalah FALSE
, jendela dikembalikan ke status aslinya (aktif atau tidak aktif).
Tampilkan Nilai
Bukan nol jika jendela aktif sebelum panggilan ke FlashWindow
fungsi anggota; jika tidak, 0.
Keterangan
Untuk flashing berturut-turut, buat timer sistem dan berulang kali panggil FlashWindow
. Berkedip berarti CWnd
mengubah tampilan bilah judulnya seolah-olah CWnd
berubah dari status tidak aktif menjadi aktif, atau sebaliknya. (Bilah judul tidak aktif berubah menjadi bilah judul aktif; bilah judul aktif berubah menjadi bilah judul tidak aktif.)
Biasanya, jendela di-flash untuk memberi tahu pengguna bahwa jendela memerlukan perhatian tetapi saat ini tidak memiliki fokus input.
Parameter bInvert
harus FALSE
hanya ketika jendela mendapatkan fokus input dan tidak akan lagi berkedip; itu harus TRUE
pada panggilan berturut-turut sambil menunggu untuk mendapatkan fokus input.
Fungsi ini selalu mengembalikan nonzero untuk jendela yang diminimalkan. Jika jendela diminimalkan, FlashWindow
akan mem-flash ikon jendela; bInvert
diabaikan untuk jendela yang diminimalkan.
Contoh
BOOL CPenWidthsDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// set timer to cause dialog to flash
SetTimer(1, 500, NULL);
return TRUE; // return TRUE unless you set the focus to a control
}
void CPenWidthsDlg::OnTimer(UINT_PTR nIDEvent)
{
// cause the dialog to flash
FlashWindow(TRUE);
CDialog::OnTimer(nIDEvent);
}
CWnd::FlashWindowEx
Mem-flash jendela yang diberikan.
BOOL FlashWindowEx(
DWORD dwFlags,
UINT uCount,
DWORD dwTimeout);
Parameter
*dwFlags*
Menentukan status lampu kilat. Untuk daftar lengkap nilai, lihat strukturnya FLASHWINFO
.
uCount
Menentukan berapa kali untuk mem-flash jendela.
dwTimeout
Menentukan laju, dalam milidetik, di mana jendela akan di-flash. Jika dwTimeout
nol, fungsi menggunakan laju kedipan kursor default.
Tampilkan Nilai
Nilai pengembalian menentukan status jendela sebelum panggilan ke FlashWindowEx
fungsi. Jika keterangan jendela digambar sebagai aktif sebelum panggilan, nilai yang dikembalikan bukan nol. Jika tidak, nilai yang dikembalikan adalah nol.
Keterangan
Metode ini menimulasi fungsionalitas fungsi FlashWindowEx
, seperti yang dijelaskan dalam Windows SDK.
CWnd::FromHandle
Mengembalikan penunjuk ke CWnd
objek saat diberikan handel ke jendela. CWnd
Jika objek tidak dilampirkan ke handel, objek sementara CWnd
dibuat dan dilampirkan.
static CWnd* PASCAL FromHandle(HWND hWnd);
Parameter
hWnd
Jendela HWND
Windows.
Tampilkan Nilai
Mengembalikan penunjuk ke CWnd
objek saat diberikan handel ke jendela. CWnd
Jika objek tidak dilampirkan ke handel, objek sementara CWnd
dibuat dan dilampirkan.
Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
CWnd::FromHandlePermanent
Mengembalikan penunjuk ke CWnd
objek saat diberikan handel ke jendela.
static CWnd* PASCAL FromHandlePermanent(HWND hWnd);
Parameter
hWnd
Jendela HWND
Windows.
Tampilkan Nilai
Penunjuk ke CWnd
objek.
Keterangan
CWnd
Jika objek tidak dilampirkan ke handel, NULL
akan dikembalikan.
Fungsi ini, tidak seperti FromHandle
, tidak membuat objek sementara.
CWnd::get_accChild
Dipanggil oleh kerangka kerja untuk mengambil alamat IDispatch
antarmuka untuk anak yang ditentukan.
virtual HRESULT get_accChild(
VARIANT varChild,
IDispatch** ppdispChild);
Parameter
varChild
Mengidentifikasi anak yang antarmukanya IDispatch
akan diambil.
ppdispChild
Menerima alamat antarmuka objek IDispatch
anak.
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::get_accChild
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas turunan Anda CWnd
jika Anda memiliki elemen antarmuka pengguna nonwindowed (selain kontrol ActiveX tanpa jendela, yang ditangani MFC).
Untuk informasi selengkapnya, lihat IAccessible::get_accChild
di Windows SDK.
CWnd::get_accChildCount
Dipanggil oleh kerangka kerja untuk mengambil jumlah anak milik objek ini.
virtual HRESULT get_accChildCount(long* pcountChildren);
Parameter
pcountChildren
Menerima jumlah anak.
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::get_accChildCount
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas turunan Anda CWnd
jika Anda memiliki elemen antarmuka pengguna nonwindowed (selain kontrol ActiveX tanpa jendela, yang ditangani MFC). Panggil versi kelas dasar lalu tambahkan elemen turunan yang tidak bercacat.
Untuk informasi selengkapnya, lihat IAccessible::get_accChildCount
di Windows SDK.
CWnd::get_accDefaultAction
Dipanggil oleh kerangka kerja untuk mengambil string yang menjelaskan tindakan default objek.
virtual HRESULT get_accDefaultAction(
VARIANT varChild,
BSTR* pszDefaultAction);
Parameter
varChild
Menentukan apakah tindakan default yang akan diambil adalah objek atau salah satu elemen anak objek. Parameter ini dapat berupa CHILDID_SELF
(untuk mendapatkan informasi tentang objek) atau ID anak (untuk mendapatkan informasi tentang elemen turunan objek).
pszDefaultAction
Alamat yang BSTR
menerima string yang dilokalkan yang menjelaskan tindakan default untuk objek yang ditentukan, atau NULL
jika objek ini tidak memiliki tindakan default.
Tampilkan Nilai
Mengembalikan S_OK pada keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::get_accDefaultAction di Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas -turunan Anda CWnd
untuk menjelaskan tindakan default objek Anda.
Untuk informasi selengkapnya, lihat IAccessible::get_accDefaultAction
di Windows SDK.
CWnd::get_accDescription
Dipanggil oleh kerangka kerja untuk mengambil string yang menjelaskan tampilan visual objek yang ditentukan.
virtual HRESULT get_accDescription(
VARIANT varChild,
BSTR* pszDescription);
Parameter
varChild
Menentukan apakah deskripsi yang akan diambil adalah dari objek atau salah satu elemen anak objek. Parameter ini dapat berupa CHILDID_SELF
(untuk mendapatkan informasi tentang objek) atau ID anak (untuk mendapatkan informasi tentang elemen turunan objek).
pszDescription
Alamat yang BSTR
menerima string yang dilokalkan yang menjelaskan objek yang ditentukan, atau NULL
jika tidak ada deskripsi yang tersedia untuk objek ini.
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::get_accDescription
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas turunan Anda CWnd
untuk menjelaskan objek Anda. Panggil versi kelas dasar dan tambahkan deskripsi Anda.
Untuk informasi selengkapnya, lihat IAccessible::get_accDescription
di Windows SDK.
CWnd::get_accFocus
Dipanggil oleh kerangka kerja untuk mengambil objek yang memiliki fokus keyboard.
virtual HRESULT get_accFocus(VARIANT* pvarChild);
Parameter
pvarChild
Menerima informasi tentang objek yang memiliki fokus. Lihat pvarID
di IAccessible::get_accFocus
Windows SDK.
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::get_accFocus
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas turunan Anda CWnd
jika Anda memiliki elemen antarmuka pengguna nonwindowed (selain kontrol ActiveX tanpa jendela, yang ditangani MFC).
Untuk informasi selengkapnya, lihat IAccessible::get_accFocus
di Windows SDK.
CWnd::get_accHelp
Dipanggil oleh kerangka kerja untuk mengambil string properti Bantuan objek.
virtual HRESULT get_accHelp(
VARIANT varChild,
BSTR* pszHelp);
Parameter
varChild
Menentukan apakah informasi bantuan yang akan diambil adalah dari objek atau salah satu elemen anak objek. Parameter ini dapat berupa CHILDID_SELF
(untuk mendapatkan informasi tentang objek) atau ID anak (untuk mendapatkan informasi tentang elemen turunan objek).
pszHelp
Alamat yang BSTR
menerima string yang dilokalkan yang berisi informasi bantuan untuk objek yang ditentukan, atau NULL
jika tidak ada informasi bantuan yang tersedia.
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::get_accHelp
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas turunan Anda CWnd
untuk memberikan teks bantuan untuk objek Anda.
Untuk informasi selengkapnya, lihat IAccessible::get_accHelp
di Windows SDK.
CWnd::get_accHelpTopic
Dipanggil oleh kerangka kerja untuk mengambil jalur lengkap file WinHelp yang terkait dengan objek yang ditentukan dan pengidentifikasi topik yang sesuai dalam file tersebut.
virtual HRESULT get_accHelpTopic(
BSTR* pszHelpFile,
VARIANT varChild,
long* pidTopic);
Parameter
pszHelpFile
Alamat yang BSTR
menerima jalur lengkap file yang WinHelp
terkait dengan objek yang ditentukan, jika ada.
varChild
Menentukan apakah topik Bantuan yang akan diambil adalah dari objek atau salah satu elemen anak objek. Parameter ini dapat berupa CHILDID_SELF
(untuk mendapatkan topik Bantuan untuk objek) atau ID anak (untuk mendapatkan topik Bantuan untuk salah satu elemen anak objek).
pidTopic
Mengidentifikasi topik file Bantuan yang terkait dengan objek yang ditentukan. Lihat pidTopic
di IAccessible::get_accHelpTopic
Windows SDK.
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::get_accHelpTopic
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas turunan Anda CWnd
untuk memberikan informasi bantuan tentang objek Anda.
Untuk informasi selengkapnya, lihat IAccessible::get_accHelpTopic
di Windows SDK.
CWnd::get_accKeyboardShortcut
Dipanggil oleh kerangka kerja untuk mengambil kunci pintasan atau kunci akses objek yang ditentukan.
virtual HRESULT get_accKeyboardShortcut(
VARIANT varChild,
BSTR* pszKeyboardShortcut);
Parameter
varChild
Menentukan apakah pintasan keyboard yang akan diambil adalah dari objek atau salah satu elemen turunan objek. Parameter ini dapat berupa CHILDID_SELF
(untuk mendapatkan informasi tentang objek) atau ID anak (untuk mendapatkan informasi tentang elemen turunan objek).
pszKeyboardShortcut
Alamat yang BSTR
menerima string yang dilokalkan yang mengidentifikasi pintasan keyboard, atau NULL
jika tidak ada pintasan keyboard yang terkait dengan objek yang ditentukan.
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::get_accKeyboardShortcut
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan MFC Active Accessibility
.
Ambil alih fungsi ini di kelas turunan Anda CWnd
untuk mengidentifikasi pintasan keyboard untuk objek Anda.
Untuk informasi selengkapnya, lihat IAccessible::get_accKeyboardShortcut
di Windows SDK.
CWnd::get_accName
Dipanggil oleh kerangka kerja untuk mengambil nama objek yang ditentukan.
virtual HRESULT get_accName(
VARIANT varChild,
BSTR* pszName);
Parameter
varChild
Menentukan apakah nama yang akan diambil adalah dari objek atau salah satu elemen anak objek. Parameter ini dapat berupa CHILDID_SELF
(untuk mendapatkan informasi tentang objek) atau ID anak (untuk mendapatkan informasi tentang elemen turunan objek).
pszName
Alamat yang BSTR
menerima string yang berisi nama objek yang ditentukan.
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::get_accName
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas turunan Anda CWnd
untuk mengembalikan nama objek Anda.
Untuk informasi selengkapnya, lihat IAccessible::get_accName
di Windows SDK.
CWnd::get_accParent
Dipanggil oleh kerangka kerja untuk mengambil IDispatch
antarmuka induk objek.
virtual HRESULT get_accParent(IDispatch** ppdispParent);
Parameter
ppdispParent
Menerima alamat antarmuka objek IDispatch
induk. Variabel diatur ke NULL
jika tidak ada induk, atau jika anak tidak dapat mengakses induknya.
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, COM
kode kesalahan pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::get_accParent
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Dalam kebanyakan kasus, Anda tidak perlu mengambil alih fungsi ini.
Untuk informasi selengkapnya, lihat IAccessible::get_accParent
di Windows SDK.
CWnd::get_accRole
Dipanggil oleh kerangka kerja untuk mengambil informasi yang menjelaskan peran objek yang ditentukan.
virtual HRESULT get_accRole(
VARIANT varChild,
VARIANT* pvarRole);
Parameter
varChild
Menentukan apakah informasi peran yang akan diambil adalah dari objek atau salah satu elemen anak objek. Parameter ini dapat berupa CHILDID_SELF
(untuk mendapatkan informasi tentang objek) atau ID anak (untuk mendapatkan informasi tentang elemen turunan objek).
pvarRole
Menerima informasi peran. Lihat pvarRole
di IAccessible::get_accRole
Windows SDK.
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::get_accRole
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas turunan Anda CWnd
jika Anda memiliki elemen antarmuka pengguna nonwindowed (selain kontrol ActiveX tanpa jendela, yang ditangani MFC).
Untuk informasi selengkapnya, lihat IAccessible::get_accRole
di Windows SDK.
CWnd::get_accSelection
Dipanggil oleh kerangka kerja untuk mengambil anak terpilih dari objek ini.
virtual HRESULT get_accSelection(VARIANT* pvarChildren);
Parameter
pvarChildren
Menerima informasi tentang anak mana yang dipilih. Lihat pvarChildren
di IAccessible::get_accSelection
Windows SDK.
Tampilkan Nilai
Mengembalikan S_OK pada keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::get_accSelection
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas turunan Anda CWnd
jika Anda memiliki elemen antarmuka pengguna nonwindowed (selain kontrol ActiveX tanpa jendela, yang ditangani MFC).
Untuk informasi selengkapnya, lihat IAccessible::get_accSelection
di Windows SDK.
CWnd::get_accState
Dipanggil oleh kerangka kerja untuk mengambil status objek yang ditentukan saat ini.
virtual HRESULT get_accState(
VARIANT varChild,
VARIANT* pvarState);
Parameter
varChild
Menentukan apakah informasi status yang akan diambil adalah objek atau salah satu elemen anak objek. Parameter ini dapat berupa CHILDID_SELF
(untuk mendapatkan informasi tentang objek) atau ID anak (untuk mendapatkan informasi tentang elemen turunan objek).
pvarState
Menerima informasi tentang status objek. Lihat pvarState
di IAccessible::get_accState
Windows SDK.
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::get_accState
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas turunan Anda CWnd
jika Anda memiliki elemen antarmuka pengguna nonwindowed (selain kontrol ActiveX tanpa jendela, yang ditangani MFC).
Untuk informasi selengkapnya, lihat IAccessible::get_accState
di Windows SDK.
CWnd::get_accValue
Dipanggil oleh kerangka kerja untuk mengambil nilai objek yang ditentukan.
virtual HRESULT get_accValue(
VARIANT varChild,
BSTR* pszValue);
Parameter
varChild
Menentukan apakah informasi nilai yang akan diambil adalah dari objek atau salah satu elemen turunan objek. Parameter ini dapat berupa CHILDID_SELF
(untuk mendapatkan informasi tentang objek) atau ID anak (untuk mendapatkan informasi tentang elemen turunan objek).
pszValue
BSTR
Alamat yang menerima string yang dilokalkan yang berisi nilai objek saat ini.
Tampilkan Nilai
Mengembalikan S_OK
keberhasilan, kode kesalahan COM pada kegagalan. Lihat Mengembalikan Nilai di IAccessible::get_accValue
Windows SDK.
Keterangan
Fungsi ini adalah bagian dari dukungan Aksesibilitas Aktif MFC.
Ambil alih fungsi ini di kelas turunan Anda CWnd
jika Anda memiliki elemen antarmuka pengguna nonwindowed (selain kontrol ActiveX tanpa jendela, yang ditangani MFC).
Untuk informasi selengkapnya, lihat IAccessible::get_accValue
di Windows SDK.
CWnd::GetActiveWindow
Mengambil penunjuk ke jendela aktif.
static CWnd* PASCAL GetActiveWindow();
Tampilkan Nilai
Jendela aktif atau NULL
jika tidak ada jendela yang aktif pada saat panggilan. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Jendela aktif adalah jendela yang memiliki fokus input saat ini atau jendela yang secara eksplisit dibuat aktif oleh SetActiveWindow
fungsi anggota.
CWnd::GetAncestor
Mengambil objek jendela leluhur dari jendela yang ditentukan.
CWnd* GetAncestor(UINT gaFlags) const;
Parameter
gaFlags
Menentukan leluhur yang akan diambil. Untuk daftar lengkap nilai yang mungkin, lihat GetAncestor
.
Tampilkan Nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah penunjuk ke objek jendela leluhur. Jika fungsi gagal, nilai yang dikembalikan adalah NULL
.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi GetAncestor
, seperti yang dijelaskan dalam Windows SDK.
CWnd::GetCapture
Mengambil jendela yang memiliki tangkapan mouse.
static CWnd* PASCAL GetCapture();
Tampilkan Nilai
Mengidentifikasi jendela yang memiliki tangkapan mouse. NULL
Jika tidak ada jendela yang memiliki tangkapan mouse.
Nilai yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Hanya satu jendela yang memiliki tangkapan mouse pada waktu tertentu. Jendela menerima tangkapan mouse saat SetCapture
fungsi anggota dipanggil. Jendela ini menerima input mouse apakah kursor berada di dalam batasnya atau tidak.
CWnd::GetCaretPos
Mengambil koordinat klien dari posisi caret saat ini dan mengembalikannya sebagai CPoint
.
static CPoint PASCAL GetCaretPos();
Tampilkan Nilai
CPoint
objek yang berisi koordinat posisi tanda sisipan.
Keterangan
Posisi caret diberikan dalam koordinat klien jendela CWnd
.
CWnd::GetCheckedRadioButton
Mengambil ID tombol radio yang saat ini dicentang dalam grup yang ditentukan.
int GetCheckedRadioButton(
int nIDFirstButton,
int nIDLastButton);
Parameter
nIDFirstButton
Menentukan pengidentifikasi bilangan bulat tombol radio pertama dalam grup.
nIDLastButton
Menentukan pengidentifikasi bilangan bulat dari tombol radio terakhir dalam grup.
Tampilkan Nilai
ID tombol radio yang dicentang, atau 0 jika tidak ada yang dipilih.
CWnd::GetClientRect
Menyalin koordinat klien dari CWnd
area klien ke dalam struktur yang ditujukkan oleh lpRect
.
void GetClientRect(LPRECT lpRect) const;
Parameter
lpRect
Menunjuk ke RECT
struktur atau CRect
objek untuk menerima koordinat klien. Anggota left
dan top
akan menjadi 0. Anggota right
dan bottom
akan berisi lebar dan tinggi jendela.
Keterangan
Koordinat klien menentukan sudut kiri atas dan kanan bawah area klien. Karena koordinat klien relatif terhadap sudut CWnd
kiri atas area klien, koordinat sudut kiri atas adalah (0,0).
Contoh
Lihat contoh untuk CWnd::IsIconic
.
CWnd::GetClipboardOwner
Mengambil pemilik Papan Klip saat ini.
static CWnd* PASCAL GetClipboardOwner();
Tampilkan Nilai
Mengidentifikasi jendela yang memiliki Clipboard jika fungsi berhasil. Jika tidak, ini adalah NULL
.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Clipboard masih dapat berisi data meskipun saat ini tidak dimiliki.
CWnd::GetClipboardViewer
Mengambil jendela pertama dalam rantai Penampil Clipboard.
static CWnd* PASCAL GetClipboardViewer();
Tampilkan Nilai
Mengidentifikasi jendela yang saat ini bertanggung jawab untuk menampilkan Clipboard jika berhasil; jika tidak NULL
(misalnya, jika tidak ada penampil).
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
CWnd::GetControlUnknown
Panggil fungsi anggota ini untuk mengambil penunjuk ke kontrol OLE yang tidak diketahui.
LPUNKNOWN GetControlUnknown();
Tampilkan Nilai
Penunjuk ke IUnknown
antarmuka kontrol OLE yang diwakili oleh objek ini CWnd
. Jika objek ini tidak mewakili kontrol OLE, nilai yang dikembalikan adalah NULL
.
Keterangan
Anda tidak boleh melepaskan pointer ini IUnknown
. Biasanya, Anda akan menggunakan untuk mendapatkan antarmuka kontrol tertentu.
Penunjuk antarmuka yang dikembalikan GetControlUnknown
tidak dihitung referensi. Jangan panggil IUnknown::Release
penunjuk kecuali Anda sebelumnya telah memanggilnya IUnknown::AddRef
.
Contoh
// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is a CDialog-derived class.
// IDC_MSACALCTRL1 is the ID of the Calendar control OCX embedded
// on this dialog
CWnd *pWndCal = GetDlgItem(IDC_MSACALCTRL1);
// Use the IUnknown of the control
LPUNKNOWN pUnk = pWndCal->GetControlUnknown();
// From there get the IDispatch interface of control
LPDISPATCH pDisp = NULL;
pUnk->QueryInterface(IID_IDispatch, (LPVOID*)&pDisp);
// use IDispatch method to invoke the control's functionality
CWnd::GetCurrentMessage
Mengembalikan penunjuk ke pesan yang sedang diproses oleh jendela ini. Hanya boleh dipanggil ketika dalam fungsi anggota onMessage message-handler.
static const MSG* PASCAL GetCurrentMessage();
Tampilkan Nilai
Mengembalikan penunjuk ke MSG
struktur yang berisi pesan yang saat ini sedang diproses oleh jendela. Hanya boleh dipanggil saat berada di handler OnMessage .
Contoh
Lihat contoh untuk CMDIFrameWnd::MDICascade
.
CWnd::GetDC
Mengambil penunjuk ke konteks perangkat umum, kelas, atau privat untuk area klien tergantung pada gaya kelas yang ditentukan untuk CWnd
.
CDC* GetDC();
Tampilkan Nilai
Mengidentifikasi konteks perangkat untuk CWnd
area klien jika berhasil; jika tidak, nilai yang dikembalikan adalah NULL
. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Untuk konteks perangkat umum, GetDC
tetapkan atribut default ke konteks setiap kali diambil. Untuk konteks kelas dan privat, GetDC
membuat atribut yang ditetapkan sebelumnya tidak berubah. Konteks perangkat dapat digunakan dalam fungsi antarmuka perangkat grafis (GDI) berikutnya untuk menggambar di area klien.
Kecuali konteks perangkat termasuk dalam kelas jendela, ReleaseDC
fungsi anggota harus dipanggil untuk merilis konteks setelah pengecatan.
Konteks perangkat milik CWnd
kelas dikembalikan oleh GetDC
fungsi anggota jika CS_CLASSDC
, , CS_OWNDC
atau CS_PARENTDC
ditentukan sebagai gaya dalam WNDCLASS
struktur saat kelas terdaftar.
CWnd::GetDCEx
Mengambil handel konteks perangkat untuk jendela CWnd
.
CDC* GetDCEx(
CRgn* prgnClip,
DWORD flags);
Parameter
prgnClip
Mengidentifikasi wilayah kliping yang mungkin dikombinasikan dengan wilayah jendela klien yang terlihat.
flags
Dapat memiliki salah satu nilai prasetel berikut:
DCX_CACHE
Mengembalikan konteks perangkat dari cache daripada jendelaOWNDC
atauCLASSDC
. Mengambil alihCS_OWNDC
danCS_CLASSDC
.DCX_CLIPCHILDREN
Mengecualikan wilayah yang terlihat dari semua jendela anak diCWnd
bawah jendela.DCX_CLIPSIBLINGS
Mengecualikan wilayah yang terlihat dari semua jendela saudara di atasCWnd
jendela.DCX_EXCLUDERGN
Mengecualikan wilayah kliping yang diidentifikasi olehprgnClip
dari wilayah yang terlihat dari konteks perangkat yang dikembalikan.DCX_INTERSECTRGN
Berpotongan wilayah kliping yang diidentifikasi olehprgnClip
dalam wilayah yang terlihat dari konteks perangkat yang dikembalikan.DCX_LOCKWINDOWUPDATE
Memungkinkan gambar bahkan jika adaLockWindowUpdate
panggilan yang berlaku yang akan mengecualikan jendela ini. Nilai ini digunakan untuk menggambar selama pelacakan.DCX_PARENTCLIP
Menggunakan wilayah jendela induk yang terlihat dan mengabaikan bit gaya danWS_PARENTDC
jendelaWS_CLIPCHILDREN
induk. Nilai ini mengatur asal konteks perangkat ke sudut kiri atasCWnd
jendela.DCX_WINDOW
Mengembalikan konteks perangkat yang sesuai dengan persegi jendela daripada persegi panjang klien.
Tampilkan Nilai
Konteks perangkat untuk jendela yang ditentukan jika fungsi berhasil; jika tidak NULL
.
Keterangan
Konteks perangkat dapat digunakan dalam fungsi GDI berikutnya untuk menggambar di area klien.
Fungsi ini, yang merupakan ekstensi untuk GetDC
fungsi, memberikan aplikasi kontrol lebih besar atas bagaimana dan apakah konteks perangkat untuk jendela diklip.
Kecuali konteks perangkat termasuk dalam kelas jendela, ReleaseDC
fungsi harus dipanggil untuk merilis konteks setelah menggambar. Karena hanya lima konteks perangkat umum yang tersedia pada waktu tertentu, kegagalan untuk merilis konteks perangkat dapat mencegah aplikasi lain mendapatkan akses ke konteks perangkat.
Untuk mendapatkan konteks perangkat yang di-cache, aplikasi harus menentukan DCX_CACHE
. Jika DCX_CACHE tidak ditentukan dan jendela tidak CS_OWNDC
atau CS_CLASSDC
, fungsi ini mengembalikan NULL
.
Konteks perangkat dengan karakteristik khusus dikembalikan oleh GetDCEx
fungsi jika CS_CLASSDC
gaya , , CS_OWNDC
atau CS_PARENTDC
ditentukan dalam WNDCLASS
struktur saat kelas didaftarkan.
Untuk informasi selengkapnya tentang karakteristik ini, lihat deskripsi WNDCLASS
struktur di Windows SDK.
CWnd::GetDCRenderTarget
Mengambil target render konteks perangkat (DC) untuk CWnd
jendela.
CDCRenderTarget* GetDCRenderTarget();
Tampilkan Nilai
Target render konteks perangkat untuk jendela yang ditentukan jika fungsi berhasil; jika tidak NULL
.
Keterangan
CWnd::GetDescendantWindow
Panggil fungsi anggota ini untuk menemukan jendela turunan yang ditentukan oleh ID yang diberikan.
CWnd* GetDescendantWindow(
int nID,
BOOL bOnlyPerm = FALSE) const;
Parameter
nID
Menentukan pengidentifikasi jendela kontrol atau anak yang akan diambil.
bOnlyPerm
Menentukan apakah jendela yang akan dikembalikan dapat bersifat sementara. Jika TRUE
, hanya jendela permanen yang dapat dikembalikan; jika FALSE
, fungsi dapat mengembalikan jendela sementara. Untuk informasi selengkapnya tentang jendela sementara, lihat Catatan Teknis 3.
Tampilkan Nilai
Penunjuk ke CWnd
objek, atau NULL
jika tidak ada jendela anak yang ditemukan.
Keterangan
Fungsi anggota ini mencari seluruh pohon jendela anak, tidak hanya jendela yang merupakan anak langsung.
CWnd::GetDesktopWindow
Mengembalikan jendela desktop Windows.
static CWnd* PASCAL GetDesktopWindow();
Tampilkan Nilai
Mengidentifikasi jendela desktop Windows. Penunjuk ini mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Jendela desktop mencakup seluruh layar dan merupakan area di atas semua ikon dan jendela lain dicat.
CWnd::GetDlgCtrlID
Mengembalikan jendela atau nilai ID kontrol untuk jendela anak mana pun, tidak hanya dari kontrol dalam kotak dialog.
int GetDlgCtrlID() const;
Tampilkan Nilai
Pengidentifikasi CWnd
numerik jendela anak jika fungsi berhasil; jika tidak, 0.
Keterangan
Karena jendela tingkat atas tidak memiliki nilai ID, nilai pengembalian fungsi ini tidak valid jika CWnd
adalah jendela tingkat atas.
Contoh
Lihat contoh untuk CWnd::OnCtlColor
.
CWnd::GetDlgItem
Mengambil penunjuk ke jendela kontrol atau anak yang ditentukan dalam kotak dialog atau jendela lainnya.
CWnd* GetDlgItem(int nID) const;
void GetDlgItem(
int nID,
HWND* phWnd) const;
Parameter
nID
Menentukan pengidentifikasi jendela kontrol atau anak yang akan diambil.
phWnd
Penunjuk ke jendela anak.
Tampilkan Nilai
Penunjuk ke kontrol atau jendela anak yang diberikan. Jika tidak ada kontrol dengan ID bilangan bulat yang nID
diberikan oleh parameter, nilainya adalah NULL
.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Pointer yang dikembalikan biasanya ditransmisikan ke jenis kontrol yang diidentifikasi oleh nID
.
Contoh
// uses GetDlgItem to return a pointer to a user interface control
CEdit *pBoxOne;
pBoxOne = (CEdit*)GetDlgItem(IDC_MYEDIT);
GotoDlgCtrl(pBoxOne);
CWnd::GetDlgItemInt
Mengambil teks kontrol yang diidentifikasi oleh nID
.
UINT GetDlgItemInt(
int nID,
BOOL* lpTrans = NULL,
BOOL bSigned = TRUE) const;
Parameter
nID
Menentukan pengidentifikasi bilangan bulat kontrol kotak dialog yang akan diterjemahkan.
lpTrans
Arahkan ke variabel Boolean yaitu menerima bendera yang diterjemahkan.
bSigned
Menentukan apakah nilai yang akan diambil ditandatangani.
Tampilkan Nilai
Menentukan nilai yang diterjemahkan dari teks item kotak dialog. Karena 0 adalah nilai pengembalian yang valid, lpTrans
harus digunakan untuk mendeteksi kesalahan. Jika nilai pengembalian yang ditandatangani diinginkan, transmisikan sebagai int
jenis.
Fungsi mengembalikan 0 jika angka yang diterjemahkan lebih besar dari INT_MAX
(untuk angka yang ditandatangani) atau UINT_MAX
(untuk tidak ditandatangani).
Ketika kesalahan terjadi, seperti mengalami karakter nonnumerik dan melebihi maksimum di atas, GetDlgItemInt
salin 0 ke lokasi yang ditujukkan oleh lpTrans
. Jika tidak ada kesalahan, lpTrans
menerima nilai bukan nol. Jika lpTrans
adalah NULL
, GetDlgItemInt
tidak memperingatkan tentang kesalahan.
Keterangan
Ini menerjemahkan teks kontrol yang ditentukan dalam kotak dialog yang diberikan ke dalam nilai bilangan bulat dengan menghapus spasi tambahan di awal teks dan mengonversi digit desimal. Ini menghentikan terjemahan ketika mencapai akhir teks atau menemukan karakter nonnumerik.
Jika bSigned
adalah TRUE
, GetDlgItemInt
memeriksa tanda minus (-) di awal teks dan menerjemahkan teks ke dalam nomor bertanda tangan. Jika tidak, itu membuat nilai yang tidak ditandatangani.
Ini mengirim pesan WM_GETTEXT
ke kontrol.
CWnd::GetDlgItemText
Panggil fungsi anggota ini untuk mengambil judul atau teks yang terkait dengan kontrol dalam kotak dialog.
int GetDlgItemText(
int nID,
LPTSTR lpStr,
int nMaxCount) const;
int GetDlgItemText(
int nID,
CString& rString) const;
Parameter
nID
Menentukan pengidentifikasi bilangan bulat kontrol yang judulnya akan diambil.
lpStr
Arahkan ke buffer untuk menerima judul atau teks kontrol.
nMaxCount
Menentukan panjang maksimum (dalam karakter) string yang akan disalin ke lpStr
. Jika string lebih panjang dari nMaxCount
, string dipotong.
rString
Referensi ke CString
.
Tampilkan Nilai
Menentukan jumlah karakter aktual yang disalin ke buffer, tidak termasuk karakter null yang dihentikan. Nilainya adalah 0 jika tidak ada teks yang disalin.
Keterangan
Fungsi GetDlgItemText
anggota menyalin teks ke lokasi yang ditujukkan oleh lpStr
dan mengembalikan hitungan jumlah byte yang disalinnya.
CWnd::GetDSCCursor
Panggil fungsi anggota ini untuk mengambil penunjuk ke kursor yang mendasar yang ditentukan oleh DataSource
properti , , Password
UserName
, dan SQL kontrol sumber data.
IUnknown* GetDSCCursor();
Tampilkan Nilai
Penunjuk ke kursor yang ditentukan oleh kontrol sumber data. MFC mengurus panggilan AddRef
untuk pointer.
Keterangan
Gunakan penunjuk yang dikembalikan untuk mengatur ICursor
properti kontrol terikat data yang kompleks, seperti kontrol kisi terikat data. Kontrol sumber data tidak akan aktif sampai kontrol terikat pertama meminta kursornya. Ini dapat terjadi baik secara eksplisit dengan panggilan ke GetDSCCursor
atau secara implisit oleh manajer pengikatan MFC. Dalam kedua kasus, Anda dapat memaksa kontrol sumber data menjadi aktif dengan memanggil GetDSCCursor
lalu memanggil Release
penunjuk yang dikembalikan ke IUnknown
. Aktivasi akan menyebabkan kontrol sumber data mencoba menyambungkan ke sumber data yang mendasar. Penunjuk yang dikembalikan mungkin digunakan dalam konteks berikut:
Contoh
BOOL CMyDlg::OnInitDialog()
{
// Find the child controls on the dialog
HRESULT hr = E_FAIL;
CWnd *pDSC = GetDlgItem(IDC_DATASOURCE);
CWnd *pListWnd = GetDlgItem(IDC_DBLIST1);
IUnknown *punkList = pListWnd->GetControlUnknown();
IDBList *pList = NULL;
if (NULL != punkList)
{
hr = punkList->QueryInterface(__uuidof(IDBList), (void **)&pList);
}
if (SUCCEEDED(hr))
{
// Tell the MFC binding manager that we are
// binding DISPID 3 to the data-source control.
pListWnd->BindProperty(0x3, pDSC);
// Tell the listbox which field to expose as its bound column
pList->put_BoundColumn(_T("ContactFirstName"));
// Tell the listbox which cursor and column to populate its list from
pList->put_ListField(_T("ContactFirstName"));
IUnknown *punkCursor = pDSC->GetDSCCursor();
if (NULL != punkCursor)
{
punkCursor->Release();
}
pList->Release();
return TRUE;
}
CWnd::GetDynamicLayout
Mengambil penunjuk ke objek manajer tata letak dinamis.
CMFCDynamicLayout* GetDynamicLayout();
Tampilkan Nilai
Penunjuk ke objek manajer tata letak dinamis, atau NULL
jika tata letak dinamis tidak diaktifkan.
Keterangan
Objek jendela memiliki dan mengelola masa pakai pointer yang dikembalikan, sehingga hanya boleh digunakan untuk mengakses objek; jangan hapus penunjuk atau simpan penunjuk secara permanen.
CWnd::GetExStyle
Mengembalikan gaya jendela yang diperluas.
DWORD GetExStyle() const;
Tampilkan Nilai
Gaya jendela diperluas. Untuk informasi selengkapnya tentang gaya jendela yang diperluas yang digunakan di MFC, lihat Gaya Jendela yang Diperluas.
CWnd::GetFocus
Mengambil penunjuk ke CWnd
yang saat ini memiliki fokus input.
static CWnd* PASCAL GetFocus();
Tampilkan Nilai
Penunjuk ke jendela yang memiliki fokus saat ini, atau NULL
jika tidak ada jendela fokus.
Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
CWnd::GetFont
WM_GETFONT
Mengirim pesan ke jendela untuk mengambil font saat ini.
CFont* GetFont() const;
Tampilkan Nilai
Penunjuk ke CFont
objek yang dilampirkan ke font saat ini untuk jendela.
Keterangan
Metode ini tidak berpengaruh kecuali jendela memproses WM_GETFONT
pesan. Banyak kelas MFC yang berasal dari CWnd
proses pesan ini karena dilampirkan ke kelas jendela yang telah ditentukan sebelumnya yang menyertakan handler pesan untuk pesan.WM_GETFONT
Untuk menggunakan metode ini, kelas yang Anda dapatkan CWnd
harus menentukan handler metode untuk WM_GETFONT
pesan.
CWnd::GetForegroundWindow
Mengembalikan penunjuk ke jendela latar depan (jendela tempat pengguna saat ini bekerja).
static CWnd* PASCAL GetForegroundWindow();
Tampilkan Nilai
Penunjuk ke jendela latar depan. Ini mungkin objek sementara CWnd
.
Keterangan
Jendela latar depan hanya berlaku untuk jendela tingkat atas (jendela bingkai atau kotak dialog).
CWnd::GetIcon
Panggil fungsi anggota ini untuk mendapatkan handel ke ikon besar (32x32) atau handel ke ikon kecil (16x16), seperti yang ditunjukkan oleh bBigIcon
.
HICON GetIcon(BOOL bBigIcon) const;
Parameter
bBigIcon
Menentukan ikon 32 piksel dengan 32 piksel jika TRUE
; menentukan ikon 16 piksel dengan 16 piksel jika FALSE
.
Tampilkan Nilai
Handel ke ikon. Jika tidak berhasil, mengembalikan NULL
.
CWnd::GetLastActivePopup
Menentukan jendela pop-up mana yang dimiliki oleh CWnd
yang terakhir aktif.
CWnd* GetLastActivePopup() const;
Tampilkan Nilai
Mengidentifikasi jendela pop-up aktif terbaru. Nilai yang dikembalikan akan menjadi jendela itu sendiri jika salah satu kondisi berikut terpenuhi:
Jendela itu sendiri baru-baru ini aktif.
Jendela tidak memiliki jendela pop-up apa pun.
Jendela bukan jendela tingkat atas atau dimiliki oleh jendela lain.
Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Contoh
Lihat contoh untuk CWnd::FindWindow
.
CWnd::GetLayeredWindowAttributes
Mengambil kunci warna opasitas dan transparansi dari jendela berlapis.
BOOL GetLayeredWindowAttributes(
COLORREF* pcrKey,
BYTE* pbAlpha,
DWORD* pdwFlags) const;
Parameter
pcrKey
Penunjuk ke COLORREF
nilai yang menerima kunci warna transparansi yang akan digunakan saat menyusun jendela berlapis. Semua piksel yang dicat oleh jendela dalam warna ini akan transparan. Ini bisa jika NULL
argumen tidak diperlukan.
pbAlpha
Penunjuk BYTE
ke yang menerima nilai Alpha yang digunakan untuk menjelaskan keburaman jendela berlapis. Ketika variabel yang dimaksud adalah pbAlpha
0, jendela sepenuhnya transparan. Ketika variabel yang dimaksud adalah pbAlpha
255, jendela buram. Ini bisa jika NULL
argumen tidak diperlukan.
pdwFlags
Penunjuk ke yang DWORD
menerima bendera lapisan. Ini bisa jika NULL
argumen tidak diperlukan. Untuk daftar lengkap nilai yang mungkin, lihat 'GetLayeredWindowAttributes.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi GetLayeredWindowAttributes
, seperti yang dijelaskan dalam Windows SDK.
CWnd::GetMenu
Mengambil penunjuk ke menu untuk jendela ini.
CMenu* GetMenu() const;
Tampilkan Nilai
Mengidentifikasi menu. Nilainya adalah NULL
jika CWnd
tidak memiliki menu. Nilai yang dikembalikan tidak ditentukan jika CWnd
adalah jendela anak.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Fungsi ini tidak boleh digunakan untuk jendela anak karena tidak memiliki menu.
Contoh
void CMainFrame::OnCwndDeletefilemenu()
{
// This example deletes the leftmost popup menu or leftmost
// popup menu item from the application's main window.
CWnd *pMain = AfxGetMainWnd();
// The main window _can_ be NULL, so this code
// doesn't ASSERT and actually tests.
if (pMain != NULL)
{
// Get the main window's menu
CMenu *pMenu = pMain->GetMenu();
// If there is a menu and it has items, we'll
// delete the first one.
if (pMenu != NULL && pMenu->GetMenuItemCount() > 0)
{
pMenu->DeleteMenu(0, MF_BYPOSITION);
// force a redraw of the menu bar
pMain->DrawMenuBar();
}
// No need to delete pMenu because it is an MFC
// temporary object.
}
}
CWnd::GetMenuBarInfo
Mengambil informasi tentang bilah menu yang ditentukan.
BOOL GetMenuBarInfo(
LONG idObject,
LONG idItem,
PMENUBARINFO pmbi) const;
Parameter
idObject
Menentukan objek menu. Untuk daftar nilai yang mungkin, lihat GetMenuBarInfo
.
idItem
Menentukan item yang akan diambil informasinya. Jika parameter ini nol, fungsi mengambil informasi tentang menu itu sendiri. Jika parameter ini adalah 1, fungsi mengambil informasi tentang item pertama pada menu, dan sebagainya.
pmbi
Penunjuk MENUBARINFO
ke struktur yang menerima informasi.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi GetMenuBarInfo
, seperti yang dijelaskan dalam Windows SDK.
CWnd::GetNextDlgGroupItem
Mencari kontrol sebelumnya atau berikutnya dalam sekelompok kontrol dalam kotak dialog.
CWnd* GetNextDlgGroupItem(
CWnd* pWndCtl,
BOOL bPrevious = FALSE) const;
COleControlSiteOrWnd* GetNextDlgGroupItem(
COleControlSiteOrWnd* pCurSiteOrWnd = NULL) const;
Parameter
pWndCtl
Mengidentifikasi kontrol yang akan digunakan sebagai titik awal untuk pencarian.
bPrevious
Menentukan bagaimana fungsi untuk mencari grup kontrol dalam kotak dialog. Jika TRUE
, fungsi mencari kontrol sebelumnya dalam grup; jika FALSE
, fungsi mencari kontrol berikutnya dalam grup.
pCurSiteOrWnd
COleControlSiteOrWnd
Mengidentifikasi kontrol. Untuk informasi selengkapnya tentang COleControlSiteOrWnd
, lihat Keterangan.
Tampilkan Nilai
Penunjuk ke kontrol sebelumnya atau berikutnya dalam grup jika fungsi anggota berhasil.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Sekelompok kontrol dimulai dengan kontrol yang dibuat dengan WS_GROUP
gaya dan diakhir dengan kontrol terakhir yang tidak dibuat dengan WS_GROUP
gaya.
Secara default, GetNextDlgGroupItem
fungsi anggota mengembalikan penunjuk ke kontrol berikutnya dalam grup. Jika pWndCtl
mengidentifikasi kontrol pertama dalam grup dan bPrevious
adalah TRUE
, GetNextDlgGroupItem
mengembalikan penunjuk ke kontrol terakhir dalam grup.
Catatan
Karena MFC mendukung kontrol ActiveX tanpa jendela, kontrol ActiveX standar, dan jendela, mengacu pada kontrol hanya HWND
dengan tidak lagi mencukupi. Objek COleControlSiteOrWnd
mencakup informasi yang mengidentifikasi objek sebagai kontrol ActiveX berjendela, kontrol ActiveX tanpa jendela, atau jendela, sebagai berikut:
Jenis kontrol atau jendela | Mengidentifikasi informasi |
---|---|
Kontrol ActiveX Berjendela | HWND Berisi dan mengaitkan objek COleControlSite dengannya. Anggota m_hWnd COleControlSiteOrWnd diatur ke HWND kontrol, dan m_pSite anggota menunjuk ke kontrol COleControlSite . |
Kontrol ActiveX Tanpa Jendela | HWND Tidak berisi . Anggota m_pSite menunjuk COleControlSiteOrWnd ke kontrol COleControlSite , dan m_hWnd anggotanya adalah NULL . |
Jendela standar | Hanya HWND berisi . Anggota m_hWnd COleControlSiteOrWnd diatur ke HWND jendela, dan m_pSite anggotanya adalah NULL . |
CWnd::GetNextDlgTabItem
Mengambil penunjuk ke kontrol pertama yang dibuat dengan WS_TABSTOP
gaya dan yang mendahului atau mengikuti kontrol yang ditentukan.
CWnd* GetNextDlgTabItem(
CWnd* pWndCtl,
BOOL bPrevious = FALSE) const;
COleControlSiteOrWnd* GetNextDlgTabItem(
COleControlSiteOrWnd* pCurSiteOrWnd,
BOOL bPrevious) const;
Parameter
pWndCtl
Mengidentifikasi kontrol yang akan digunakan sebagai titik awal untuk pencarian.
pCurSiteOrWnd
COleControlSiteOrWnd
Mengidentifikasi kontrol. Untuk informasi selengkapnya tentang COleControlSiteOrWnd
, lihat CWnd::GetNextDlgGroupItem
.
bPrevious
Menentukan bagaimana fungsi untuk mencari kotak dialog. Jika TRUE
, fungsi mencari kontrol sebelumnya dalam kotak dialog; jika FALSE
, fungsi mencari kontrol berikutnya.
Tampilkan Nilai
Penunjuk ke kontrol sebelumnya atau berikutnya yang memiliki WS_TABSTOP
gaya, jika fungsi anggota berhasil.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Untuk informasi selengkapnya tentang COleControlSiteOrWnd
, lihat CWnd::GetNextDlgGroupItem
.
CWnd::GetNextWindow
Mencari jendela berikutnya (atau sebelumnya) di daftar manajer jendela.
CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;
Parameter
nFlag
Menentukan apakah fungsi mengembalikan penunjuk ke jendela berikutnya atau jendela sebelumnya. Ini bisa berupa GW_HWNDNEXT
, yang mengembalikan jendela yang mengikuti CWnd
objek pada daftar manajer jendela, atau GW_HWNDPREV
, yang mengembalikan jendela sebelumnya pada daftar manajer jendela.
Tampilkan Nilai
Mengidentifikasi jendela berikutnya (atau sebelumnya) dalam daftar manajer jendela jika fungsi anggota berhasil.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Daftar manajer jendela berisi entri untuk semua jendela tingkat atas, jendela anak terkait, dan jendela anak dari jendela anak mana pun.
Jika CWnd
adalah jendela tingkat atas, fungsi mencari jendela tingkat atas berikutnya (atau sebelumnya) ; jika CWnd
adalah jendela anak, fungsi mencari jendela anak berikutnya (atau sebelumnya).
CWnd::GetOleControlSite
Mengambil situs kustom untuk kontrol ActiveX yang ditentukan.
COleControlSite* GetOleControlSite(UINT idControl) const;
Parameter
idControl
ID kontrol ActiveX.
CWnd::GetOpenClipboardWindow
Mengambil handel jendela yang saat ini membuka Papan Klip.
static CWnd* PASCAL GetOpenClipboardWindow();
Tampilkan Nilai
Handel jendela yang saat ini membuka Clipboard jika fungsi berhasil; jika tidak NULL
.
CWnd::GetOwner
Mengambil penunjuk ke pemilik jendela.
CWnd* GetOwner() const;
Tampilkan Nilai
Penunjuk ke CWnd
objek.
Keterangan
Jika jendela tidak memiliki pemilik, maka penunjuk ke objek jendela induk dikembalikan secara default. Perhatikan bahwa hubungan antara pemilik dan yang dimiliki berbeda dari aspek induk-anak dalam beberapa aspek penting. Misalnya, jendela dengan induk terbatas pada area klien jendela induknya. Jendela yang dimiliki dapat digambar di lokasi mana pun di desktop.
Konsep kepemilikan fungsi ini berbeda dari konsep GetWindow
kepemilikan .
CWnd::GetParent
Panggil fungsi ini untuk mendapatkan penunjuk ke jendela induk jendela anak (jika ada).
CWnd* GetParent() const;
Tampilkan Nilai
Lihat bagian Mengembalikan Nilai di GetParent
Windows SDK.
Keterangan
Fungsi GetParent
mengembalikan penunjuk ke induk langsung (jika ada). Sebaliknya, GetParentOwner
fungsi mengembalikan penunjuk ke jendela induk atau pemilik paling langsung yang bukan jendela anak (tidak memiliki WS_CHILD
gaya). Jika Anda memiliki jendela anak dalam jendela GetParent
anak dan GetParentOwner
mengembalikan hasil yang berbeda.
CWnd::GetParentFrame
Panggil fungsi anggota ini untuk mengambil jendela bingkai induk.
CFrameWnd* GetParentFrame() const;
Tampilkan Nilai
Penunjuk ke jendela bingkai jika berhasil; jika tidak NULL
.
Keterangan
Fungsi anggota mencari rantai induk hingga CFrameWnd
objek (atau kelas turunan) ditemukan.
CWnd::GetParentOwner
Panggil fungsi anggota ini untuk mendapatkan penunjuk ke jendela induk jendela anak atau jendela pemilik.
CWnd* GetParentOwner() const;
Tampilkan Nilai
Penunjuk ke CWnd
objek. CWnd
Jika objek tidak dilampirkan ke handel, objek sementara CWnd
dibuat dan dilampirkan. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
GetParentOwner
mengembalikan penunjuk ke jendela induk atau pemilik paling langsung yang bukan jendela anak (tidak memiliki WS_CHILD
gaya). Jendela pemilik saat ini dapat diatur dengan SetOwner
. Secara default, induk jendela adalah pemiliknya.
Sebaliknya, GetParent
fungsi mengembalikan penunjuk ke induk langsung, apakah itu jendela turunan atau tidak. Jika Anda memiliki jendela anak dalam jendela GetParent
anak dan GetParentOwner
mengembalikan hasil yang berbeda.
CWnd::GetProperty
Panggil fungsi anggota ini untuk mendapatkan properti kontrol ActiveX yang ditentukan oleh dwDispID
.
void GetProperty(
DISPID dwDispID,
VARTYPE vtProp,
void* pvProp)const;
Parameter
dwDispID
Mengidentifikasi properti yang akan diambil.
vtProp
Menentukan tipe properti yang akan diambil. Untuk nilai yang mungkin, lihat bagian Keterangan untuk COleDispatchDriver::InvokeHelper
.
pvProp
Alamat variabel yang akan menerima nilai properti. Ini harus cocok dengan jenis yang ditentukan oleh vtProp
.
Keterangan
GetProperty
mengembalikan nilai melalui pvProp
.
Catatan
Fungsi ini harus dipanggil hanya pada CWnd
objek yang mewakili kontrol ActiveX.
Untuk informasi selengkapnya tentang menggunakan fungsi anggota ini dengan Kontainer Kontrol ActiveX, lihat artikel Kontainer Kontrol ActiveX: Memprogram Kontrol ActiveX dalam Kontainer Kontrol ActiveX.
CWnd::GetRenderTarget
Mendapatkan target render yang terkait dengan jendela ini.
CHwndRenderTarget* GetRenderTarget();
Tampilkan Nilai
Arahkan ke target render atau NULL
.
CWnd::GetSafeHwnd
Mengembalikan m_hWnd
, atau NULL
jika penunjuk adalah .NULL
this
HWND GetSafeHwnd() const;
Tampilkan Nilai
Mengembalikan handel jendela untuk jendela. Mengembalikan NULL
jika CWnd
tidak dilampirkan ke jendela atau jika digunakan dengan NULL
CWnd
penunjuk.
Contoh
Lihat contoh untuk CWnd::SubclassWindow
.
CWnd::GetSafeOwner
Panggil fungsi anggota ini untuk mengambil jendela pemilik yang harus digunakan untuk kotak dialog atau jendela modal lainnya.
static CWnd* GetSafeOwner(
CWnd* pParent = NULL,
HWND* pWndTop = NULL);
Parameter
pParent
Penunjuk ke jendela induk CWnd
. Mungkin NULL
.
pWndTop
Penunjuk ke jendela yang saat ini berada di atas. Mungkin NULL
.
Tampilkan Nilai
Penunjuk ke pemilik aman untuk jendela yang diberikan.
Keterangan
Pemilik aman adalah jendela induk non-anak pertama dari pParent
. Jika pParent
adalah NULL
, jendela utama utas (diambil melalui AfxGetMainWnd
) digunakan untuk menemukan pemilik.
Catatan
Kerangka kerja itu sendiri menggunakan fungsi ini untuk menentukan jendela pemilik yang benar untuk kotak dialog dan lembar properti di mana pemilik tidak ditentukan.
CWnd::GetScrollBarCtrl
Panggil fungsi anggota ini untuk mendapatkan penunjuk ke bilah gulir saudara yang ditentukan atau jendela pemisah.
virtual CScrollBar* GetScrollBarCtrl(int nBar) const;
Parameter
nBar
Menentukan tipe bilah gulir. Parameter dapat mengambil salah satu nilai berikut:
SB_HORZ
Mengambil posisi bilah gulir horizontal.SB_VERT
Mengambil posisi bilah gulir vertikal.
Tampilkan Nilai
Kontrol bilah gulir saudara, atau NULL
jika tidak ada.
Keterangan
Fungsi anggota ini tidak beroperasi pada bilah gulir yang dibuat ketika WS_HSCROLL
bit atau WS_VSCROLL
diatur selama pembuatan jendela. Implementasi CWnd
fungsi ini hanya mengembalikan NULL
. Kelas turunan, seperti CView
, menerapkan fungsionalitas yang dijelaskan.
CWnd::GetScrollBarInfo
Mengambil informasi tentang bilah gulir yang ditentukan.
BOOL GetScrollBarInfo(
LONG idObject,
PSCROLLBARINFO psbi) const;
Parameter
idObject
Menentukan objek menu. Untuk daftar nilai yang mungkin, lihat GetScrollBarInfo
.
psbi
Penunjuk SCROLLBARINFO
ke struktur yang menerima informasi.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi GetScrollBarInfo
, seperti yang dijelaskan dalam Windows SDK.
CWnd::GetScrollInfo
Panggil fungsi anggota ini untuk mengambil informasi yang dipertahankan SCROLLINFO
struktur tentang bilah gulir.
BOOL GetScrollInfo(
int nBar,
LPSCROLLINFO lpScrollInfo,
UINT nMask = SIF_ALL);
Parameter
nBar
Menentukan apakah bilah gulir adalah kontrol atau bagian dari area nonkelola jendela. Jika itu adalah bagian dari area nonkelola, nBar
juga menunjukkan apakah bilah gulir diposisikan secara horizontal, vertikal, atau keduanya. Ini harus salah satu dari yang berikut ini:
SB_CTL
Mengambil parameter untuk kontrol bilah gulir. Anggotam_hWnd
data harus menjadi handel kontrol bilah gulir.SB_HORZ
Mengambil parameter untuk bilah gulir horizontal standar jendela.SB_VERT
Mengambil parameter untuk bilah gulir vertikal standar jendela.
lpScrollInfo
Penunjuk ke SCROLLINFO
struktur. Lihat Windows SDK untuk informasi selengkapnya tentang struktur ini.
nMask
Menentukan parameter bilah gulir yang akan diambil. Default menentukan kombinasi SIF_PAGE
, , SIF_POS
, SIF_TRACKPOS
dan SIF_RANGE
. Lihat SCROLLINFO
untuk informasi selengkapnya tentang nMask
nilai.
Tampilkan Nilai
Jika pesan mengambil nilai apa pun, pengembaliannya adalah TRUE
. Jika tidak, ini adalah FALSE
.
Keterangan
GetScrollInfo
memungkinkan aplikasi untuk menggunakan posisi gulir 32-bit.
Struktur SCROLLINFO
berisi informasi tentang bilah gulir, termasuk posisi gulir minimum dan maksimum, ukuran halaman, dan posisi kotak gulir (ibu jari). SCROLLINFO
Lihat topik struktur di Windows SDK untuk informasi selengkapnya tentang mengubah default struktur.
Penangan pesan MFC Windows yang menunjukkan posisi bilah gulir, CWnd::OnHScroll dan CWnd::OnVScroll, hanya menyediakan data posisi 16 bit. GetScrollInfo
dan SetScrollInfo
menyediakan 32 bit data posisi bilah gulir. Dengan demikian, aplikasi dapat memanggil GetScrollInfo
saat memproses baik CWnd::OnHScroll
atau CWnd::OnVScroll
untuk mendapatkan data posisi bilah gulir 32-bit.
CWnd::GetScrollLimit
Panggil fungsi anggota ini untuk mengambil posisi gulir maksimum bilah gulir.
int GetScrollLimit(int nBar);
Parameter
nBar
Menentukan tipe bilah gulir. Parameter dapat mengambil salah satu nilai berikut:
SB_HORZ
Mengambil batas gulir bilah gulir horizontal.SB_VERT
Mengambil batas gulir bilah gulir vertikal.
Tampilkan Nilai
Menentukan posisi maksimum bilah gulir jika berhasil; jika tidak, 0.
CWnd::GetScrollPos
Mengambil posisi kotak gulir bilah gulir saat ini.
int GetScrollPos(int nBar) const;
Parameter
nBar
Menentukan bilah gulir yang akan diperiksa. Parameter dapat mengambil salah satu nilai berikut:
SB_HORZ
Mengambil posisi bilah gulir horizontal.SB_VERT
Mengambil posisi bilah gulir vertikal.
Tampilkan Nilai
Menentukan posisi kotak gulir saat ini di bilah gulir jika berhasil; jika tidak, 0.
Keterangan
Posisi saat ini adalah nilai relatif yang bergantung pada rentang gulir saat ini. Misalnya, jika rentang gulir adalah 50 hingga 100 dan kotak gulir berada di tengah bilah, posisi saat ini adalah 75.
CWnd::GetScrollRange
Menyalin posisi bilah gulir minimum dan maksimum saat ini untuk bilah gulir yang diberikan ke lokasi yang ditentukan oleh lpMinPos
dan lpMaxPos
.
void GetScrollRange(
int nBar,
LPINT lpMinPos,
LPINT lpMaxPos) const;
Parameter
nBar
Menentukan bilah gulir yang akan diperiksa. Parameter dapat mengambil salah satu nilai berikut:
SB_HORZ
Mengambil posisi bilah gulir horizontal.SB_VERT
Mengambil posisi bilah gulir vertikal.
lpMinPos
Menunjuk ke variabel bilangan bulat yaitu menerima posisi minimum.
lpMaxPos
Arahkan ke variabel bilangan bulat yaitu menerima posisi maksimum.
Keterangan
Jika CWnd
tidak memiliki bilah gulir, maka GetScrollRange
fungsi anggota menyalin 0 ke lpMinPos
dan lpMaxPos
.
Rentang default untuk bilah gulir standar adalah 0 hingga 100. Rentang default untuk kontrol bilah gulir kosong (kedua nilai adalah 0).
CWnd::GetStyle
Mengembalikan gaya jendela saat ini.
DWORD GetStyle() const;
Tampilkan Nilai
Gaya jendela. Untuk informasi selengkapnya tentang gaya jendela yang digunakan di MFC, lihat Gaya Jendela.
CWnd::GetSystemMenu
Memungkinkan aplikasi mengakses menu Kontrol untuk penyalinan dan modifikasi.
CMenu* GetSystemMenu(BOOL bRevert) const;
Parameter
bRevert
Menentukan tindakan yang akan diambil. Jika bRevert
adalah FALSE
, GetSystemMenu
mengembalikan handel ke salinan menu Kontrol yang saat ini digunakan. Salinan ini awalnya identik dengan menu Kontrol tetapi dapat dimodifikasi. Jika bRevert
adalah TRUE
, GetSystemMenu
reset menu Kontrol kembali ke status default. Menu Kontrol sebelumnya, mungkin dimodifikasi, jika ada, dihancurkan. Nilai yang dikembalikan tidak ditentukan dalam kasus ini.
Tampilkan Nilai
Mengidentifikasi salinan menu Kontrol jika bRevert
adalah FALSE
. Jika bRevert
adalah TRUE
, nilai yang dikembalikan tidak ditentukan.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Jendela apa pun yang tidak digunakan GetSystemMenu
untuk membuat salinan menu Kontrol sendiri menerima menu Kontrol standar.
Penunjuk yang GetSystemMenu
dikembalikan oleh fungsi anggota dapat digunakan dengan CMenu::AppendMenu
fungsi , , CMenu::InsertMenu
atau CMenu::ModifyMenu
untuk mengubah menu Kontrol.
Menu Kontrol awalnya berisi item yang diidentifikasi dengan berbagai nilai ID seperti SC_CLOSE
, , SC_MOVE
dan SC_SIZE
. Item pada menu Kontrol menghasilkan WM_SYSCOMMAND
pesan. Semua item menu Kontrol yang telah ditentukan sebelumnya memiliki nomor ID yang lebih besar dari 0xF000. Jika aplikasi menambahkan item ke menu Kontrol, aplikasi harus menggunakan nomor ID kurang dari F000.
Windows mungkin otomatis membuat item tidak tersedia pada menu Kontrol standar. CWnd
dapat melakukan pilihan atau ketidaktersediaannya WM_INITMENU
sendiri dengan menanggapi pesan, yang dikirim sebelum menu apa pun ditampilkan.
Contoh
// The following code fragment is taken from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu *pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUT);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
CWnd::GetTitleBarInfo
Mengambil informasi tentang bilah judul yang ditentukan.
BOOL GetTitleBarInfo(PTITLEBARINFO pti) const;
Parameter
pti
Penunjuk TITLEBARINFO
ke struktur yang menerima informasi.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi GetTitleBarInfo
, seperti yang dijelaskan dalam Windows SDK.
CWnd::GetTopLevelFrame
Panggil fungsi anggota ini untuk mengambil jendela bingkai tingkat atas jendela, jika ada.
CFrameWnd* GetTopLevelFrame() const;
Tampilkan Nilai
Mengidentifikasi jendela bingkai tingkat atas jendela.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Jika CWnd
tidak memiliki jendela terlampir, atau induk tingkat atasnya bukan CFrameWnd
objek -turunan, fungsi ini mengembalikan NULL
.
CWnd::GetTopLevelOwner
Panggil fungsi anggota ini untuk mengambil jendela tingkat atas.
CWnd* GetTopLevelOwner() const;
Tampilkan Nilai
Mengidentifikasi jendela tingkat atas. Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Jendela tingkat atas adalah jendela yang merupakan anak desktop. Jika CWnd
tidak memiliki jendela terlampir, fungsi ini mengembalikan NULL
.
CWnd::GetTopLevelParent
Panggil fungsi anggota ini untuk mengambil induk tingkat atas jendela.
CWnd* GetTopLevelParent() const;
Tampilkan Nilai
Mengidentifikasi jendela induk tingkat atas jendela.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
GetTopLevelParent
mirip GetTopLevelFrame
dengan dan GetTopLevelOwner
; namun, ia mengabaikan nilai yang ditetapkan sebagai jendela pemilik saat ini.
CWnd::GetTopWindow
Mencari jendela anak tingkat atas milik CWnd
.
CWnd* GetTopWindow() const;
Tampilkan Nilai
Mengidentifikasi jendela anak tingkat atas dalam daftar jendela anak yang CWnd
ditautkan. Jika tidak ada jendela anak, nilainya adalah NULL
.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Jika CWnd
tidak memiliki anak, fungsi ini mengembalikan NULL
.
CWnd::GetUpdateRect
Mengambil koordinat persegi terkecil yang sepenuhnya menutupi wilayah pembaruan.
BOOL GetUpdateRect(
LPRECT lpRect,
BOOL bErase = FALSE);
Parameter
lpRect
Menunjuk ke CRect
objek atau RECT
struktur yang akan menerima koordinat klien dari pembaruan yang mencakup wilayah pembaruan.
Atur parameter ini ke NULL
untuk menentukan apakah wilayah pembaruan ada dalam CWnd
. Jika lpRect
adalah NULL
, GetUpdateRect
fungsi anggota mengembalikan nonzero jika wilayah pembaruan ada dan 0 jika tidak. Ini menyediakan cara untuk menentukan apakah pesan WM_PAINT
dihasilkan dari area yang tidak valid. Jangan atur parameter ini ke NULL
di Windows versi 3.0 dan yang lebih lama.
bErase
Menentukan apakah latar belakang di wilayah pembaruan akan dihapus.
Tampilkan Nilai
Menentukan status wilayah pembaruan. Nilainya bukan nol jika wilayah pembaruan tidak kosong; jika tidak, 0.
lpRect
Jika parameter diatur ke NULL
, nilai yang dikembalikan bukan nol jika ada wilayah pembaruan; jika tidak, 0.
Keterangan
Jika CWnd
dibuat dengan CS_OWNDC
gaya dan mode pemetaan bukan MM_TEXT
, GetUpdateRect
fungsi anggota memberikan persegi panjang dalam koordinat logis. Jika tidak, GetUpdateRect
berikan persegi panjang dalam koordinat klien. Jika tidak ada wilayah pembaruan, GetUpdateRect
atur persegi panjang menjadi kosong (atur semua koordinat ke 0).
Parameter bErase
menentukan apakah GetUpdateRect
harus menghapus latar belakang wilayah pembaruan. Jika bErase
adalah TRUE
dan wilayah pembaruan tidak kosong, latar belakang dihapus. Untuk menghapus latar belakang, GetUpdateRect
kirim WM_ERASEBKGND
pesan.
Persegi panjang pembaruan yang diambil oleh BeginPaint
fungsi anggota identik dengan yang diambil oleh GetUpdateRect
fungsi anggota.
Fungsi BeginPaint
anggota secara otomatis memvalidasi wilayah pembaruan, sehingga setiap panggilan untuk GetUpdateRect
dilakukan segera setelah panggilan untuk BeginPaint
mengambil wilayah pembaruan kosong.
CWnd::GetUpdateRgn
Mengambil wilayah pembaruan ke wilayah yang diidentifikasi oleh pRgn
.
int GetUpdateRgn(
CRgn* pRgn,
BOOL bErase = FALSE);
Parameter
pRgn
Mengidentifikasi wilayah pembaruan.
bErase
Menentukan apakah latar belakang akan dihapus dan area nonkelola jendela anak akan digambar. Jika nilainya adalah FALSE
, tidak ada gambar yang dilakukan.
Tampilkan Nilai
Menentukan bendera bilangan bulat pendek yang menunjukkan jenis wilayah yang dihasilkan. Nilai dapat mengambil salah satu dari yang berikut ini:
SIMPLEREGION
Wilayah ini tidak memiliki batas yang tumpang tindih.COMPLEXREGION
Wilayah ini memiliki batas yang tumpang tindih.NULLREGION
Wilayah kosong.ERROR
Tidak ada wilayah yang dibuat.
Keterangan
Koordinat wilayah ini relatif terhadap sudut kiri atas (koordinat klien).
Fungsi BeginPaint
anggota secara otomatis memvalidasi wilayah pembaruan, sehingga setiap panggilan untuk GetUpdateRgn
dilakukan segera setelah panggilan untuk BeginPaint
mengambil wilayah pembaruan kosong.
CWnd::GetWindow
Mengembalikan penunjuk ke jendela yang diminta, atau NULL
jika tidak ada.
CWnd* GetWindow(UINT nCmd) const;
Parameter
*nCmd*
Menentukan hubungan antara CWnd
dan jendela yang dikembalikan. Ini dapat mengambil salah satu nilai berikut:
GW_CHILD
Mengidentifikasi jendelaCWnd
anak pertama.GW_HWNDFIRST
JikaCWnd
adalah jendela anak, mengembalikan jendela saudara pertama. Jika tidak, ini mengembalikan jendela tingkat atas pertama dalam daftar.GW_HWNDLAST
JikaCWnd
adalah jendela anak, mengembalikan jendela saudara terakhir. Jika tidak, ini mengembalikan jendela tingkat atas terakhir dalam daftar.GW_HWNDNEXT
Mengembalikan jendela berikutnya pada daftar manajer jendela.GW_HWNDPREV
Mengembalikan jendela sebelumnya pada daftar manajer jendela.GW_OWNER
Mengidentifikasi pemilikCWnd
.
Tampilkan Nilai
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
CWnd::GetWindowContextHelpId
Panggil fungsi anggota ini untuk mengambil pengidentifikasi konteks bantuan, jika ada, yang terkait dengan jendela.
DWORD GetWindowContextHelpId() const;
Tampilkan Nilai
Pengidentifikasi konteks bantuan. Mengembalikan 0 jika jendela tidak memilikinya.
CWnd::GetWindowedChildCount
Panggil fungsi anggota ini untuk mengambil jumlah jendela anak terkait.
long GetWindowedChildCount();
Tampilkan Nilai
Jumlah jendela anak yang CWnd
terkait dengan objek.
CWnd::GetWindowDC
Mengambil konteks tampilan untuk seluruh jendela, termasuk bilah keterangan, menu, dan bilah gulir.
CDC* GetWindowDC();
Tampilkan Nilai
Mengidentifikasi konteks tampilan untuk jendela yang diberikan jika fungsi berhasil; jika tidak NULL
.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti. ReleaseDC
harus dipanggil sekali untuk setiap panggilan yang berhasil ke GetWindowDC
.
Keterangan
Konteks tampilan jendela mengizinkan pengecatan di mana saja di CWnd
, karena asal konteks adalah sudut kiri atas alih-alih CWnd
area klien.
Atribut default ditetapkan ke konteks tampilan setiap kali mengambil konteks. Atribut sebelumnya hilang.
GetWindowDC
dimaksudkan untuk digunakan untuk efek lukisan khusus di CWnd
dalam area nonkelola. Pengecatan di area nonkelola dari jendela apa pun tidak disarankan.
Fungsi GetSystemMetrics
Windows dapat digunakan untuk mengambil dimensi berbagai bagian area nonkelola, seperti bilah keterangan, menu, dan bilah gulir.
Setelah lukisan selesai, ReleaseDC
fungsi anggota harus dipanggil untuk merilis konteks tampilan. Kegagalan untuk merilis konteks tampilan akan secara serius memengaruhi lukisan yang diminta oleh aplikasi karena keterbatasan jumlah konteks perangkat yang dapat terbuka pada saat yang sama.
CWnd::GetWindowInfo
Mengambil informasi tentang jendela.
BOOL GetWindowInfo(PWINDOWINFO pwi) const;
Parameter
pwi
Penunjuk ke WINDOWINFO
struktur.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi GetWindowInfo
, seperti yang dijelaskan dalam Windows SDK.
CWnd::GetWindowlessChildCount
Mengambil jumlah jendela anak tanpa jendela terkait.
long GetWindowlessChildCount();
Tampilkan Nilai
Jumlah jendela anak tanpa jendela yang CWnd
terkait dengan objek.
CWnd::GetWindowPlacement
Mengambil status pertunjukan dan posisi normal (dipulihkan), diminimalkan, dan dimaksimalkan dari jendela.
BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;
Parameter
lpwndpl
Menunjuk ke WINDOWPLACEMENT
struktur yang menerima informasi status acara dan posisi.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Anggota flags
struktur yang WINDOWPLACEMENT
diambil oleh fungsi ini selalu 0. Jika CWnd
dimaksimalkan, showCmd
anggota adalah WINDOWPLACEMENT
SW_SHOWMAXIMIZED
. Jika jendela diminimalkan, itu adalah SW_SHOWMINIMIZED
. Hal ini SW_SHOWNORMAL
sebaliknya.
CWnd::GetWindowRect
Menyalin dimensi persegi panjang CWnd
pembatas objek ke struktur yang ditujukkan oleh lpRect
.
void GetWindowRect(LPRECT lpRect) const;
Parameter
lpRect
Arahkan ke CRect
objek atau RECT
struktur yang akan menerima koordinat layar sudut kiri atas dan kanan bawah.
Keterangan
Dimensi diberikan dalam koordinat layar relatif terhadap sudut kiri atas layar tampilan. Dimensi bilah keterangan, batas, dan gulir, jika ada, disertakan.
CWnd::GetWindowRgn
Panggil fungsi anggota ini untuk mendapatkan wilayah jendela jendela.
int GetWindowRgn(HRGN hRgn)const;
Parameter
hRgn
Handel ke wilayah jendela.
Tampilkan Nilai
Nilai pengembalian menentukan jenis wilayah yang diperoleh fungsi. Jenis dapat berupa salah satu dari nilai berikut:
NULLREGION
Wilayah kosong.SIMPLEREGION
Wilayah ini adalah persegi panjang tunggal.COMPLEXREGION
Wilayah ini lebih dari satu persegi panjang.ERROR
Terjadi kesalahan; wilayah tidak terpengaruh.
Keterangan
Wilayah jendela menentukan area di dalam jendela tempat sistem operasi mengizinkan gambar. Sistem operasi tidak menampilkan bagian mana pun dari jendela yang terletak di luar wilayah jendela.
Koordinat wilayah jendela relatif terhadap sudut kiri atas jendela, bukan area klien jendela.
Untuk mengatur wilayah jendela jendela, panggil CWnd::SetWindowRgn
.
CWnd::GetWindowText
CWnd
Salin judul keterangan (jika memilikinya) ke dalam buffer yang diacu oleh lpszStringBuf
atau ke string tujuan rString
.
int GetWindowText(
LPTSTR lpszStringBuf,
int nMaxCount) const;
void GetWindowText(
CString& rString) const;
Parameter
lpszStringBuf
Arahkan ke buffer yaitu menerima string judul jendela yang disalin.
nMaxCount
Menentukan jumlah maksimum karakter yang akan disalin ke buffer, termasuk karakter null yang mengakhiri. Jika string lebih panjang dari jumlah karakter yang ditentukan dalam nMaxCount
, string akan dipotong.
rString
Objek CString
yang menerima string judul jendela yang disalin.
Tampilkan Nilai
Menentukan panjang, dalam karakter, dari string yang disalin, tidak termasuk karakter null yang mengakhiri. Ini adalah 0 jika CWnd
tidak memiliki keterangan atau jika keterangan kosong.
Keterangan
CWnd
Jika objek adalah kontrol, GetWindowText
fungsi anggota menyalin teks dalam kontrol alih-alih menyalin keterangan.
Fungsi anggota ini menyebabkan WM_GETTEXT
pesan dikirim ke CWnd
objek.
Contoh
Lihat contoh untuk CWnd::SetWindowText
.
CWnd::GetWindowTextLength
Mengembalikan panjang CWnd
judul keterangan objek.
int GetWindowTextLength() const;
Tampilkan Nilai
Menentukan panjang teks dalam karakter, tidak termasuk karakter penghentian null. Nilainya adalah 0 jika tidak ada teks tersebut.
Keterangan
Jika CWnd
adalah kontrol, GetWindowTextLength
fungsi anggota mengembalikan panjang teks dalam kontrol alih-alih keterangan.
Fungsi anggota ini menyebabkan WM_GETTEXTLENGTH
pesan dikirim ke CWnd
objek.
Contoh
Lihat contoh untuk CWnd::SetWindowText
.
CWnd::HideCaret
Menyembunyikan tanda sisipan dengan menghapusnya dari layar tampilan.
void HideCaret();
Keterangan
Meskipun tanda sisipan tidak lagi terlihat, itu dapat ditampilkan lagi dengan menggunakan ShowCaret
fungsi anggota. Menyembunyikan tanda sisipan tidak menghancurkan bentuknya saat ini.
Menyembunyikan bersifat kumulatif. Jika HideCaret
telah dipanggil lima kali berturut-turut, ShowCaret
fungsi anggota harus dipanggil lima kali sebelum tanda sisipan akan ditampilkan.
CWnd::HiliteMenuItem
Menyoroti atau menghapus sorotan dari item menu tingkat atas (bilah menu).
BOOL HiliteMenuItem(
CMenu* pMenu,
UINT nIDHiliteItem,
UINT nHilite);
Parameter
pMenu
Mengidentifikasi menu tingkat atas yang berisi item yang akan disorot.
nIDHiliteItem
Menentukan item menu yang akan disorot, tergantung pada nilai nHilite
parameter.
nHilite
Menentukan apakah item menu disorot atau sorotan dihapus. Ini bisa berupa kombinasi MF_HILITE
atau MF_UNHILITE
dengan MF_BYCOMMAND
atau MF_BYPOSITION
. Nilai dapat digabungkan menggunakan operator bitwise OR
. Nilai-nilai ini memiliki arti berikut:
MF_BYCOMMAND
MenafsirkannIDHiliteItem
sebagai ID item menu (interpretasi default).MF_BYPOSITION
MenafsirkannIDHiliteItem
sebagai offset berbasis nol dari item menu.MF_HILITE
Menyoroti item. Jika nilai ini tidak diberikan, sorotan akan dihapus dari item.MF_UNHILITE
Menghapus sorotan dari item.
Tampilkan Nilai
Menentukan apakah item menu disorot. Bukan nol jika item disorot; jika tidak, 0.
Keterangan
Bendera MF_HILITE
dan MF_UNHILITE
hanya dapat digunakan dengan fungsi anggota ini; bendera tersebut tidak dapat digunakan dengan CMenu::ModifyMenu
fungsi anggota.
CWnd::HtmlHelp
Panggil fungsi anggota ini untuk memanggil aplikasi HTMLHelp.
virtual void HtmlHelp(
DWORD_PTR dwData,
UINT nCmd = 0x000F);
Parameter
dwData
Menentukan data tambahan. Nilai yang digunakan tergantung pada nilai nCmd
parameter.
nCmd
Menentukan jenis bantuan yang diminta. Untuk daftar nilai yang mungkin dan pengaruhnya terhadap dwData
parameter, lihat parameter yang uCommand
dijelaskan dalam Referensi API Bantuan HTML di Windows SDK.
Keterangan
Lihat CWinApp::HtmlHelp
untuk informasi lebih lanjut.
CWnd::InitDynamicLayout
Dipanggil oleh kerangka kerja untuk menginisialisasi tata letak dinamis untuk jendela.
void InitDynamicLayout();
Keterangan
Jangan panggil metode ini secara langsung.
CWnd::Invalidate
Membatalkan seluruh area klien .CWnd
void Invalidate(BOOL bErase = TRUE);
Parameter
bErase
Menentukan apakah latar belakang dalam wilayah pembaruan akan dihapus.
Keterangan
Area klien ditandai untuk pengecatan ketika pesan berikutnya WM_PAINT
terjadi. Wilayah juga dapat divalidasi sebelum pesan WM_PAINT
terjadi oleh ValidateRect
fungsi atau ValidateRgn
anggota.
Parameter bErase
menentukan apakah latar belakang dalam area pembaruan akan dihapus saat wilayah pembaruan diproses. Jika bErase
adalah TRUE
, latar belakang dihapus ketika BeginPaint
fungsi anggota dipanggil; jika bErase
adalah FALSE
, latar belakang tetap tidak berubah. Jika bErase
untuk TRUE
bagian mana pun dari wilayah pembaruan, latar belakang di seluruh wilayah, bukan hanya di bagian yang diberikan, dihapus.
Windows mengirim WM_PAINT
pesan setiap kali CWnd
wilayah pembaruan tidak kosong dan tidak ada pesan lain dalam antrean aplikasi untuk jendela tersebut.
Contoh
Lihat contoh untuk CWnd::UpdateWindow
.
CWnd::InvalidateRect
Membatalkan validasi area klien dalam persegi panjang yang diberikan dengan menambahkan persegi panjang tersebut ke CWnd
wilayah pembaruan.
void InvalidateRect(
LPCRECT lpRect,
BOOL bErase = TRUE);
Parameter
lpRect
Menunjuk ke CRect
objek atau RECT
struktur yang berisi persegi panjang (dalam koordinat klien) untuk ditambahkan ke wilayah pembaruan. Jika lpRect
adalah NULL
, seluruh area klien ditambahkan ke wilayah tersebut.
bErase
Menentukan apakah latar belakang dalam wilayah pembaruan akan dihapus.
Keterangan
Persegi panjang yang tidak valid, bersama dengan semua area lain di wilayah pembaruan, ditandai untuk pengecatan saat pesan berikutnya WM_PAINT
dikirim. Area yang tidak valid terakumulasi di wilayah pembaruan hingga wilayah diproses ketika panggilan berikutnya WM_PAINT
terjadi, atau sampai wilayah divalidasi oleh ValidateRect
fungsi atau ValidateRgn
anggota.
Parameter bErase
menentukan apakah latar belakang dalam area pembaruan akan dihapus saat wilayah pembaruan diproses. Jika bErase
adalah TRUE
, latar belakang dihapus ketika BeginPaint
fungsi anggota dipanggil; jika bErase
adalah FALSE
, latar belakang tetap tidak berubah. Jika bErase
untuk TRUE
bagian mana pun dari wilayah pembaruan, latar belakang di seluruh wilayah dihapus, bukan hanya di bagian yang diberikan.
Windows mengirim WM_PAINT
pesan setiap kali CWnd
wilayah pembaruan tidak kosong dan tidak ada pesan lain dalam antrean aplikasi untuk jendela tersebut.
CWnd::InvalidateRgn
Membatalkan area klien dalam wilayah yang diberikan dengan menambahkannya ke wilayah pembaruan saat ini dari CWnd
.
void InvalidateRgn(
CRgn* pRgn,
BOOL bErase = TRUE);
Parameter
pRgn
Penunjuk ke CRgn
objek yang mengidentifikasi wilayah yang akan ditambahkan ke wilayah pembaruan. Wilayah diasumsikan memiliki koordinat klien. Jika parameter ini adalah NULL
, seluruh area klien ditambahkan ke wilayah pembaruan.
bErase
Menentukan apakah latar belakang dalam wilayah pembaruan akan dihapus.
Keterangan
Wilayah yang tidak valid, bersama dengan semua area lain di wilayah pembaruan, ditandai untuk pengecatan saat WM_PAINT
pesan berikutnya dikirim. Area yang tidak valid terakumulasi di wilayah pembaruan hingga wilayah diproses saat WM_PAINT
pesan dikirim berikutnya, atau sampai wilayah divalidasi oleh ValidateRect
fungsi atau ValidateRgn
anggota.
Parameter bErase
menentukan apakah latar belakang dalam area pembaruan akan dihapus saat wilayah pembaruan diproses. Jika bErase
adalah TRUE
, latar belakang dihapus ketika BeginPaint
fungsi anggota dipanggil; jika bErase
adalah FALSE
, latar belakang tetap tidak berubah. Jika bErase
untuk TRUE
bagian mana pun dari wilayah pembaruan, latar belakang di seluruh wilayah, bukan hanya di bagian yang diberikan, dihapus.
Windows mengirim WM_PAINT
pesan setiap kali CWnd
wilayah pembaruan tidak kosong dan tidak ada pesan lain dalam antrean aplikasi untuk jendela tersebut.
Wilayah yang diberikan sebelumnya harus dibuat oleh salah satu fungsi wilayah.
CWnd::InvokeHelper
Panggil fungsi anggota ini untuk memanggil metode atau properti Kontrol ActiveX yang ditentukan oleh dwDispID
, dalam konteks yang ditentukan oleh wFlags
.
void AFX_CDECL InvokeHelper(
DISPID dwDispID,
WORD wFlags,
VARTYPE vtRet,
void* pvRet,
const BYTE* pbParamInfo,
... );
Parameter
dwDispID
Mengidentifikasi metode atau properti yang akan dipanggil.
wFlags
Bendera yang menjelaskan konteks panggilan ke IDispatch::Invoke
.
vtRet
Menentukan jenis nilai yang dikembalikan. Untuk nilai yang mungkin, lihat bagian Keterangan untuk COleDispatchDriver::InvokeHelper
.
pvRet
Alamat variabel yang akan menerima nilai properti atau mengembalikan nilai. Ini harus cocok dengan jenis yang ditentukan oleh vtRet
.
pbParamInfo
Penunjuk ke string byte yang dihentikan null yang menentukan jenis parameter berikut pbParamInfo
. Untuk nilai yang mungkin, lihat bagian Keterangan untuk COleDispatchDriver::InvokeHelper
.
...
Daftar Variabel parameter, dari jenis yang ditentukan dalam pbParamInfo
.
Keterangan
Parameter pbParamInfo
menentukan jenis parameter yang diteruskan ke metode atau properti. Daftar variabel argumen diwakili oleh ...
dalam deklarasi sintaks.
Fungsi ini mengonversi parameter menjadi VARIANTARG
nilai, lalu memanggil IDispatch::Invoke
metode pada kontrol ActiveX. Jika panggilan gagal IDispatch::Invoke
, fungsi ini akan melemparkan pengecualian. SCODE
Jika (kode status) yang dikembalikan oleh IDispatch::Invoke
adalah DISP_E_EXCEPTION
, fungsi ini melemparkan COleException
objek, jika tidak, fungsi ini akan melemparkan COleDispatchException
.
Catatan
Fungsi ini harus dipanggil hanya pada CWnd
objek yang mewakili kontrol ActiveX.
Untuk informasi selengkapnya tentang menggunakan fungsi anggota ini dengan Kontainer Kontrol ActiveX, lihat artikel Kontainer Kontrol ActiveX: Memprogram Kontrol ActiveX dalam Kontainer Kontrol ActiveX.
CWnd::IsChild
Menunjukkan apakah jendela yang ditentukan oleh pWnd
adalah jendela anak atau turunan langsung lainnya dari CWnd
.
BOOL IsChild(const CWnd* pWnd) const;
Parameter
pWnd
Mengidentifikasi jendela yang akan diuji.
Tampilkan Nilai
Menentukan hasil fungsi. Nilainya bukan nol jika jendela yang diidentifikasi oleh pWnd
adalah jendela CWnd
anak ; jika tidak, 0.
Keterangan
Jendela anak adalah turunan langsung dari CWnd
jika CWnd
objek berada dalam rantai jendela induk yang mengarah dari jendela pop-up asli ke jendela anak.
CWnd::IsD2DSupportEnabled
Menentukan apakah dukungan D2D diaktifkan.
BOOL IsD2DSupportEnabled();
Tampilkan Nilai
TRUE
jika fitur diaktifkan; jika tidak FALSE
.
CWnd::IsDialogMessage
Panggil fungsi anggota ini untuk menentukan apakah pesan yang diberikan ditujukan untuk kotak dialog tanpa mode; jika ya, fungsi ini memproses pesan.
BOOL IsDialogMessage(LPMSG lpMsg);
Parameter
lpMsg
Menunjuk ke MSG
struktur yang berisi pesan yang akan diperiksa.
Tampilkan Nilai
Menentukan apakah fungsi anggota telah memproses pesan yang diberikan. Ini bukan nol jika pesan telah diproses; jika tidak, 0. Jika pengembaliannya adalah 0, panggil CWnd::PreTranslateMessage
fungsi anggota kelas dasar untuk memproses pesan. Dalam penimpaan CWnd::PreTranslateMessage
fungsi anggota, kode terlihat seperti ini:
BOOL CAboutDlg::PreTranslateMessage(MSG *pMsg)
{
if (IsDialogMessage(pMsg))
return TRUE;
else
return CDialog::PreTranslateMessage(pMsg);
}
Keterangan
IsDialogMessage
Saat fungsi memproses pesan, fungsi memeriksa pesan keyboard dan mengonversinya menjadi perintah pilihan untuk kotak dialog yang sesuai. Misalnya, tombol TAB memilih kontrol atau grup kontrol berikutnya, dan tombol PANAH BAWAH memilih kontrol berikutnya dalam grup.
Anda tidak boleh meneruskan pesan yang diproses oleh IsDialogMessage
ke TranslateMessage
fungsi atau DispatchMessage
Windows, karena telah diproses.
CWnd::IsDlgButtonChecked
Menentukan apakah kontrol tombol memiliki tanda centang di sampingnya.
UINT IsDlgButtonChecked(int nIDButton) const;
Parameter
nIDButton
Menentukan pengidentifikasi bilangan bulat kontrol tombol.
Tampilkan Nilai
Bukan nol jika kontrol yang diberikan diperiksa, dan 0 jika tidak diperiksa. Hanya tombol radio dan kotak centang yang dapat dicentang. Untuk tombol tiga status, nilai yang dikembalikan bisa 2 jika tombol tidak ditentukan. Fungsi anggota ini mengembalikan 0 untuk tombol dorong.
Keterangan
Jika tombol adalah kontrol tiga status, fungsi anggota menentukan apakah itu redup, diperiksa, atau tidak.
CWnd::IsDynamicLayoutEnabled
Menentukan apakah tata letak dinamis diaktifkan pada jendela ini. Jika tata letak dinamis diaktifkan, posisi dan ukuran jendela anak dapat berubah saat pengguna mengubah ukuran jendela induk.
BOOL IsDynamicLayoutEnabled() const;
Tampilkan Nilai
TRUE
jika tata letak dinamis diaktifkan; jika tidak FALSE
.
Keterangan
CWnd::IsIconic
Menentukan apakah CWnd
diminimalkan (ikonik).
BOOL IsIconic() const;
Tampilkan Nilai
Nonzero jika CWnd
diminimalkan; jika tidak, 0.
Contoh
void CAboutDlg::OnPaint()
{
// This code, normally emitted by the Application Wizard for a dialog-
// based project for the dialog's WM_PAINT handler, runs only if the
// window is iconic. The window erases the icon's area, then
// paints the icon referenced by m_hIcon.
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
CWnd::IsTouchWindow
Menentukan apakah CWnd
memiliki dukungan sentuhan.
BOOL IsTouchWindow() const;
Tampilkan Nilai
TRUE
jika CWnd
memiliki dukungan sentuhan; jika tidak FALSE
.
Keterangan
CWnd::IsWindowEnabled
Menentukan apakah CWnd
diaktifkan untuk input mouse dan keyboard.
BOOL IsWindowEnabled() const;
Tampilkan Nilai
Nonzero jika CWnd
diaktifkan; jika tidak, 0.
Contoh
//change the background color of an edit control on the dialog
HBRUSH CMyDlg::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if (pWnd->GetDlgCtrlID() == IDC_MYEDIT)
{
if (pWnd->IsWindowEnabled())
{
// Red brush for the background...
pDC->SetBkColor(RGB(255, 0, 0));
// m_pRedBrush is the CBrush object initialized with a red brush
// using CreateSolidBrush
return (HBRUSH)m_RedBrush.GetSafeHandle();
}
else
{
// Blue brush for the background...
pDC->SetBkColor(RGB(0, 0, 255));
// m_pBlueBrush is the CBrush object initialized with a blue
// brush using CreateSolidBrush
return (HBRUSH)m_BlueBrush.GetSafeHandle();
}
}
return hbr;
}
CWnd::IsWindowVisible
Menentukan status visibilitas jendela yang diberikan.
BOOL IsWindowVisible() const;
Tampilkan Nilai
Bukan nol jika CWnd
terlihat (memiliki WS_VISIBLE
set bit gaya, dan jendela induk terlihat). Karena nilai yang dikembalikan mencerminkan status WS_VISIBLE
bit gaya, nilai yang dikembalikan mungkin bukan nol meskipun CWnd
benar-benar dikaburkan oleh jendela lain.
Keterangan
Jendela memiliki status visibilitas yang ditunjukkan oleh WS_VISIBLE
bit gaya. Ketika bit gaya ini diatur dengan panggilan ke ShowWindow
fungsi anggota, jendela ditampilkan dan gambar berikutnya ke jendela ditampilkan selama jendela memiliki set bit gaya.
Gambar apa pun ke jendela yang memiliki WS_VISIBLE
gaya tidak akan ditampilkan jika jendela ditutupi oleh jendela lain atau dipotong oleh jendela induknya.
Contoh
// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is not, it calls
// CWnd::ShowWindow with the SW_SHOWNORMAL command.
void CMainFrame::DisplayModeless()
{
if(!m_Modeless.IsWindowVisible())
{
m_Modeless.ShowWindow(SW_SHOWNORMAL);
}
}
// This example uses the CWnd::IsWindowVisible() function to
// determine if a dialog box is visible. If it is, it calls
// CWnd::ShowWindow with the SW_HIDE command.
void CMainFrame::HideModeless()
{
if(m_Modeless.IsWindowVisible())
{
m_Modeless.ShowWindow(SW_HIDE);
}
}
CWnd::IsZoomed
Menentukan apakah CWnd
telah dimaksimalkan.
BOOL IsZoomed() const;
Tampilkan Nilai
Nonzero jika CWnd
dimaksimalkan; jika tidak, 0.
CWnd::KillTimer
Mematikan peristiwa timer yang diidentifikasi oleh nIDEvent
dari panggilan sebelumnya ke SetTimer
.
BOOL KillTimer(UINT_PTR nIDEvent);
Parameter
nIDEvent
Nilai peristiwa timer diteruskan ke SetTimer
.
Tampilkan Nilai
Menentukan hasil fungsi. Nilainya bukan nol jika peristiwa dimatikan. Ini adalah 0 jika KillTimer
fungsi anggota tidak dapat menemukan peristiwa timer yang ditentukan.
Keterangan
Pesan tertunda WM_TIMER
yang terkait dengan timer tidak dihapus dari antrean pesan.
Contoh
Lihat contoh untuk CWnd::SetTimer
.
CWnd::LoadDynamicLayoutResource
Dipanggil oleh kerangka kerja untuk memuat informasi tata letak dinamis dari file sumber daya.
BOOL LoadDynamicLayoutResource(LPCTSTR lpszResourceName);
Parameter
lpszResourceName
Nama sumber daya yang berisi informasi tata letak dinamis yang diinginkan untuk jendela ini.
Tampilkan Nilai
Bukan nol jika fungsi berhasil. Ini adalah 0 jika kegagalan terjadi.
Keterangan
Jangan panggil metode ini secara langsung.
CWnd::LockWindowUpdate
Menonaktifkan gambar di jendela yang diberikan.
BOOL LockWindowUpdate();
Tampilkan Nilai
Bukan nol jika fungsi berhasil. Ini adalah 0 jika kegagalan terjadi atau jika LockWindowUpdate
fungsi telah digunakan untuk mengunci jendela lain.
Keterangan
Jendela terkunci tidak dapat dipindahkan. Hanya satu jendela yang dapat dikunci pada satu waktu. Untuk membuka kunci jendela yang dikunci dengan LockWindowUpdate
, panggil UnlockWindowUpdate
.
Jika aplikasi dengan jendela terkunci (atau jendela anak terkunci) memanggil GetDC
fungsi , , GetDCEx
atau BeginPaint
Windows, fungsi yang disebut mengembalikan konteks perangkat yang wilayahnya terlihat kosong. Ini akan terjadi sampai aplikasi membuka kunci jendela dengan memanggil UnlockWindowUpdate
fungsi anggota.
Saat pembaruan jendela dikunci, sistem melacak persegi panjang pembatas dari setiap operasi gambar ke konteks perangkat yang terkait dengan jendela terkunci. Ketika gambar dapat diaktifkan kembali, persegi panjang pembatas ini tidak valid di jendela terkunci dan jendela anaknya untuk memaksa pesan akhir WM_PAINT
untuk memperbarui layar. Jika tidak ada gambar yang terjadi saat pembaruan jendela dikunci, tidak ada area yang tidak valid.
Fungsi LockWindowUpdate
anggota tidak membuat jendela yang diberikan tidak terlihat dan tidak menghapus WS_VISIBLE
bit gaya.
CWnd::m_hWnd
Handel jendela Windows yang dilampirkan ke ini CWnd
.
HWND m_hWnd;
Keterangan
Anggota m_hWnd
data adalah variabel publik jenis HWND
.
CWnd::MapWindowPoints
Mengonversi (peta) sekumpulan titik dari ruang CWnd
koordinat ke ruang koordinat jendela lain.
void MapWindowPoints(
CWnd* pwndTo,
LPRECT lpRect) const;
void MapWindowPoints(
CWnd* pwndTo,
LPPOINT lpPoint,
UINT nCount) const;
Parameter
pwndTo
Mengidentifikasi jendela tempat titik dikonversi. Jika parameter ini adalah NULL
, titik dikonversi ke koordinat layar.
lpRect
Menentukan persegi panjang yang titiknya akan dikonversi. Versi pertama fungsi ini hanya tersedia untuk Windows 3.1 dan yang lebih baru.
lpPoint
Penunjuk ke array POINT
struktur yang berisi kumpulan titik yang akan dikonversi.
nCount
Menentukan jumlah POINT
struktur dalam array yang ditujukkan oleh lpPoint
.
CWnd::MessageBox
Membuat dan menampilkan jendela yang berisi pesan dan keterangan yang disediakan aplikasi, ditambah kombinasi ikon dan tombol push yang telah ditentukan sebelumnya yang dijelaskan dalam daftar Gaya Kotak Pesan.
int MessageBox(
LPCTSTR lpszText,
LPCTSTR lpszCaption = NULL,
UINT nType = MB_OK);
Parameter
lpszText
Menunjuk ke CString
objek atau string yang dihentikan null yang berisi pesan yang akan ditampilkan.
lpszCaption
Menunjuk ke CString
objek atau string yang dihentikan null yang akan digunakan untuk keterangan kotak pesan. Jika lpszCaption
adalah NULL
, keterangan default "Kesalahan" digunakan.
nType
Menentukan konten dan perilaku kotak pesan.
Tampilkan Nilai
Metode ini menggunakan fungsi seperti yang MessageBox
didefinisikan dalam Windows SDK. Metode ini mengembalikan hasil pemanggilan fungsi ini.
Keterangan
Gunakan fungsi AfxMessageBox
global alih-alih fungsi anggota ini untuk mengimplementasikan kotak pesan di aplikasi Anda.
Berikut ini memperlihatkan berbagai ikon sistem yang dapat digunakan dalam kotak pesan:
Ikon | Makro |
---|---|
![]() |
MB_ICONHAND , MB_ICONSTOP , dan MB_ICONERROR |
![]() |
MB_ICONQUESTION |
![]() |
MB_ICONEXCLAMATION dan MB_ICONWARNING |
![]() |
MB_ICONASTERISK dan MB_ICONINFORMATION |
Contoh
void CMainFrame::OnDisplayErrorMessage()
{
// This displays a message box with the title "Error"
// and the message "Help, Something went wrong."
// The error icon is displayed in the message box, along with
// an OK button.
MessageBox(_T("Help, Something went wrong."), _T("Error"),
MB_ICONERROR | MB_OK);
}
CWnd::ModifyStyle
Panggil fungsi anggota ini untuk mengubah gaya jendela.
BOOL ModifyStyle(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags = 0);
Parameter
dwRemove
Menentukan gaya jendela yang akan dihapus selama modifikasi gaya.
dwAdd
Menentukan gaya jendela yang akan ditambahkan selama modifikasi gaya.
nFlags
Bendera yang akan diteruskan ke SetWindowPos
, atau nol jika SetWindowPos
tidak boleh dipanggil. Defaultnya adalah nol. Lihat bagian Komentar untuk daftar bendera prasetel.
Tampilkan Nilai
Bukan nol jika gaya berhasil dimodifikasi; jika tidak, 0.
Keterangan
Gaya yang akan ditambahkan atau dihapus dapat dikombinasikan dengan menggunakan operator bitwise OR (|
). Lihat topik Gaya Jendela dan CreateWindow
di Windows SDK untuk informasi tentang gaya jendela yang tersedia.
Jika nFlags
bukan nol, ModifyStyle
memanggil fungsi SetWindowPos
Windows API dan menggambar ulang jendela dengan menggabungkan nFlags
dengan empat bendera prasetel berikut:
SWP_NOSIZE
Mempertahankan ukuran saat ini.SWP_NOMOVE
Mempertahankan posisi saat ini.SWP_NOZORDER
Mempertahankan urutan Z saat ini.SWP_NOACTIVATE
Tidak mengaktifkan jendela.
Untuk mengubah gaya jendela yang diperluas, lihat ModifyStyleEx
.
Catatan
Untuk beberapa gaya dalam kontrol tertentu ( ES_READONLY
gaya dalam kontrol edit, misalnya), ModifyStyle
mungkin tidak mengubah gaya dengan benar karena kontrol mungkin perlu melakukan pemrosesan internal khusus. Dalam kasus ini, pesan yang sesuai untuk mengubah gaya akan tersedia ( EM_SETREADONLY
dalam contoh yang disebutkan).
Contoh
// This example adds the WS_CLIPCHILDREN style to the window.
// No Styles are removed from the window.
void CMyView::OnInitialUpdate()
{
CView::OnInitialUpdate();
ModifyStyle(0, WS_CLIPCHILDREN);
}
CWnd::ModifyStyleEx
Panggil fungsi anggota ini untuk mengubah gaya jendela yang diperluas.
BOOL ModifyStyleEx(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags = 0);
Parameter
dwRemove
Menentukan gaya yang diperluas untuk dihapus selama modifikasi gaya.
dwAdd
Menentukan gaya yang diperluas untuk ditambahkan selama modifikasi gaya.
nFlags
Bendera yang akan diteruskan ke SetWindowPos
, atau nol jika SetWindowPos
tidak boleh dipanggil. Defaultnya adalah nol. Lihat bagian Komentar untuk daftar bendera prasetel.
Tampilkan Nilai
Bukan nol jika gaya berhasil dimodifikasi; jika tidak, 0.
Keterangan
Gaya yang akan ditambahkan atau dihapus dapat dikombinasikan dengan menggunakan operator bitwise-OR (|
). Lihat topik Extended Window Styles dalam buku ini dan CreateWindowEx
di Windows SDK untuk informasi tentang gaya yang diperluas yang tersedia
Jika nFlags
bukan nol, ModifyStyleEx
memanggil fungsi SetWindowPos
Windows API dan menggambar ulang jendela dengan menggabungkan nFlags
dengan empat bendera prasetel berikut:
SWP_NOSIZE
Mempertahankan ukuran saat ini.SWP_NOMOVE
Mempertahankan posisi saat ini.SWP_NOZORDER
Mempertahankan urutan Z saat ini.SWP_NOACTIVATE
Tidak mengaktifkan jendela.
Untuk mengubah jendela menggunakan gaya jendela biasa, lihat ModifyStyle
.
Contoh
// This example would make the dialog box transparent by
// changing the dialog window's extended styles.
int CAboutDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
ModifyStyleEx(0, WS_EX_TRANSPARENT);
return 0;
}
CWnd::MoveWindow
Mengubah posisi dan dimensi.
void MoveWindow(
int x,
int y,
int nWidth,
int nHeight,
BOOL bRepaint = TRUE);
void MoveWindow(
LPCRECT lpRect,
BOOL bRepaint = TRUE);
Parameter
x
Menentukan posisi baru sisi CWnd
kiri .
y
Menentukan posisi baru bagian CWnd
atas .
nWidth
Menentukan lebar baru .CWnd
nHeight
Menentukan tinggi baru dari CWnd
.
bRepaint
Menentukan apakah CWnd
akan dicat ulang. Jika TRUE
, CWnd
menerima WM_PAINT
pesan di handler pesannya OnPaint
seperti biasa. Jika parameter ini adalah FALSE
, tidak ada pengecatan ulang dalam bentuk apa pun yang terjadi. Ini berlaku untuk area klien, ke area nonclient (termasuk judul dan bilah gulir), dan ke bagian mana pun dari jendela induk yang terbongkar sebagai akibat dari pemindahan CWnd
. Ketika parameter ini adalah FALSE
, aplikasi harus secara eksplisit membatalkan atau menggambar ulang bagian mana pun dari CWnd
jendela induk dan yang harus digambar ulang.
lpRect
Objek CRect
atau RECT
struktur yang menentukan ukuran dan posisi baru.
Keterangan
Untuk objek tingkat CWnd
atas, x
parameter dan y
relatif terhadap sudut kiri atas layar. Untuk objek anak CWnd
, objek relatif terhadap sudut kiri atas area klien jendela induk.
Fungsi MoveWindow
mengirimkan WM_GETMINMAXINFO
pesan. Menangani pesan ini memberikan CWnd
kesempatan untuk memodifikasi nilai default untuk jendela terbesar dan terkecil yang mungkin. Jika parameter ke MoveWindow
fungsi anggota melebihi nilai-nilai ini, nilai dapat digantikan oleh nilai minimum atau maksimum dalam WM_GETMINMAXINFO
handler.
Contoh
Lihat contoh untuk CWnd::ClientToScreen
.
CWnd::NotifyWinEvent
Menandakan sistem bahwa peristiwa yang telah ditentukan terjadi. Jika ada aplikasi klien yang telah mendaftarkan fungsi hook untuk peristiwa tersebut, sistem memanggil fungsi hook klien.
void NotifyWinEvent(
DWORD event,
LONG idObjectType,
LONG idObject);
Parameter
event
Menentukan peristiwa yang terjadi. Nilai ini harus menjadi salah satu konstanta peristiwa.
idObjectType
Mengidentifikasi jenis objek yang menghasilkan peristiwa. Nilai ini adalah salah satu pengidentifikasi objek yang telah ditentukan sebelumnya atau nilai ID objek kustom.
idObject
Mengidentifikasi apakah peristiwa dihasilkan oleh objek atau elemen turunan objek. Jika nilai ini adalah CHILDID_SELF
, peristiwa dihasilkan oleh objek itu sendiri. Jika tidak, nilai ini adalah ID anak dari elemen yang menghasilkan peristiwa.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi NotifyWinEvent
, seperti yang dijelaskan dalam Windows SDK.
CWnd::OnActivate
Kerangka kerja memanggil fungsi anggota ini ketika CWnd
objek diaktifkan atau dinonaktifkan.
afx_msg void OnActivate(
UINT nState,
CWnd* pWndOther,
BOOL bMinimized);
Parameter
nState
Menentukan apakah CWnd
sedang diaktifkan atau dinonaktifkan. Jenis dapat berupa salah satu dari nilai berikut:
WA_INACTIVE
Jendela sedang dinonaktifkan.WA_ACTIVE
Jendela sedang diaktifkan melalui beberapa metode selain klik mouse (misalnya, dengan menggunakan antarmuka keyboard untuk memilih jendela).WA_CLICKACTIVE
Jendela sedang diaktifkan oleh klik mouse.
pWndOther
Penunjuk ke yang CWnd
diaktifkan atau dinonaktifkan. Penunjuk bisa , NULL
dan mungkin bersifat sementara.
bMinimized
Menentukan status yang diminimalkan dari diaktifkan CWnd
atau dinonaktifkan. Nilai TRUE
menunjukkan jendela diminimalkan.
Jika TRUE
, CWnd
sedang diaktifkan; jika tidak dinonaktifkan.
Keterangan
CWnd
Jika objek diaktifkan dengan klik mouse, objek juga akan menerima OnMouseActivate
panggilan fungsi anggota.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnActivateApp
Kerangka kerja memanggil fungsi anggota ini ke semua jendela tingkat atas tugas yang diaktifkan dan untuk semua jendela tingkat atas tugas yang dinonaktifkan.
afx_msg void OnActivateApp(
BOOL bActive,
DWORD dwThreadID);
Parameter
bActive
Menentukan apakah CWnd
sedang diaktifkan atau dinonaktifkan. TRUE
CWnd
berarti sedang diaktifkan. FALSE
CWnd
berarti sedang dinonaktifkan.
dwThreadID
Menentukan nilai ID utas. Jika bActive
adalah TRUE
, dwThreadID
mengidentifikasi utas yang memiliki yang CWnd
dinonaktifkan. Jika bActive
adalah FALSE
, dwThreadID
mengidentifikasi utas yang memiliki yang CWnd
diaktifkan.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnAmbientProperty
Kerangka kerja memanggil fungsi anggota ini untuk mendapatkan nilai properti sekitar dari jendela yang berisi kontrol OLE.
virtual BOOL OnAmbientProperty(
COleControlSite* pSite,
DISPID dispid,
VARIANT* pvar);
Parameter
pSite
Penunjuk ke situs kontrol yang meminta properti sekitar.
dispid
ID pengiriman properti sekitar yang diminta.
pvar
Penunjuk ke struktur yang dialokasikan VARIANT
pemanggil, di mana nilai properti sekitar akan dikembalikan.
Tampilkan Nilai
TRUE
jika properti sekitar didukung; FALSE
jika tidak.
Keterangan
Ambil alih fungsi ini untuk mengubah nilai properti sekitar default yang dikembalikan oleh kontainer kontrol OLE ke kontrolnya. Setiap permintaan properti sekitar yang tidak ditangani oleh fungsi penimpaan harus diteruskan ke implementasi kelas dasar.
CWnd::OnAppCommand
Kerangka kerja memanggil fungsi anggota ini saat pengguna menghasilkan peristiwa perintah aplikasi. Peristiwa seperti itu terjadi ketika pengguna mengklik tombol perintah aplikasi atau mengetik kunci perintah aplikasi.
afx_msg void OnAppCommand(
CWnd* pWnd,
UINT nCmd,
UINT nDevice,
UINT nKey);
Parameter
pWnd
[di] Penunjuk ke CWnd
objek yang mewakili jendela tempat pengguna mengklik tombol perintah atau menekan tombol perintah. Jendela ini bisa menjadi jendela anak dari jendela yang menerima pesan.
nCmd
[di] Menunjukkan perintah aplikasi. Untuk daftar nilai yang mungkin, lihat perintah di bawah bagian cmd
lParam
parameter WM_APPCOMMAND
.
nDevice
[di] Perangkat input yang menghasilkan peristiwa input. Untuk daftar nilai yang mungkin, lihat perangkat di bawah bagian uDevice
lParam
parameter WM_APPCOMMAND
.
nKey
[di] Menunjukkan tombol virtual apa pun yang tidak berfungsi, seperti tombol CTRL atau tombol mouse kiri. Untuk daftar nilai yang mungkin, lihat kunci di bawah bagian dwKeys
lParam
parameter WM_APPCOMMAND
. Untuk informasi selengkapnya, lihat subjudul "Parameter Pesan" di Tentang Input Mouse.
Keterangan
Metode ini menerima WM_APPCOMMAND
pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnAskCbFormatName
Kerangka kerja memanggil fungsi anggota ini ketika Clipboard berisi handel data untuk CF_OWNERDISPLAY
format (yaitu, ketika pemilik Clipboard akan menampilkan konten Clipboard).
afx_msg void OnAskCbFormatName(
UINT nMaxCount,
LPTSTR lpszString);
Parameter
nMaxCount
Menentukan jumlah maksimum byte yang akan disalin.
lpszString
Arahkan ke buffer tempat salinan nama format akan disimpan.
Keterangan
Pemilik Clipboard harus memberikan nama untuk formatnya.
Ambil alih fungsi anggota ini dan salin nama CF_OWNERDISPLAY
format ke dalam buffer yang ditentukan, tidak melebihi jumlah maksimum byte yang ditentukan.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnCancelMode
Kerangka kerja memanggil fungsi anggota ini untuk menginformasikan CWnd
untuk membatalkan mode internal apa pun.
afx_msg void OnCancelMode();
Keterangan
CWnd
Jika objek memiliki fokus, fungsi anggotanya OnCancelMode
dipanggil saat kotak dialog atau kotak pesan ditampilkan. Ini memberikan CWnd
kesempatan untuk membatalkan mode seperti pengambilan mouse.
Implementasi default merespons dengan memanggil ReleaseCapture
fungsi Windows. Ambil alih fungsi anggota ini di kelas turunan Anda untuk menangani mode lain.
CWnd::OnCaptureChanged
Kerangka kerja memanggil fungsi anggota ini untuk memberi tahu jendela yang kehilangan tangkapan mouse.
afx_msg void OnCaptureChanged(CWnd* pWnd);
Parameter
pWnd
Penunjuk ke jendela untuk mendapatkan tangkapan mouse
Keterangan
Jendela menerima pesan ini bahkan jika memanggil ReleaseCapture
dirinya sendiri. Aplikasi tidak boleh mencoba mengatur tangkapan mouse sebagai respons terhadap pesan ini. Ketika menerima pesan ini, jendela harus menggambar ulang dirinya sendiri, jika perlu, untuk mencerminkan status pengambilan mouse baru.
Lihat Windows SDK untuk informasi tentang ReleaseCapture
fungsi Windows.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnChangeCbChain
Kerangka kerja memanggil fungsi anggota ini untuk setiap jendela dalam rantai Penampil Clipboard untuk memberi tahunya bahwa jendela sedang dihapus dari rantai.
afx_msg void OnChangeCbChain(
HWND hWndRemove,
HWND hWndAfter);
Parameter
hWndRemove
Menentukan handel jendela yang sedang dihapus dari rantai Penampil Clipboard.
hWndAfter
Menentukan handel jendela yang mengikuti jendela yang dihapus dari rantai Penampil Clipboard.
Keterangan
Setiap CWnd
objek yang menerima OnChangeCbChain
panggilan harus menggunakan SendMessage
fungsi Windows untuk mengirim WM_CHANGECBCHAIN
pesan ke jendela berikutnya dalam rantai Penampil Clipboard (handel yang dikembalikan oleh SetClipboardViewer
). Jika hWndRemove
adalah jendela berikutnya dalam rantai, jendela yang ditentukan oleh hWndAfter
menjadi jendela berikutnya, dan pesan Clipboard diteruskan ke dalamnya.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnChangeUIState
Dipanggil ketika status antarmuka pengguna (UI) harus diubah.
afx_msg void OnChangeUIState(
UINT nAction,
UINT nUIElement);
Parameter
nAction
Menentukan tindakan yang akan diambil. Dapat berupa salah satu dari nilai berikut:
UIS_CLEAR
Elemen status UI (ditentukan olehnUIElement
) harus disembunyikan.UIS_INITIALIZE
Elemen status UI (ditentukan olehnUIElement
) harus diubah berdasarkan peristiwa input terakhir. Untuk informasi selengkapnya, lihat bagian Keterangan dariWM_CHANGEUISTATE
.UIS_SET
Elemen status UI (ditentukan olehnUIElement
) harus terlihat.
nUIElement
Menentukan elemen status UI mana yang terpengaruh atau gaya kontrol. Dapat berupa salah satu dari nilai berikut:
UISF_HIDEACCEL
Akselerator keyboard.UISF_HIDEFOCUS
Indikator fokus.UISF_ACTIVE
Windows XP: Kontrol harus digambar dalam gaya yang digunakan untuk kontrol aktif.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas WM_CHANGEUISTATE
pesan, seperti yang dijelaskan dalam Windows SDK.
CWnd::OnChar
Kerangka kerja memanggil fungsi anggota ini ketika penekanan tombol diterjemahkan ke karakter nonsystem.
afx_msg void OnChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameter
nChar
Berisi nilai kode karakter kunci.
nRepCnt
Berisi jumlah pengulangan, berapa kali penekanan tombol diulang ketika pengguna menahan kunci.
nFlags
Berisi kode pemindaian, kode transisi kunci, status kunci sebelumnya, dan kode konteks, seperti yang ditunjukkan dalam daftar berikut:
Nilai | Makna |
---|---|
0-15 | Menentukan jumlah pengulangan. Nilainya adalah berapa kali penekanan tombol diulang sebagai akibat pengguna menahan kunci. |
16-23 | Menentukan kode pemindaian. Nilainya tergantung pada produsen peralatan asli (OEM) |
24 | Menentukan apakah kunci adalah tombol yang diperluas, seperti tombol ALT dan CTRL kanan yang muncul pada keyboard tombol 101- atau 102 yang ditingkatkan. Nilainya adalah 1 jika merupakan kunci yang diperluas; jika tidak, itu adalah 0. |
25-28 | Digunakan secara internal oleh Windows. |
29 | Menentukan kode konteks. Nilainya adalah 1 jika tombol ALT ditahan saat tombol ditekan; jika tidak, nilainya adalah 0. |
30 | Menentukan status kunci sebelumnya. Nilainya adalah 1 jika kunci tidak berfungsi sebelum pesan dikirim, atau 0 jika kunci naik. |
31 | Menentukan status transisi. Nilainya adalah 1 jika kunci sedang dirilis, atau 0 jika tombol sedang ditekan. |
Keterangan
Fungsi ini dipanggil sebelum OnKeyUp
fungsi anggota dan setelah fungsi anggota dipanggil OnKeyDown
. OnChar
berisi nilai tombol keyboard yang sedang ditekan atau dilepaskan.
Karena belum tentu ada korespondensi satu-ke-satu antara tombol yang ditekan dan OnChar
panggilan yang dihasilkan, informasi di nFlags
umumnya tidak berguna untuk aplikasi. Informasi dalam nFlags
hanya berlaku untuk panggilan terbaru ke OnKeyUp
fungsi anggota atau OnKeyDown
fungsi anggota yang mendahului panggilan ke OnChar
.
Untuk keyboard IBM Enhanced 101- dan 102-key, tombol yang ditingkatkan adalah ALT kanan dan tombol CTRL kanan di bagian utama keyboard; tombol INS, DEL, HOME, END, PAGE UP, PAGE DOWN, dan panah di kluster di sebelah kiri keypad numerik; dan garis miring (/) dan tombol ENTER di keypad numerik. Beberapa keyboard lain mungkin mendukung bit extended-key di nFlags
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnCharToItem
Dipanggil saat kotak daftar dengan LBS_WANTKEYBOARDINPUT
gaya mengirimkan pesan kepada pemiliknya WM_CHARTOITEM
sebagai respons terhadap pesan WM_CHAR
.
afx_msg int OnCharToItem(
UINT nChar,
CListBox* pListBox,
UINT nIndex);
Parameter
nChar
Menentukan nilai tombol yang ditekan oleh pengguna.
pListBox
Menentukan penunjuk ke kotak daftar. Mungkin bersifat sementara.
nIndex
Menentukan posisi tanda sisipan saat ini.
Tampilkan Nilai
Kerangka kerja memanggil fungsi anggota ini untuk menentukan tindakan yang dilakukan aplikasi sebagai respons terhadap panggilan. Nilai pengembalian -2 menunjukkan bahwa aplikasi menangani semua aspek memilih item dan tidak menginginkan tindakan lebih lanjut oleh kotak daftar. Nilai pengembalian -1 menunjukkan bahwa kotak daftar harus melakukan tindakan default sebagai respons terhadap penekanan tombol. Nilai pengembalian 0 atau lebih besar menentukan indeks berbasis nol item dalam kotak daftar dan menunjukkan bahwa kotak daftar harus melakukan tindakan default untuk penekanan tombol pada item yang diberikan.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnChildActivate
CWnd
Jika objek adalah jendela anak antarmuka beberapa dokumen (MDI), OnChildActivate
dipanggil oleh kerangka kerja saat pengguna mengklik bilah judul jendela atau ketika jendela diaktifkan, dipindahkan, atau berukuran.
afx_msg void OnChildActivate();
CWnd::OnChildNotify
Fungsi anggota ini dipanggil oleh jendela induk jendela ini ketika menerima pesan pemberitahuan yang berlaku untuk jendela ini.
virtual BOOL OnChildNotify(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parameter
message
Nomor pesan Windows yang dikirim ke jendela induk.
wParam
Wparam yang terkait dengan pesan.
lParam
Lparam yang terkait dengan pesan.
pLResult
Penunjuk ke nilai yang akan dikembalikan dari prosedur jendela induk. Penunjuk ini akan jika NULL
tidak ada nilai pengembalian yang diharapkan.
Tampilkan Nilai
Bukan nol jika jendela ini bertanggung jawab untuk menangani pesan yang dikirim ke induknya; jika tidak, 0.
Keterangan
Jangan pernah memanggil fungsi anggota ini secara langsung.
Implementasi default fungsi anggota ini mengembalikan 0, yang berarti bahwa induk harus menangani pesan.
Ambil alih fungsi anggota ini untuk memperluas cara kontrol merespons pesan pemberitahuan.
CWnd::OnClipboardUpdate
Kerangka kerja memanggil fungsi anggota ini ketika konten clipboard telah berubah.
afx_msg void OnClipboardUpdate();
CWnd::OnClose
Kerangka kerja memanggil fungsi anggota ini sebagai sinyal bahwa CWnd
atau aplikasi akan dihentikan.
afx_msg void OnClose();
Keterangan
Implementasi default memanggil DestroyWindow
.
CWnd::OnColorizationColorChanged
Kerangka kerja memanggil anggota ini ketika kebijakan penyajian untuk area nonkelola telah berubah.
afx_msg void OnColorizationColorChanged(
DWORD dwColorizationColor,
BOOL bOpacity);
Parameter
dwColorizationColor
[di] Menentukan warna pewarnaan baru. Format warna adalah jumlah heksadesimal dari bentuk 0xAARRGGBB, di mana masing-masing dari empat komponen berkisar dari 0x00 melalui 0xFF. Komponen AA adalah nilai alfa, RR adalah warna merah, GG berwarna hijau, dan BB berwarna biru.
bOpacity
[di] TRUE
jika warna baru dicambuk dengan opasitas; FALSE
jika tidak.
Keterangan
Metode ini menerima WM_DWMNCRENDERINGCHANGED
pesan pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnCommand
Kerangka kerja memanggil fungsi anggota ini saat pengguna memilih item dari menu, saat kontrol anak mengirim pesan pemberitahuan, atau ketika penekanan tombol akselerator diterjemahkan.
virtual BOOL OnCommand(
WPARAM wParam,
LPARAM lParam);
Parameter
wParam
Kata berurutan wParam
rendah mengidentifikasi ID perintah item menu, kontrol, atau akselerator. Kata berurutan wParam
tinggi menentukan pesan pemberitahuan jika pesan berasal dari kontrol. Jika pesan berasal dari akselerator, kata urutan tinggi adalah 1. Jika pesan berasal dari menu, kata berurutan tinggi adalah 0.
lParam
Mengidentifikasi kontrol yang mengirim pesan jika pesan berasal dari kontrol. Jika tidak, lParam
adalah 0.
Tampilkan Nilai
Aplikasi mengembalikan nonzero jika memproses pesan ini; jika tidak, 0.
Keterangan
OnCommand
memproses peta pesan untuk pemberitahuan dan ON_COMMAND
entri kontrol, dan memanggil fungsi anggota yang sesuai.
Ambil alih fungsi anggota ini di kelas turunan Anda untuk menangani WM_COMMAND
pesan. Penimpaan tidak akan memproses peta pesan kecuali kelas OnCommand
dasar dipanggil.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnCompacting
Kerangka kerja memanggil fungsi anggota ini untuk semua jendela tingkat atas ketika Windows mendeteksi bahwa lebih dari 12,5 persen waktu sistem selama interval 30 hingga 60 detik sedang dihabiskan untuk memadatkan memori.
afx_msg void OnCompacting(UINT nCpuTime);
Parameter
nCpuTime
Menentukan rasio waktu CPU yang saat ini dihabiskan oleh Windows memampatkan memori ke waktu CPU yang dihabiskan untuk melakukan operasi lain. Misalnya, 8000h mewakili 50 persen waktu CPU yang dihabiskan untuk memampatkan memori.
Keterangan
Ini menunjukkan bahwa memori sistem rendah.
Ketika objek CWnd
menerima panggilan ini, itu harus membebaskan memori sebanyak mungkin, dengan mempertimbangkan tingkat aktivitas aplikasi saat ini dan jumlah total aplikasi yang berjalan di Windows. Aplikasi dapat memanggil fungsi Windows untuk menentukan berapa banyak aplikasi yang berjalan.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnCompareItem
Kerangka kerja memanggil fungsi anggota ini untuk menentukan posisi relatif item baru dalam kotak kombo atau daftar gambar pemilik yang diurutkan anak.
afx_msg int OnCompareItem(
int nIDCtl,
LPCOMPAREITEMSTRUCT lpCompareItemStruct);
Parameter
nIDCtl
Pengidentifikasi kontrol yang mengirim WM_COMPAREITEM
pesan.
lpCompareItemStruct
Berisi penunjuk panjang ke COMPAREITEMSTRUCT
struktur data yang berisi pengidentifikasi dan data yang disediakan aplikasi untuk dua item dalam kotak kombo atau daftar.
Tampilkan Nilai
Menunjukkan posisi relatif dari dua item. Ini mungkin salah satu nilai berikut:
Nilai | Makna |
---|---|
-1 | Item 1 mengurutkan sebelum item 2. |
0 | Item 1 dan item 2 mengurutkan hal yang sama. |
1 | Item 1 mengurutkan setelah item 2. |
Keterangan
Jika kotak kombo atau daftar dibuat dengan CBS_SORT
gaya atau LBS_SORT
, Windows mengirim pesan kepada pemilik WM_COMPAREITEM
kotak kombo atau kotak daftar setiap kali aplikasi menambahkan item baru.
Dua item dalam kotak kombo atau daftar direformasi dalam struktur yang COMPAREITEMSTRUCT
ditunjukkan oleh lpCompareItemStruct
. OnCompareItem
harus mengembalikan nilai yang menunjukkan item mana yang akan muncul sebelum item lainnya. Biasanya, Windows melakukan panggilan ini beberapa kali sampai menentukan posisi yang tepat untuk item baru.
hwndItem
Jika anggota COMPAREITEMSTRUCT
struktur milik CListBox
objek atau CComboBox
, maka CompareItem
fungsi virtual dari kelas yang sesuai dipanggil. Ambil alih CComboBox::CompareItem
atau CListBox::CompareItem
di turunan atau CComboBox
kelas Anda untuk melakukan perbandingan CListBox
item.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnCompositionChanged
Kerangka kerja memanggil fungsi anggota ini untuk semua jendela tingkat atas ketika komposisi Desktop Window Manager (DWM) diaktifkan atau dinonaktifkan.
afx_msg void OnCompositionChanged();
Keterangan
Metode ini menerima WM_DWMCOMPOSITIONCHANGED
pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnContextMenu
Dipanggil oleh kerangka kerja ketika pengguna telah mengklik tombol kanan mouse (diklik kanan) di jendela.
afx_msg void OnContextMenu(
CWnd* pWnd,
CPoint pos);
Parameter
pWnd
Tangani ke jendela tempat pengguna mengklik kanan mouse. Ini bisa menjadi jendela anak dari jendela yang menerima pesan. Untuk informasi selengkapnya tentang memproses pesan ini, lihat bagian Keterangan.
pos
Posisi kursor, dalam koordinat layar, pada saat klik mouse.
Keterangan
Anda dapat memproses pesan ini dengan menampilkan menu konteks menggunakan TrackPopupMenu
.
Jika Anda tidak menampilkan menu konteks, Anda harus meneruskan pesan ini ke DefWindowProc
fungsi . Jika jendela Anda adalah jendela anak, DefWindowProc
kirim pesan ke induk. Jika tidak, DefWindowProc
menampilkan menu konteks default jika posisi yang ditentukan ada di keterangan jendela.
CWnd::OnCopyData
Fungsi anggota ini dipanggil oleh kerangka kerja untuk menyalin data dari satu aplikasi ke aplikasi lain.
afx_msg BOOL OnCopyData(
CWnd* pWnd,
COPYDATASTRUCT* pCopyDataStruct);
Parameter
pWnd
Penunjuk ke CWnd
objek yang mengirim data.
pCopyDataStruct
Penunjuk ke COPYDATASTRUCT
struktur yang berisi data yang dikirim.
Tampilkan Nilai
Mengembalikan TRUE
jika aplikasi penerima berhasil menerima data. Jika tidak, kembalikan FALSE
.
Keterangan
Data yang diteruskan tidak boleh berisi pointer atau referensi lain ke objek yang tidak dapat diakses oleh aplikasi yang menerima data.
Saat data sedang disalin, data tidak boleh diubah oleh utas lain dari proses pengiriman.
Aplikasi penerima harus mempertimbangkan data baca-saja. Struktur yang ditujukkan oleh parameter pCopyDataStruct
hanya valid selama transfer data; namun, aplikasi penerima tidak boleh membebaskan memori yang terkait dengan struktur.
Jika aplikasi penerima memerlukan akses ke data setelah fungsi ini kembali, aplikasi harus menyalin data yang diterima ke buffer lokal.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnCreate
Kerangka kerja memanggil fungsi anggota ini ketika aplikasi meminta agar jendela Windows dibuat dengan memanggil Create
fungsi atau CreateEx
anggota.
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
Parameter
lpCreateStruct
Menunjuk ke CREATESTRUCT
struktur yang berisi informasi tentang objek yang CWnd
sedang dibuat.
Tampilkan Nilai
OnCreate
harus mengembalikan 0 untuk melanjutkan pembuatan CWnd
objek. Jika aplikasi mengembalikan -1, jendela akan dihancurkan.
Keterangan
Objek CWnd
menerima panggilan ini setelah jendela dibuat tetapi sebelum terlihat. OnCreate
dipanggil sebelum Create
fungsi atau CreateEx
anggota kembali.
Ambil alih fungsi anggota ini untuk melakukan inisialisasi kelas turunan yang diperlukan.
Struktur CREATESTRUCT
berisi salinan parameter yang digunakan untuk membuat jendela.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnCtlColor
Kerangka kerja memanggil fungsi anggota ini ketika kontrol anak akan digambar.
afx_msg HBRUSH OnCtlColor(
CDC* pDC,
CWnd* pWnd,
UINT nCtlColor);
Parameter
pDC
Berisi penunjuk ke konteks tampilan untuk jendela anak. Mungkin sementara.
pWnd
Berisi penunjuk ke kontrol yang meminta warna. Mungkin sementara.
nCtlColor
Berisi salah satu nilai berikut, menentukan jenis kontrol:
CTLCOLOR_BTN
Kontrol tombolCTLCOLOR_DLG
Kotak dialogCTLCOLOR_EDIT
Edit kontrolCTLCOLOR_LISTBOX
Kontrol kotak daftarCTLCOLOR_MSGBOX
Kotak pesanCTLCOLOR_SCROLLBAR
Kontrol bilah gulirCTLCOLOR_STATIC
Kontrol statis
Tampilkan Nilai
OnCtlColor
harus mengembalikan handel ke kuas yang akan digunakan untuk melukis latar belakang kontrol.
Keterangan
Sebagian besar kontrol mengirim pesan ini ke induknya (biasanya kotak dialog) untuk menyiapkan pDC
gambar kontrol menggunakan warna yang benar.
Untuk mengubah warna teks, panggil SetTextColor
fungsi anggota dengan nilai merah, hijau, dan biru (RGB) yang diinginkan.
Untuk mengubah warna latar belakang kontrol edit satu baris, atur handel kuas dalam CTLCOLOR_EDIT
kode pesan dan CTLCOLOR_MSGBOX
, dan panggil CDC::SetBkColor
fungsi sebagai respons terhadap CTLCOLOR_EDIT
kode.
OnCtlColor
tidak akan dipanggil untuk kotak daftar kotak kombo drop-down karena kotak daftar drop-down sebenarnya adalah anak dari kotak kombo dan bukan anak jendela. Untuk mengubah warna kotak daftar drop-down, buat CComboBox
dengan penimpaan OnCtlColor
yang diperiksa CTLCOLOR_LISTBOX
dalam nCtlColor
parameter. Dalam handler ini, SetBkColor
fungsi anggota harus digunakan untuk mengatur warna latar belakang untuk teks.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi. Untuk menambahkan metode berikut ke kelas dialog Anda, gunakan panel properti Visual Studio untuk menambahkan handler pesan untuk WM_CTLCOLOR
. Atau, Anda dapat menambahkan ON_WM_CTLCOLOR()
entri secara manual ke peta pesan.
Contoh
// This OnCtlColor handler will change the color of a static control
// with the ID of IDC_MYSTATIC. The code assumes that the CPenWidthsDlg
// class has an initialized and created CBrush member named m_brush.
// The control will be painted with red text and a background
// color of m_brush.
HBRUSH CPenWidthsDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
// Call the base class implementation first! Otherwise, it may
// undo what we're trying to accomplish here.
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// Are we painting the IDC_MYSTATIC control? We can use
// CWnd::GetDlgCtrlID() to perform the most efficient test.
if (pWnd->GetDlgCtrlID() == IDC_MYSTATIC)
{
// Set the text color to red
pDC->SetTextColor(RGB(255, 0, 0));
// Set the background mode for text to transparent
// so background will show thru.
pDC->SetBkMode(TRANSPARENT);
// Return handle to our CBrush object
hbr = m_brush;
}
return hbr;
}
CWnd::OnDeadChar
Kerangka kerja memanggil fungsi anggota ini ketika OnKeyUp
fungsi anggota dan fungsi anggota dipanggil OnKeyDown
.
afx_msg void OnDeadChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameter
nChar
Menentukan nilai karakter dead-key.
nRepCnt
Menentukan jumlah pengulangan.
nFlags
Menentukan kode pemindaian, kode transisi kunci, status kunci sebelumnya, dan kode konteks, seperti yang ditunjukkan dalam daftar berikut:
Nilai | Deskripsi |
---|---|
0-7 | Kode pemindaian (nilai dependen OEM). Byte rendah kata berurutan tinggi. |
8 | Kunci yang diperluas, seperti kunci fungsi atau kunci pada keypad numerik (1 jika merupakan kunci yang diperluas; jika tidak 0). |
9-10 | Tidak digunakan. |
11-12 | Digunakan secara internal oleh Windows. |
13 | Kode konteks (1 jika tombol ALT ditahan saat tombol ditekan; jika tidak, 0). |
14 | Status kunci sebelumnya (1 jika kunci tidak berfungsi sebelum panggilan, 0 jika kunci sudah habis). |
15 | Status transisi (1 jika tombol sedang dirilis, 0 jika tombol sedang ditekan). |
Keterangan
Fungsi anggota ini dapat digunakan untuk menentukan nilai karakter kunci mati. Kunci mati adalah kunci, seperti karakter umlaut (titik ganda), yang dikombinasikan dengan karakter lain untuk membentuk karakter komposit. Misalnya, karakter umlaut-O terdiri dari kunci mati, umlaut, dan kunci O.
Aplikasi biasanya menggunakan OnDeadChar
untuk memberikan umpan balik pengguna tentang setiap tombol yang ditekan. Misalnya, aplikasi dapat menampilkan aksen dalam posisi karakter saat ini tanpa memindahkan tanda sisipan.
Karena belum tentu ada korespondensi satu-ke-satu antara tombol yang ditekan dan OnDeadChar
panggilan, informasi di nFlags
umumnya tidak berguna untuk aplikasi. Informasi dalam nFlags
hanya berlaku untuk panggilan terbaru ke OnKeyUp
fungsi anggota atau OnKeyDown
fungsi anggota yang mendahului OnDeadChar
panggilan.
Untuk keyboard IBM Enhanced 101- dan 102-key, tombol yang ditingkatkan adalah ALT kanan dan tombol CTRL kanan di bagian utama keyboard; tombol INS, DEL, HOME, END, PAGE UP, PAGE DOWN, dan panah di kluster di sebelah kiri keypad numerik; dan garis miring (/) dan tombol ENTER di keypad numerik. Beberapa keyboard lain mungkin mendukung bit extended-key di nFlags
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnDeleteItem
Kerangka kerja memanggil fungsi anggota ini untuk memberi tahu pemilik kotak daftar gambar pemilik atau kotak kombo bahwa kotak daftar atau kotak kombo dihancurkan atau item tersebut telah dihapus oleh CComboBox::DeleteString
, , CListBox::DeleteString
, CComboBox::ResetContent
atau CListBox::ResetContent
.
afx_msg void OnDeleteItem(
int nIDCtl,
LPDELETEITEMSTRUCT lpDeleteItemStruct);
Parameter
nIDCtl
Pengidentifikasi kontrol yang mengirim WM_DELETEITEM
pesan.
lpDeleteItemStruct
Menentukan penunjuk panjang ke DELETEITEMSTRUCT
struktur data yang berisi informasi tentang item kotak daftar yang dihapus.
Keterangan
hwndItem
Jika anggota DELETEITEMSTRUCT
struktur termasuk dalam kotak kombo atau kotak daftar, maka DeleteItem
fungsi virtual kelas yang sesuai dipanggil. Ambil alih DeleteItem
fungsi anggota kelas kontrol yang sesuai untuk menghapus data khusus item.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnDestroy
Kerangka kerja memanggil fungsi anggota ini untuk menginformasikan CWnd
objek bahwa itu sedang dihancurkan.
afx_msg void OnDestroy();
Keterangan
OnDestroy
dipanggil setelah CWnd
objek dihapus dari layar.
OnDestroy
dipanggil pertama untuk yang CWnd
dihancurkan, kemudian untuk jendela anak saat CWnd
mereka dihancurkan. Dapat diasumsikan bahwa semua jendela anak masih ada saat OnDestroy
dijalankan.
Jika objek yang CWnd
dihancurkan adalah bagian dari rantai Penampil Clipboard (diatur dengan memanggil SetClipboardViewer
fungsi anggota), CWnd
harus menghapus dirinya dari rantai Penampil Clipboard dengan memanggil ChangeClipboardChain
fungsi anggota sebelum kembali dari OnDestroy
fungsi.
CWnd::OnDestroyClipboard
Kerangka kerja memanggil fungsi anggota ini untuk pemilik Clipboard ketika Clipboard dikosongkan melalui panggilan ke EmptyClipboard
fungsi Windows.
afx_msg void OnDestroyClipboard();
CWnd::OnDeviceChange
Kerangka kerja memanggil fungsi anggota ini untuk memberi tahu driver aplikasi atau perangkat tentang perubahan pada konfigurasi perangkat keras perangkat atau komputer.
afx_msg BOOL OnDeviceChange(
UINT nEventType,
DWORD_PTR dwData);
Parameter
nEventType
Jenis peristiwa. Lihat bagian Keterangan untuk deskripsi nilai yang tersedia
dwData
Alamat struktur yang berisi data khusus peristiwa. Artinya tergantung pada peristiwa yang diberikan.
Keterangan
Untuk perangkat yang menawarkan fitur yang dapat dikontrol perangkat lunak, seperti ejeksi dan penguncian, sistem operasi biasanya mengirim DBT_DEVICEREMOVEPENDING
pesan untuk memungkinkan aplikasi dan driver perangkat mengakhiri penggunaan perangkat dengan baik.
Jika sistem operasi secara paksa menghapus perangkat, sistem operasi mungkin tidak mengirim DBT_DEVICEQUERYREMOVE
pesan sebelum melakukannya.
Parameter nEvent
dapat berupa salah satu nilai ini:
DBT_DEVICEARRIVAL
Perangkat telah disisipkan dan sekarang tersedia.DBT_DEVICEQUERYREMOVE
Izin untuk menghapus perangkat diminta. Aplikasi apa pun dapat menolak permintaan ini dan membatalkan penghapusan.DBT_DEVICEQUERYREMOVEFAILED
Permintaan untuk menghapus perangkat telah dibatalkan.DBT_DEVICEREMOVEPENDING
Perangkat akan dihapus. Tidak dapat ditolak.DBT_DEVICEREMOVECOMPLETE
Perangkat telah dihapus.DBT_DEVICETYPESPECIFIC
Peristiwa khusus perangkat.DBT_CONFIGCHANGED
Konfigurasi saat ini telah berubah.DBT_DEVNODES_CHANGED
Simpul perangkat telah berubah.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnDevModeChange
Kerangka kerja memanggil fungsi anggota ini untuk semua objek tingkat CWnd
atas saat pengguna mengubah pengaturan mode perangkat.
afx_msg void OnDevModeChange(LPTSTR lpDeviceName);
Parameter
lpDeviceName
Arahkan ke nama perangkat yang ditentukan dalam file inisialisasi Windows, WIN.INI
.
Keterangan
Aplikasi yang menangani WM_DEVMODECHANGE
pesan dapat menginisialisasi ulang pengaturan mode perangkat mereka. Aplikasi yang menggunakan fungsi Windows ExtDeviceMode
untuk menyimpan dan memulihkan pengaturan perangkat biasanya tidak memproses fungsi ini.
Fungsi ini tidak dipanggil ketika pengguna mengubah printer default dari Panel Kontrol. Dalam hal ini, fungsi dipanggil OnWinIniChange
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnDrawClipboard
Kerangka kerja memanggil fungsi anggota ini untuk setiap jendela dalam rantai Penampil Clipboard saat konten Clipboard berubah.
afx_msg void OnDrawClipboard();
Keterangan
Hanya aplikasi yang telah bergabung dengan rantai penampil Clipboard dengan memanggil fungsi anggota yang SetClipboardViewer
perlu merespons panggilan ini.
Setiap jendela yang menerima OnDrawClipboard
panggilan harus memanggil SendMessage
fungsi Windows untuk meneruskan WM_DRAWCLIPBOARD
pesan ke jendela berikutnya di rantai Penampil Clipboard. Handel jendela berikutnya dikembalikan oleh SetClipboardViewer
fungsi anggota; dapat dimodifikasi sebagai respons terhadap OnChangeCbChain
panggilan fungsi anggota.
CWnd::OnDrawIconicThumbnailOrLivePreview
Dipanggil oleh kerangka kerja ketika perlu mendapatkan bitmap untuk ditampilkan pada gambar mini tab Windows 7, atau pada klien untuk mengintip aplikasi.
virtual void OnDrawIconicThumbnailOrLivePreview(
CDC& dc,
CRect rect,
CSize szRequiredThumbnailSize,
BOOL bIsThumbnail,
BOOL& bAlphaChannelSet);
Parameter
dc
Menentukan konteks perangkat.
rect
Menentukan persegi panjang batas area yang akan dirender.
szRequiredThumbnailSize
Menentukan ukuran gambar mini target. Harus diabaikan jika bIsThumbnail
adalah FALSE
.
bIsThumbnail
Menentukan apakah metode ini dipanggil untuk gambar mini ikonik atau pratinjau langsung (intip).
bAlphaChannelSet
[out] Atur ke TRUE
jika implementasi Anda menginisialisasi saluran alfa bitmap yang dipilih di dc
.
Keterangan
Ambil alih metode ini dalam kelas turunan dan gambar pada konteks perangkat yang ditentukan untuk menyesuaikan gambar mini dan mengintip. Jika bThumbnail
adalah TRUE
, szRequiredThumbnailSize
dapat diabaikan. Dalam hal ini Anda harus menyadari bahwa Anda menggambar bitmap berukuran penuh (yaitu, bitmap yang mencakup seluruh area klien). Konteks perangkat (dc
) dilengkapi dengan bitmap 32 bit yang dipilih. Implementasi default dikirim WM_PRINT
ke jendela ini dengan PRF_CLIENT
bendera , PRF_CHILDREN
, dan PRF_NONCLIENT
.
CWnd::OnDrawItem
Kerangka kerja memanggil fungsi anggota ini untuk pemilik kontrol tombol gambar pemilik, kontrol kotak kombo, kontrol kotak daftar, atau menu saat aspek visual kontrol atau menu telah berubah.
afx_msg void OnDrawItem(
int nIDCtl,
LPDRAWITEMSTRUCT lpDrawItemStruct);
Parameter
nIDCtl
Berisi pengidentifikasi kontrol yang mengirim WM_DRAWITEM
pesan. Jika menu mengirim pesan, nIDCtl
berisi 0.
lpDrawItemStruct
Menentukan penunjuk panjang ke DRAWITEMSTRUCT
struktur data yang berisi informasi tentang item yang akan digambar dan jenis gambar yang diperlukan.
Keterangan
Anggota itemAction
DRAWITEMSTRUCT
struktur mendefinisikan operasi menggambar yang akan dilakukan. Data dalam anggota ini memungkinkan pemilik kontrol untuk menentukan tindakan gambar apa yang diperlukan.
Sebelum kembali dari pemrosesan pesan ini, aplikasi harus memastikan bahwa konteks perangkat yang diidentifikasi oleh hDC
anggota DRAWITEMSTRUCT
struktur dipulihkan ke status default.
hwndItem
Jika anggota milik CButton
objek , , CMenu
, CListBox
atau CComboBox, maka DrawItem
fungsi virtual dari kelas yang sesuai dipanggil. Ambil alih DrawItem
fungsi anggota dari kelas kontrol yang sesuai untuk menggambar item.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnDropFiles
Kerangka kerja memanggil fungsi anggota ini ketika pengguna merilis tombol mouse kiri di atas jendela yang telah mendaftarkan dirinya sebagai penerima file yang dihilangkan.
afx_msg void OnDropFiles(HDROP hDropInfo);
Parameter
hDropInfo
Penunjuk ke struktur data internal yang menjelaskan file yang dihilangkan. Handel ini digunakan oleh DragFinish
fungsi , DragQueryFile
, dan DragQueryPoint
Windows untuk mengambil informasi tentang file yang dihilangkan.
Keterangan
Biasanya, kelas turunan akan dirancang untuk mendukung file yang dijatuhkan dan akan mendaftarkan dirinya selama konstruksi jendela.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnEnable
Kerangka kerja memanggil fungsi anggota ini ketika aplikasi mengubah status objek yang CWnd
diaktifkan.
afx_msg void OnEnable(BOOL bEnable);
Parameter
bEnable
Menentukan apakah CWnd
objek telah diaktifkan atau dinonaktifkan. Parameter ini adalah TRUE
jika CWnd
telah diaktifkan; itu adalah FALSE
jika telah dinonaktifkan CWnd
.
Keterangan
OnEnable
dipanggil sebelum EnableWindow
fungsi anggota kembali, tetapi setelah status diaktifkan jendela (WS_DISABLED
bit gaya) telah berubah.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnEndSession
Kerangka kerja memanggil fungsi anggota ini setelah CWnd
objek mengembalikan nilai bukan nol dari OnQueryEndSession
panggilan fungsi anggota.
afx_msg void OnEndSession(BOOL bEnding);
Parameter
bEnding
Menentukan apakah sesi sedang berakhir atau tidak. Ini adalah TRUE
jika sesi sedang berakhir; jika tidak FALSE
.
Keterangan
Panggilan OnEndSession
menginformasikan CWnd
objek apakah sesi benar-benar berakhir.
Jika bEnding
adalah TRUE
, Windows dapat dihentikan kapan saja setelah semua aplikasi kembali dari memproses panggilan ini. Akibatnya, minta aplikasi melakukan semua tugas yang diperlukan untuk penghentian dalam OnEndSession
.
Anda tidak perlu memanggil DestroyWindow
fungsi anggota atau PostQuitMessage
fungsi Windows saat sesi berakhir.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnEnterIdle
Kerangka kerja memanggil fungsi anggota ini untuk menginformasikan prosedur jendela utama aplikasi bahwa kotak dialog modal atau menu memasuki status menganggur.
afx_msg void OnEnterIdle(
UINT nWhy,
CWnd* pWho);
Parameter
nWhy
Menentukan apakah pesan adalah hasil dari kotak dialog atau menu yang ditampilkan. Parameter ini bisa menjadi salah satu nilai berikut:
MSGF_DIALOGBOX
Sistem menganggur karena kotak dialog sedang ditampilkan.MSGF_MENU
Sistem menganggur karena menu sedang ditampilkan.
pWho
Menentukan penunjuk ke kotak dialog (jika nWhy
), MSGF_DIALOGBOX
atau jendela yang berisi menu yang ditampilkan (jika nWhy
adalah MSGF_MENU
). Penunjuk ini mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Kotak dialog modal atau menu memasuki status diam ketika tidak ada pesan yang menunggu dalam antreannya setelah memproses satu atau beberapa pesan sebelumnya.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnEnterMenuLoop
Kerangka kerja memanggil fungsi anggota ini ketika perulangan modal menu telah dimasukkan.
afx_msg void OnEnterMenuLoop(BOOL bIsTrackPopupMenu);
Parameter
bIsTrackPopupMenu
Menentukan apakah menu yang terlibat adalah menu popup. Memiliki nilai bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnEnterSizeMove
Kerangka kerja memanggil fungsi anggota ini satu kali setelah jendela yang terpengaruh memasuki perulangan modal bergerak atau berukuran.
afx_msg void OnEnterSizeMove();
Keterangan
Metode ini menerima WM_ENTERSIZEMOVE
pemberitahuan, yang dijelaskan di Windows SDK.
Jendela memasukkan perulangan modal pemindahan atau ukuran saat pengguna mengklik bilah judul jendela atau batas ukuran, atau ketika jendela meneruskan WM_SYSCOMMAND
pesan ke CWnd::DefWindowProc
fungsi dan parameter wParam dari pesan tersebut menentukan SC_MOVE
atau SC_SIZE
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnEraseBkgnd
Kerangka kerja memanggil fungsi anggota ini ketika CWnd
latar belakang objek perlu dihapus (misalnya, saat diubah ukurannya).
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
Parameter
pDC
Menentukan objek konteks perangkat.
Tampilkan Nilai
Bukan nol jika menghapus latar belakang; jika tidak, 0.
Keterangan
Ini dipanggil untuk menyiapkan wilayah yang tidak valid untuk pengecatan.
Implementasi default menghapus latar belakang menggunakan kuas latar belakang kelas jendela yang ditentukan oleh hbrBackground
anggota struktur kelas jendela.
hbrBackground
Jika anggota adalah NULL
, versi penimpaan OnEraseBkgnd
Anda harus menghapus warna latar belakang. Versi Anda juga harus menyelaraskan asal kuas yang dimaksudkan dengan koordinat dengan CWnd
terlebih dahulu memanggil UnrealizeObject
kuas, lalu memilih kuas.
Penimpaan OnEraseBkgnd
harus mengembalikan nonzero sebagai respons WM_ERASEBKGND
terhadap jika memproses pesan dan menghapus latar belakang; ini menunjukkan bahwa tidak diperlukan penghapusan lebih lanjut. Jika menampilkan 0, jendela akan tetap ditandai sebagai perlu dihapus. (Biasanya, ini berarti bahwa fErase
anggota PAINTSTRUCT
struktur akan . TRUE
)
Windows mengasumsikan latar belakang dihitung dengan MM_TEXT
mode pemetaan. Jika konteks perangkat menggunakan mode pemetaan lain, area yang dihapus mungkin tidak berada dalam bagian area klien yang terlihat.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnExitMenuLoop
Kerangka kerja memanggil fungsi anggota ini ketika perulangan modal menu telah keluar.
afx_msg void OnExitMenuLoop(BOOL bIsTrackPopupMenu);
Parameter
bIsTrackPopupMenu
Menentukan apakah menu yang terlibat adalah menu pop-up. Memiliki nilai bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnExitSizeMove
Kerangka kerja memanggil fungsi anggota ini satu kali setelah jendela yang terpengaruh keluar dari perulangan modal pemindahan atau ukuran.
afx_msg void OnExitSizeMove();
Keterangan
Metode ini menerima WM_EXITSIZEMOVE
pemberitahuan, yang dijelaskan di Windows SDK.
Jendela memasukkan perulangan modal pemindahan atau ukuran saat pengguna mengklik bilah judul jendela atau batas ukuran, atau ketika jendela meneruskan WM_SYSCOMMAND
pesan ke CWnd::DefWindowProc
fungsi dan parameter pesan tersebut wParam
menentukan SC_MOVE
atau SC_SIZE
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnFontChange
Semua jendela tingkat atas dalam sistem menerima OnFontChange
panggilan dari kerangka kerja setelah aplikasi mengubah kumpulan sumber daya font.
afx_msg void OnFontChange();
Keterangan
Aplikasi yang menambahkan atau menghapus font dari sistem (misalnya, melalui AddFontResource
fungsi atau RemoveFontResource
Windows) harus mengirim WM_FONTCHANGE
pesan ke semua jendela tingkat atas.
Untuk mengirim pesan ini, gunakan SendMessage
fungsi Windows dengan parameter yang hWnd
diatur ke HWND_BROADCAST
.
CWnd::OnGetDlgCode
Dipanggil untuk kontrol sehingga kontrol dapat memproses tombol panah dan input tombol TAB itu sendiri.
afx_msg UINT OnGetDlgCode();
Tampilkan Nilai
Satu atau beberapa nilai berikut, menunjukkan jenis input mana yang diproses aplikasi:
DLGC_BUTTON
Tombol (generik).DLGC_DEFPUSHBUTTON
Tombol dorong default.DLGC_HASSETSEL
EM_SETSEL
Pesan.DLGC_UNDEFPUSHBUTTON
Tidak ada pemrosesan tombol dorong default. (Aplikasi dapat menggunakan bendera ini denganDLGC_BUTTON
untuk menunjukkan bahwa aplikasi memproses input tombol tetapi bergantung pada sistem untuk pemrosesan tombol dorong default.)DLGC_RADIOBUTTON
Tombol radio.DLGC_STATIC
Kontrol statis.DLGC_WANTALLKEYS
Semua input keyboard.DLGC_WANTARROWS
Tombol panah.DLGC_WANTCHARS
WM_CHAR
Pesan.DLGC_WANTMESSAGE
Semua input keyboard. Aplikasi meneruskan pesan ini ke kontrol.DLGC_WANTTAB
Kunci TAB.
Keterangan
Biasanya, Windows menangani semua input tombol panah dan tombol TAB ke CWnd
kontrol. Dengan mengambil alih OnGetDlgCode
, CWnd
kontrol dapat memilih jenis input tertentu untuk memproses dirinya sendiri.
Fungsi default OnGetDlgCode
untuk kelas kontrol yang telah ditentukan sebelumnya mengembalikan kode yang sesuai untuk setiap kelas.
CWnd::OnGetMinMaxInfo
Kerangka kerja memanggil fungsi anggota ini setiap kali Windows perlu mengetahui posisi atau dimensi yang dimaksimalkan, atau ukuran pelacakan minimum atau maksimum.
afx_msg void OnGetMinMaxInfo(MINMAXINFO* lpMMI);
Parameter
lpMMI
Menunjuk ke MINMAXINFO
struktur yang berisi informasi tentang ukuran dan posisi jendela yang dimaksimalkan dan ukuran pelacakan minimum dan maksimumnya. Untuk informasi selengkapnya tentang struktur ini, lihat strukturnya MINMAXINFO
.
Keterangan
Ukuran yang dimaksimalkan adalah ukuran jendela ketika batasnya sepenuhnya diperluas. Ukuran pelacakan maksimum jendela adalah ukuran jendela terbesar yang dapat dicapai dengan menggunakan batas untuk mengukur jendela. Ukuran pelacakan minimum jendela adalah ukuran jendela terkecil yang dapat dicapai dengan menggunakan batas untuk mengukur jendela.
Windows mengisi array titik yang menentukan nilai default untuk berbagai posisi dan dimensi. Aplikasi dapat mengubah nilai-nilai ini di OnGetMinMaxInfo
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnHelp
Menangani Bantuan F1 dalam aplikasi (menggunakan konteks saat ini).
afx_msg void OnHelp();
Keterangan
Lihat CWinApp::OnHelp
untuk informasi lebih lanjut.
CWnd::OnHelpFinder
ID_HELP_FINDER
Menangani perintah dan ID_DEFAULT_HELP
.
afx_msg void OnHelpFinder();
Keterangan
Lihat CWinApp::OnHelpFinder
untuk informasi lebih lanjut.
CWnd::OnHelpIndex
ID_HELP_INDEX
Menangani perintah dan menyediakan topik Bantuan default.
afx_msg void OnHelpIndex();
Keterangan
Lihat CWinApp::OnHelpIndex
untuk informasi lebih lanjut.
CWnd::OnHelpInfo
Dipanggil oleh kerangka kerja saat pengguna menekan tombol F1.
afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo);
Parameter
lpHelpInfo
Penunjuk ke HELPINFO
struktur yang berisi informasi tentang item menu, kontrol, kotak dialog, atau jendela yang bantuannya diminta.
Tampilkan Nilai
Mengembalikan TRUE
jika jendela memiliki fokus keyboard atau jika menu aktif dalam jendela. Jika tidak ada jendela yang memiliki fokus keyboard, mengembalikan FALSE
.
Keterangan
Jika menu aktif saat F1 ditekan, WM_HELP
dikirim ke jendela yang terkait dengan menu; jika tidak, WM_HELP
dikirim ke jendela yang memiliki fokus keyboard. Jika tidak ada jendela yang memiliki fokus keyboard, WM_HELP
dikirim ke jendela yang saat ini aktif.
CWnd::OnHelpUsing
ID_HELP_USING
Menangani perintah.
afx_msg void OnHelpUsing();
Keterangan
Lihat CWinApp::OnHelpUsing
untuk informasi lebih lanjut.
CWnd::OnHotKey
Kerangka kerja memanggil fungsi anggota ini ketika pengguna menekan tombol panas di seluruh sistem.
afx_msg void OnHotKey(
UINT nHotKeyId,
UINT nKey1,
UINT nKey2);
Parameter
nHotKeyId
[di] Pengidentifikasi untuk hot key yang menghasilkan pesan. Jika pesan dihasilkan oleh kunci panas yang ditentukan sistem, parameter ini akan menjadi salah satu nilai berikut:
IDHOT_SNAPDESKTOP
- Tombol panas desktop snap ditekan.IDHOT_SNAPWINDOW
- Tombol panas jendela jepret ditekan.
nKey1
[di] Kombinasi bitwise (OR) bendera yang menunjukkan tombol yang ditekan dalam kombinasi dengan tombol yang ditentukan oleh nKey2
parameter. Nilai yang mungkin adalah:
MOD_ALT
- Salah satu kunci ALT ditahan.MOD_CONTROL
- Salah satu kunci CTRL ditahan.MOD_SHIFT
- Salah satu tombol SHIFT ditahan.MOD_WIN
- Salah satu kunci WINDOWS ditahan. Kunci ini diberi label dengan logo Microsoft Windows.
nKey2
[di] Kode kunci virtual dari kunci panas.
Keterangan
Metode ini menerima WM_HOTKEY
pemberitahuan, yang dijelaskan di Windows SDK. Pesan ini ditempatkan di bagian atas antrean pesan yang terkait dengan utas yang mendaftarkan kunci panas. RegisterHotKey
Gunakan fungsi untuk mendaftarkan kunci panas di seluruh sistem.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnHScroll
Kerangka kerja memanggil fungsi anggota ini saat pengguna mengklik bilah gulir horizontal jendela.
afx_msg void OnHScroll(
UINT nSBCode,
UINT nPos,
CScrollBar* pScrollBar);
Parameter
nSBCode
Menentukan kode bilah gulir yang menunjukkan permintaan gulir pengguna. Parameter ini dapat jadi dari salah satu berikut:
SB_LEFT
Gulir ke paling kiri.SB_ENDSCROLL
Akhiri gulir.SB_LINELEFT
Gulir ke kiri.SB_LINERIGHT
Gulir ke kanan.SB_PAGELEFT
Gulir satu halaman ke kiri.SB_PAGERIGHT
Gulir satu halaman ke kanan.SB_RIGHT
Gulir ke ujung kanan.SB_THUMBPOSITION
Gulir ke posisi absolut. Posisi saat ini ditentukan olehnPos
parameter .SB_THUMBTRACK
Seret kotak gulir ke posisi yang ditentukan. Posisi saat ini ditentukan olehnPos
parameter .
nPos
Menentukan posisi kotak gulir jika kode bilah gulir adalah SB_THUMBPOSITION
atau SB_THUMBTRACK
; jika tidak, tidak digunakan. Tergantung pada rentang gulir awal, nPos
mungkin negatif dan harus dilemparkan ke jika int
perlu.
pScrollBar
Jika pesan gulir berasal dari kontrol bilah gulir, berisi penunjuk ke kontrol. Jika pengguna mengklik bilah gulir jendela, parameter ini adalah NULL
. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Kode SB_THUMBTRACK
bilah gulir biasanya digunakan oleh aplikasi yang memberikan umpan balik saat kotak gulir sedang diseret.
Jika aplikasi menggulir konten yang dikontrol oleh bilah gulir, aplikasi juga harus mengatur ulang posisi kotak gulir dengan SetScrollPos
fungsi anggota.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
Contoh
void CMdiView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
{
// Get the minimum and maximum scroll-bar positions.
int minpos;
int maxpos;
GetScrollRange(SB_HORZ, &minpos, &maxpos);
maxpos = GetScrollLimit(SB_HORZ);
// Get the current position of scroll box.
int curpos = GetScrollPos(SB_HORZ);
// Determine the new position of scroll box.
switch (nSBCode)
{
case SB_LEFT: // Scroll to far left.
curpos = minpos;
break;
case SB_RIGHT: // Scroll to far right.
curpos = maxpos;
break;
case SB_ENDSCROLL: // End scroll.
break;
case SB_LINELEFT: // Scroll left.
if (curpos > minpos)
curpos--;
break;
case SB_LINERIGHT: // Scroll right.
if (curpos < maxpos)
curpos++;
break;
case SB_PAGELEFT: // Scroll one page left.
{
// Get the page size.
SCROLLINFO info;
GetScrollInfo(SB_HORZ, &info, SIF_ALL);
if (curpos > minpos)
curpos = max(minpos, curpos - (int)info.nPage);
}
break;
case SB_PAGERIGHT: // Scroll one page right.
{
// Get the page size.
SCROLLINFO info;
GetScrollInfo(SB_HORZ, &info, SIF_ALL);
if (curpos < maxpos)
curpos = min(maxpos, curpos + (int)info.nPage);
}
break;
case SB_THUMBPOSITION: // Scroll to absolute position. nPos is the position
curpos = nPos; // of the scroll box at the end of the drag operation.
break;
case SB_THUMBTRACK: // Drag scroll box to specified position. nPos is the
curpos = nPos; // position that the scroll box has been dragged to.
break;
}
// Set the new position of the thumb (scroll box).
SetScrollPos(SB_HORZ, curpos);
CView::OnHScroll(nSBCode, nPos, pScrollBar);
}
CWnd::OnHScrollClipboard
Fungsi anggota pemilik OnHScrollClipboard
Clipboard dipanggil oleh penampil Clipboard ketika data Clipboard memiliki CF_OWNERDISPLAY
format dan ada peristiwa di bilah gulir horizontal penampil Clipboard.
afx_msg void OnHScrollClipboard(
CWnd* pClipAppWnd,
UINT nSBCode,
UINT nPos);
Parameter
pClipAppWnd
Menentukan penunjuk ke jendela Penampil Clipboard. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
nSBCode
Menentukan salah satu kode bilah gulir berikut dalam kata berurutan rendah:
SB_BOTTOM
Gulir ke kanan bawah.SB_ENDSCROLL
Akhiri gulir.SB_LINEDOWN
Gulir satu baris ke bawah.SB_LINEUP
Gulir satu baris ke atas.SB_PAGEDOWN
Gulir satu halaman ke bawah.SB_PAGEUP
Gulir satu halaman ke atas.SB_THUMBPOSITION
Gulir ke posisi absolut. Posisi saat ini disediakan dalamnPos
.SB_TOP
Gulir ke kiri atas.
nPos
Berisi posisi kotak gulir jika kode bilah gulir adalah SB_THUMBPOSITION
; jika tidak, tidak digunakan.
Keterangan
Pemilik harus menggulir gambar Clipboard, membatalkan bagian yang sesuai, dan memperbarui nilai bilah gulir.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnIconEraseBkgnd
Kerangka kerja memanggil fungsi anggota ini untuk objek yang diminimalkan (ikon) CWnd
ketika latar belakang ikon harus diisi sebelum melukis ikon.
afx_msg void OnIconEraseBkgnd(CDC* pDC);
Parameter
pDC
Menentukan objek konteks perangkat ikon. Mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
CWnd
menerima panggilan ini hanya jika ikon kelas didefinisikan untuk implementasi default jendela; jika tidak OnEraseBkgnd
, dipanggil.
Fungsi DefWindowProc
anggota mengisi latar belakang ikon dengan kuas latar belakang jendela induk.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnInitMenu
Kerangka kerja memanggil fungsi anggota ini ketika menu akan menjadi aktif.
afx_msg void OnInitMenu(CMenu* pMenu);
Parameter
pMenu
Menentukan menu yang akan diinisialisasi. Mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
OnInitMenu
dipanggil ketika pengguna mengklik item pada bilah menu atau menekan tombol menu. Ambil alih fungsi anggota ini untuk mengubah menu sebelum ditampilkan.
OnInitMenu
hanya dipanggil sekali, ketika menu pertama kali diakses (misalnya, ketika pengguna mengklik item pada bilah menu). Metode ini tidak menyediakan informasi tentang item menu. Saat pengguna berpindah ke item dalam menu (misalnya, dengan memindahkan mouse di beberapa item menu) fungsi tidak dipanggil lagi. Setelah pengguna keluar dari menu (misalnya, dengan mengklik area klien aplikasi) dan kemudian mengklik item pada bilah menu, fungsi akan dipanggil lagi.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnInitMenuPopup
Kerangka kerja memanggil fungsi anggota ini ketika menu pop-up akan menjadi aktif.
afx_msg void OnInitMenuPopup(
CMenu* pPopupMenu,
UINT nIndex,
BOOL bSysMenu);
Parameter
pPopupMenu
Menentukan objek menu menu pop-up. Mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
nIndex
Menentukan indeks menu pop-up di menu utama.
bSysMenu
TRUE
jika menu pop-up adalah menu Kontrol; jika tidak FALSE
.
Keterangan
Ini memungkinkan aplikasi untuk memodifikasi menu pop-up sebelum ditampilkan tanpa mengubah seluruh menu.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnInputDeviceChange
Kerangka kerja memanggil fungsi anggota ini ketika perangkat I/O ditambahkan atau dihapus dari sistem.
afx_msg void OnInputDeviceChange(unsigned short uFlag);
Parameter
uFlag
[di] Bendera ini dapat berisi nilai berikut:
GIDC_ARRIVAL
- Perangkat baru telah ditambahkan ke sistem.GIDC_REMOVAL
- Perangkat telah dihapus dari sistem.
Keterangan
Metode ini menerima WM_INPUT_DEVICE_CHANGE
pemberitahuan, yang dijelaskan di Windows SDK. adalah pesan perangkat input generik.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnInputLangChange
Kerangka kerja memanggil anggota ini untuk jendela paling terpengaruh setelah bahasa input aplikasi diubah.
afx_msg void OnInputLangChange(
UINT nCharSet,
UINT nLocaleId);
Parameter
nCharSet
[di] Kumpulan karakter lokal baru. Untuk informasi selengkapnya, lihat lfCharSet
parameter LOGFONT
struktur.
nLocaleId
[di] Pengidentifikasi lokal input. Untuk informasi selengkapnya, lihat Konstanta dan String Pengidentifikasi Bahasa.
Keterangan
Metode ini menerima WM_INPUTLANGCHANGE
pesan pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnInputLangChangeRequest
Kerangka kerja memanggil anggota ini untuk jendela dengan fokus saat pengguna memilih bahasa input baru.
afx_msg void OnInputLangChangeRequest(
UINT nFlags,
UINT nLocaleId);
Parameter
nFlags
[di] Kombinasi bendera bitwise (OR) yang menunjukkan lokal baru dipilih dari lokal sebelumnya atau berikutnya dalam daftar lokal yang diinstal, atau tata letak keyboard lokal input baru dapat digunakan dengan set karakter sistem. Nilai yang mungkin adalah INPUTLANGCHANGE_BACKWARD
, INPUTLANGCHANGE_FORWARD
, dan INPUTLANGCHANGE_SYSCHARSET
.
nLocaleId
[di] Pengidentifikasi lokal input. Untuk informasi selengkapnya, lihat Konstanta dan String Pengidentifikasi Bahasa.
Keterangan
Metode ini menerima WM_INPUTLANGCHANGEREQUEST
pesan pemberitahuan, yang dijelaskan di Windows SDK. Pesan ini diposting ketika pengguna memilih bahasa input baru dengan hotkey yang ditentukan dalam aplikasi panel kontrol keyboard, atau dari indikator pada taskbar sistem.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnKeyDown
Kerangka kerja memanggil fungsi anggota ini ketika tombol nonsystem ditekan.
afx_msg void OnKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameter
nChar
Menentukan kode kunci virtual dari kunci yang diberikan. Untuk daftar kode kunci virtual standar, lihat Winuser.h
nRepCnt
Jumlah pengulangan (berapa kali penekanan tombol diulang sebagai akibat pengguna menahan kunci).
nFlags
Menentukan kode pemindaian, kode transisi kunci, status kunci sebelumnya, dan kode konteks, seperti yang ditunjukkan dalam daftar berikut:
Nilai | Deskripsi |
---|---|
0-7 | Kode pemindaian (nilai dependen OEM). |
8 | Kunci yang diperluas, seperti kunci fungsi atau kunci pada keypad numerik (1 jika merupakan kunci yang diperluas). |
9-10 | Tidak digunakan. |
11-12 | Digunakan secara internal oleh Windows. |
13 | Kode konteks (1 jika tombol ALT ditahan saat tombol ditekan; jika tidak, 0). |
14 | Status kunci sebelumnya (1 jika kunci tidak berfungsi sebelum panggilan, 0 jika kunci sudah habis). |
15 | Status transisi (1 jika tombol sedang dirilis, 0 jika tombol sedang ditekan). |
Untuk pesan WM_KEYDOWN
, bit transisi kunci (bit 15) adalah 0 dan bit kode konteks (bit 13) adalah 0.
Keterangan
Tombol nonsystem adalah tombol keyboard yang ditekan saat tombol ALT tidak ditekan atau tombol keyboard yang ditekan saat CWnd
memiliki fokus input.
Karena pengulangan otomatis, lebih dari satu OnKeyDown
panggilan dapat terjadi sebelum OnKeyUp
panggilan fungsi anggota dilakukan. Bit yang menunjukkan status kunci sebelumnya dapat digunakan untuk menentukan apakah OnKeyDown
panggilan adalah transisi turun pertama atau transisi berulang.
Untuk keyboard IBM Enhanced 101- dan 102-key, tombol yang ditingkatkan adalah ALT kanan dan tombol CTRL kanan di bagian utama keyboard; tombol INS, DEL, HOME, END, PAGE UP, PAGE DOWN, dan panah di kluster di sebelah kiri keypad numerik; dan garis miring (/) dan tombol ENTER di keypad numerik. Beberapa keyboard lain mungkin mendukung bit extended-key di nFlags
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnKeyUp
Kerangka kerja memanggil fungsi anggota ini saat kunci nonsystem dirilis.
afx_msg void OnKeyUp(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameter
nChar
Menentukan kode kunci virtual dari kunci yang diberikan. Untuk daftar kode kunci virtual standar, lihat Winuser.h
nRepCnt
Jumlah pengulangan (berapa kali penekanan tombol diulang sebagai akibat pengguna menahan kunci).
nFlags
Menentukan kode pemindaian, kode transisi kunci, status kunci sebelumnya, dan kode konteks, seperti yang ditunjukkan dalam daftar berikut:
Nilai | Deskripsi |
---|---|
0-7 | Kode pemindaian (nilai dependen OEM). Byte rendah kata berurutan tinggi. |
8 | Kunci yang diperluas, seperti kunci fungsi atau kunci pada keypad numerik (1 jika merupakan kunci yang diperluas; jika tidak 0). |
9-10 | Tidak digunakan. |
11-12 | Digunakan secara internal oleh Windows. |
13 | Kode konteks (1 jika tombol ALT ditahan saat tombol ditekan; jika tidak, 0). |
14 | Status kunci sebelumnya (1 jika kunci tidak berfungsi sebelum panggilan, 0 jika kunci sudah habis). |
15 | Status transisi (1 jika tombol sedang dirilis, 0 jika tombol sedang ditekan). |
Untuk pesan WM_KEYUP
, bit transisi kunci (bit 15) adalah 1 dan bit kode konteks (bit 13) adalah 0.
Keterangan
Tombol nonsystem adalah tombol keyboard yang ditekan saat tombol ALT tidak ditekan atau tombol keyboard yang ditekan saat CWnd
memiliki fokus input.
Untuk keyboard IBM Enhanced 101- dan 102-key, tombol yang ditingkatkan adalah ALT kanan dan tombol CTRL kanan di bagian utama keyboard; tombol INS, DEL, HOME, END, PAGE UP, PAGE DOWN, dan panah di kluster di sebelah kiri keypad numerik; dan garis miring (/) dan tombol ENTER di keypad numerik. Beberapa keyboard lain mungkin mendukung bit extended-key di nFlags.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnKillFocus
Kerangka kerja memanggil fungsi anggota ini segera sebelum kehilangan fokus input.
afx_msg void OnKillFocus(CWnd* pNewWnd);
Parameter
pNewWnd
Menentukan penunjuk ke jendela yang menerima fokus input (mungkin NULL
atau mungkin bersifat sementara).
Keterangan
CWnd
Jika objek menampilkan tanda sisipan, tanda sisipan harus dihancurkan pada saat ini.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnLButtonDblClk
Kerangka kerja memanggil fungsi anggota ini ketika pengguna mengklik dua kali tombol mouse kiri.
afx_msg void OnLButtonDblClk(
UINT nFlags,
CPoint point);
Parameter
nFlags
Menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini dapat berupa kombinasi apa pun dari nilai berikut:
MK_CONTROL
Atur jika tombol CTRL tidak berfungsi.MK_LBUTTON
Atur jika tombol mouse kiri tidak berfungsi.MK_MBUTTON
Atur jika tombol mouse tengah tidak berfungsi.MK_RBUTTON
Atur jika tombol kanan mouse tidak berfungsi.MK_SHIFT
Atur jika tombol SHIFT tidak berfungsi.
point
Menentukan koordinat x dan y kursor. Koordinat ini selalu relatif terhadap sudut kiri atas jendela.
Keterangan
Hanya jendela yang memiliki gaya yang CS_DBLCLKS
WNDCLASS
akan menerima OnLButtonDblClk
panggilan. Ini adalah default untuk jendela Kelas Microsoft Foundation. Windows memanggil OnLButtonDblClk
ketika pengguna menekan, melepaskan, lalu menekan tombol mouse kiri lagi dalam batas waktu klik ganda sistem. Mengklik dua kali tombol mouse kiri benar-benar menghasilkan empat peristiwa: WM_LBUTTONDOWN
, pesan, WM_LBUTTONDBLCLK
panggilan, dan pesan lain WM_LBUTTONUP
WM_LBUTTONUP
saat tombol dirilis.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnLButtonDown
Kerangka kerja memanggil fungsi anggota ini ketika pengguna menekan tombol mouse kiri.
afx_msg void OnLButtonDown(
UINT nFlags,
CPoint point);
Parameter
nFlags
Menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini dapat berupa kombinasi apa pun dari nilai berikut:
MK_CONTROL
Atur jika tombol CTRL tidak berfungsi.MK_LBUTTON
Atur jika tombol mouse kiri tidak berfungsi.MK_MBUTTON
Atur jika tombol mouse tengah tidak berfungsi.MK_RBUTTON
Atur jika tombol kanan mouse tidak berfungsi.MK_SHIFT
Atur jika tombol SHIFT tidak berfungsi.
point
Menentukan koordinat x dan y kursor. Koordinat ini selalu relatif terhadap sudut kiri atas jendela.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnLButtonUp
Kerangka kerja memanggil fungsi anggota ini ketika pengguna merilis tombol mouse kiri.
afx_msg void OnLButtonUp(
UINT nFlags,
CPoint point);
Parameter
nFlags
Menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini dapat berupa kombinasi apa pun dari nilai berikut:
MK_CONTROL
Atur jika tombol CTRL tidak berfungsi.MK_MBUTTON
Atur jika tombol mouse tengah tidak berfungsi.MK_RBUTTON
Atur jika tombol kanan mouse tidak berfungsi.MK_SHIFT
Atur jika tombol SHIFT tidak berfungsi.
point
Menentukan koordinat x dan y kursor. Koordinat ini selalu relatif terhadap sudut kiri atas jendela.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMButtonDblClk
Kerangka kerja memanggil fungsi anggota ini ketika pengguna mengklik dua kali tombol mouse tengah.
afx_msg void OnMButtonDblClk(
UINT nFlags,
CPoint point);
Parameter
nFlags
Menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini dapat berupa kombinasi apa pun dari nilai berikut:
MK_CONTROL
Atur jika tombol CTRL tidak berfungsi.MK_LBUTTON
Atur jika tombol mouse kiri tidak berfungsi.MK_MBUTTON
Atur jika tombol mouse tengah tidak berfungsi.MK_RBUTTON
Atur jika tombol kanan mouse tidak berfungsi.MK_SHIFT
Atur jika tombol SHIFT tidak berfungsi.
point
Menentukan koordinat x dan y kursor. Koordinat ini selalu relatif terhadap sudut kiri atas jendela.
Keterangan
Hanya jendela yang memiliki gaya yang CS_DBLCLKS
WNDCLASS
akan menerima OnMButtonDblClk
panggilan. Ini adalah default untuk semua jendela Kelas Microsoft Foundation. Windows menghasilkan OnMButtonDblClk
panggilan ketika pengguna menekan, melepaskan, lalu menekan tombol mouse tengah lagi dalam batas waktu klik ganda sistem. Mengklik dua kali tombol mouse tengah benar-benar menghasilkan empat peristiwa: WM_MBUTTONDOWN
dan pesan, WM_MBUTTONDBLCLK
panggilan, dan pesan lain WM_MBUTTONUP
WM_MBUTTONUP
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMButtonDown
Kerangka kerja memanggil fungsi anggota ini ketika pengguna menekan tombol mouse tengah.
afx_msg void OnMButtonDown(
UINT nFlags,
CPoint point);
Parameter
nFlags
Menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini dapat berupa kombinasi apa pun dari nilai berikut:
MK_CONTROL
Atur jika tombol CTRL tidak berfungsi.MK_LBUTTON
Atur jika tombol mouse kiri tidak berfungsi.MK_MBUTTON
Atur jika tombol mouse tengah tidak berfungsi.MK_RBUTTON
Atur jika tombol kanan mouse tidak berfungsi.MK_SHIFT
Atur jika tombol SHIFT tidak berfungsi.
point
Menentukan koordinat x dan y kursor. Koordinat ini selalu relatif terhadap sudut kiri atas jendela.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMButtonUp
Kerangka kerja memanggil fungsi anggota ini ketika pengguna merilis tombol mouse tengah.
afx_msg void OnMButtonUp(
UINT nFlags,
CPoint point);
Parameter
nFlags
Menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini dapat berupa kombinasi apa pun dari nilai berikut:
MK_CONTROL
Atur jika tombol CTRL tidak berfungsi.MK_LBUTTON
Atur jika tombol mouse kiri tidak berfungsi.MK_RBUTTON
Atur jika tombol kanan mouse tidak berfungsi.MK_SHIFT
Atur jika tombol SHIFT tidak berfungsi.
point
Menentukan koordinat x dan y kursor. Koordinat ini selalu relatif terhadap sudut kiri atas jendela.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMDIActivate
Kerangka kerja memanggil fungsi anggota ini untuk jendela anak yang dinonaktifkan dan jendela anak diaktifkan.
afx_msg void OnMDIActivate(
BOOL bActivate,
CWnd* pActivateWnd,
CWnd* pDeactivateWnd);
Parameter
bActivate
TRUE
jika anak sedang diaktifkan dan FALSE
jika sedang dinonaktifkan.
pActivateWnd
Berisi penunjuk ke jendela anak MDI yang akan diaktifkan. Ketika diterima oleh jendela anak MDI, pActivateWnd
berisi penunjuk ke jendela anak yang diaktifkan. Penunjuk ini mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
pDeactivateWnd
Berisi penunjuk ke jendela anak MDI yang sedang dinonaktifkan. Penunjuk ini mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Jendela anak MDI diaktifkan secara independen dari jendela bingkai MDI. Ketika bingkai menjadi aktif, jendela anak yang terakhir diaktifkan dengan OnMDIActivate
panggilan menerima pesan WM_NCACTIVATE
untuk menggambar bingkai jendela aktif dan bilah keterangan, tetapi tidak menerima panggilan lain OnMDIActivate
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMeasureItem
Kerangka kerja memanggil fungsi anggota ini oleh kerangka kerja untuk pemilik tombol gambar pemilik, kotak kombo, kotak daftar, atau item menu saat kontrol dibuat.
afx_msg void OnMeasureItem(
int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct);
Parameter
nIDCtl
ID kontrol.
lpMeasureItemStruct
Menunjuk ke MEASUREITEMSTRUCT
struktur data yang berisi dimensi kontrol gambar pemilik.
Keterangan
Ambil alih fungsi anggota ini dan isi struktur data yang MEASUREITEMSTRUCT
diarahkan oleh lpMeasureItemStruct
dan kembali; ini menginformasikan Windows tentang dimensi kontrol dan memungkinkan Windows memproses interaksi pengguna dengan kontrol dengan benar.
Jika kotak daftar atau kotak kombo dibuat dengan LBS_OWNERDRAWVARIABLE
gaya atau CBS_OWNERDRAWVARIABLE
, kerangka kerja memanggil fungsi ini untuk pemilik untuk setiap item dalam kontrol; jika tidak, fungsi ini dipanggil sekali.
Windows memulai panggilan ke OnMeasureItem
untuk pemilik kotak kombo dan kotak daftar yang dibuat dengan OWNERDRAWFIXED
gaya sebelum mengirim WM_INITDIALOG
pesan. Akibatnya, ketika pemilik menerima panggilan ini, Windows belum menentukan tinggi dan lebar font yang digunakan dalam kontrol; panggilan fungsi dan perhitungan yang memerlukan nilai-nilai ini harus terjadi dalam fungsi utama aplikasi atau pustaka.
Jika item yang diukur adalah CMenu
objek , CListBox
atau CComboBox
, maka MeasureItem
fungsi virtual dari kelas yang sesuai dipanggil. Ambil alih MeasureItem
fungsi anggota kelas kontrol yang sesuai untuk menghitung dan mengatur ukuran setiap item.
OnMeasureItem
akan dipanggil hanya jika kelas kontrol dibuat pada waktu proses, atau dibuat dengan LBS_OWNERDRAWVARIABLE
gaya atau CBS_OWNERDRAWVARIABLE
. Jika kontrol dibuat oleh editor dialog, OnMeasureItem
tidak akan dipanggil. Ini karena WM_MEASUREITEM
pesan dikirim di awal proses pembuatan kontrol. Jika Anda subkelas dengan menggunakan DDX_Control
, , SubclassDlgItem
atau SubclassWindow
, subkelas biasanya terjadi setelah proses pembuatan. Oleh karena itu, tidak ada cara untuk menangani WM_MEASUREITEM
pesan dalam fungsi kontrol OnChildNotify
, yang merupakan mekanisme yang digunakan MFC untuk mengimplementasikan ON_WM_MEASUREITEM_REFLECT
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMenuChar
Kerangka kerja memanggil fungsi anggota ini ketika pengguna menekan karakter mnemonic menu yang tidak cocok dengan mnemonic yang telah ditentukan sebelumnya di menu saat ini.
afx_msg LRESULT OnMenuChar(
UINT nChar,
UINT nFlags,
CMenu* pMenu);
Parameter
nChar
Bergantung pada pengaturan build, menentukan karakter ANSI atau Unicode yang ditekan pengguna.
nFlags
MF_POPUP
Berisi bendera jika menu adalah menu pop-up. Ini berisi MF_SYSMENU
bendera jika menu adalah menu Kontrol.
pMenu
Berisi penunjuk ke yang dipilih CMenu
. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan.
Tampilkan Nilai
Kata berurutan tinggi dari nilai pengembalian harus berisi salah satu kode perintah berikut:
Nilai | Deskripsi |
---|---|
0 | Memberi tahu Windows untuk membuang karakter yang ditekan pengguna dan membuat bip singkat pada speaker sistem. |
1 | Memberi tahu Windows untuk menutup menu saat ini. |
2 | Memberi tahu Windows bahwa kata berurutan rendah dari nilai yang dikembalikan berisi nomor item untuk item tertentu. Item ini dipilih oleh Windows. |
Kata berurutan rendah diabaikan jika kata urutan tinggi berisi 0 atau 1. Aplikasi harus memproses pesan ini ketika kunci akselerator (pintasan) digunakan untuk memilih bitmap yang ditempatkan dalam menu.
Keterangan
Ini dikirim ke pemilik CWnd
menu. OnMenuChar
juga dipanggil ketika pengguna menekan ALT dan kunci lainnya, bahkan jika kunci tidak sesuai dengan karakter mnemonic. Dalam hal ini, pMenu
menunjuk ke menu yang dimiliki oleh CWnd
, dan nFlags
adalah 0.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMenuDrag
Kerangka kerja memanggil fungsi anggota ini dari menu seret dan letakkan saat ini ketika pengguna mulai menyeret item menu.
afx_msg UINT OnMenuDrag(
UINT nPos,
CMenu* pMenu);
Parameter
nPos
[di] Posisi indeks item menu saat operasi seret dimulai.
pMenu
[di] Penunjuk ke CMenu
objek yang berisi item menu.
Tampilkan Nilai
Tampilkan Nilai | Makna |
---|---|
MND_CONTINUE |
Menu harus tetap aktif. Jika mouse dilepaskan, mouse harus diabaikan. |
MND_ENDMENU |
Menu harus diakhir. |
Keterangan
Metode ini menerima WM_MENUDRAG
pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMenuGetObject
Kerangka kerja memanggil fungsi anggota ini dari menu seret dan letakkan saat ini ketika kursor mouse memasukkan item menu atau berpindah dari tengah item ke bagian atas atau bawah item.
afx_msg UINT OnMenuGetObject(MENUGETOBJECTINFO* pMenuGetObjectInfo);
Parameter
pMenu
[di] Penunjuk ke MENUGETOBJECTINFO
struktur yang berisi informasi tentang menu seret dan letakkan kursor mouse aktif.
Tampilkan Nilai
Tampilkan Nilai | Makna |
---|---|
MNGO_NOERROR |
Penunjuk antarmuka yang mendukung operasi drop-and-drag dikembalikan dalam pvObj anggota MENUGETOBJECTINFO struktur. Saat ini, hanya antarmuka yang IDropTarget didukung. |
MNGO_NOINTERFACE |
Tidak ada antarmuka drop-and-drag yang didukung. |
Keterangan
Metode ini menerima WM_MENUGETOBJECT
pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMenuRButtonUp
Kerangka kerja memanggil fungsi anggota ini ketika pengguna merilis tombol kanan mouse saat kursor berada di item menu.
afx_msg void OnMenuRButtonUp(
UINT nPos,
CMenu* pMenu);
Parameter
nPos
[di] Posisi indeks item menu ketika tombol kanan mouse dilepaskan.
pMenu
[di] Penunjuk ke CMenu
objek yang berisi item menu.
Keterangan
Metode ini menerima WM_MENURBUTTONUP
pemberitahuan, yang dijelaskan di Windows SDK. Pesan WM_MENURBUTTONUP
memungkinkan aplikasi menyediakan menu peka konteks untuk item menu yang ditentukan dalam pesan.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMenuSelect
Jika objek dikaitkan CWnd
dengan menu, OnMenuSelect
dipanggil oleh kerangka kerja saat pengguna memilih item menu.
afx_msg void OnMenuSelect(
UINT nItemID,
UINT nFlags,
HMENU hSysMenu);
Parameter
nItemID
Mengidentifikasi item yang dipilih. Jika item yang dipilih adalah item menu, nItemID
berisi ID item menu. Jika item yang dipilih berisi menu pop-up, nItemID
berisi indeks menu pop-up, dan hSysMenu
berisi handel menu utama (diklik).
nFlags
Berisi kombinasi bendera menu berikut:
MF_BITMAP
Item adalah bitmap.MF_CHECKED
Item dicentang.MF_DISABLED
Item dinonaktifkan.MF_GRAYED
Item diredupkan.MF_MOUSESELECT
Item dipilih dengan mouse.MF_OWNERDRAW
Item adalah item gambar pemilik.MF_POPUP
Item berisi menu pop-up.MF_SEPARATOR
Item adalah pemisah item menu.MF_SYSMENU
Item terkandung dalam menu Kontrol.
hSysMenu
Jika nFlags
berisi MF_SYSMENU
, mengidentifikasi menu yang terkait dengan pesan. Jika nFlags
berisi MF_POPUP
, mengidentifikasi handel menu utama. Jika nFlags
tidak berisi atau MF_POPUP
MF_SYSMENU
, tidak digunakan.
Keterangan
Jika nFlags
berisi 0xFFFF dan hSysMenu
berisi 0, Windows telah menutup menu karena pengguna menekan tombol ESC atau mengklik di luar menu.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMouseActivate
Kerangka kerja memanggil fungsi anggota ini ketika kursor berada di jendela tidak aktif dan pengguna menekan tombol mouse.
afx_msg int OnMouseActivate(
CWnd* pDesktopWnd,
UINT nHitTest,
UINT message);
Parameter
pDesktopWnd
Menentukan penunjuk ke jendela induk tingkat atas jendela yang diaktifkan. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan.
nHitTest
Menentukan kode area hit-test. Tes hit adalah pengujian yang menentukan lokasi kursor.
message
Menentukan nomor pesan mouse.
Tampilkan Nilai
Menentukan apakah akan mengaktifkan CWnd
dan apakah akan membuang peristiwa mouse. Ini harus menjadi salah satu nilai berikut:
MA_ACTIVATE
AktifkanCWnd
objek.MA_NOACTIVATE
Jangan aktifkanCWnd
objek.MA_ACTIVATEANDEAT
AktifkanCWnd
objek dan buang peristiwa mouse.MA_NOACTIVATEANDEAT
Jangan aktifkanCWnd
objek dan buang kejadian tetikus.
Keterangan
Implementasi default meneruskan pesan ini ke jendela induk sebelum pemrosesan terjadi. Jika jendela induk mengembalikan TRUE, pemrosesan akan dihentikan.
Untuk deskripsi kode area hit-test individual, lihat OnNcHitTest
fungsi anggota
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
Contoh
// The code fragment below shows how to UI activate an ActiveX control.
// CMyAxCtrl is a COleControl-derived class.
int CMyAxCtrl::OnMouseActivate(CWnd *pDesktopWnd, UINT nHitTest, UINT message)
{
OnActivateInPlace(TRUE, NULL); // OnActivateInPlace() is an undocumented function
return COleControl::OnMouseActivate(pDesktopWnd, nHitTest, message);
}
CWnd::OnMouseHover
Kerangka kerja memanggil fungsi anggota ini ketika kursor mengarahkan kursor ke area klien jendela untuk periode waktu yang ditentukan dalam panggilan sebelumnya ke TrackMouseEvent
.
afx_msg void OnMouseHover(
UINT nFlags,
CPoint point);
Parameter
nFlags
[di] Kombinasi bitwise (OR) bendera yang menunjukkan tombol pengubah mana yang ditekan. Misalnya, MK_CONTROL
bendera menunjukkan bahwa tombol CTRL ditekan.
point
[di] Objek CPoint
yang menentukan x
koordinat dan y
kursor relatif terhadap sudut kiri atas area klien.
Keterangan
Metode ini menerima WM_MOUSEHOVER
pemberitahuan, yang dijelaskan di Windows SDK.
Parameter nFlags
dapat berupa kombinasi kunci pengubah yang tercantum dalam tabel berikut. Untuk informasi selengkapnya, lihat Tentang Input Mouse.
Kunci Pengubah | Deskripsi |
---|---|
MK_CONTROL |
Tombol CTRL ditekan. |
MK_LBUTTON |
Tombol mouse kiri ditekan. |
MK_MBUTTON |
Tombol mouse tengah ditekan. |
MK_RBUTTON |
Tombol kanan mouse ditekan. |
MK_SHIFT |
Tombol SHIFT ditekan. |
MK_XBUTTON1 |
Tombol XBUTTON1 mouse Microsoft IntelliMouse ditekan. |
MK_XBUTTON2 |
Tombol XBUTTON2 mouse Microsoft IntelliMouse ditekan. |
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMouseHWheel
Kerangka kerja memanggil anggota ini ketika roda gulir horizontal mouse miring atau diputar.
afx_msg void OnMouseHWheel(
UINT nFlags,
short zDelta,
CPoint pt);
Parameter
nFlags
[di] Kombinasi bitwise (OR) bendera yang menunjukkan tombol pengubah mana yang ditekan. Misalnya, MK_CONTROL
bendera menunjukkan bahwa tombol CTRL ditekan. Untuk daftar bendera, lihat subjudul "Parameter Pesan" di Tentang Input Mouse.
zDelta
[di] Menunjukkan jarak roda diputar, dinyatakan dalam kelipatan atau pembagian WHEEL_DELTA
, yaitu 120. Nilai positif menunjukkan bahwa roda diputar ke kanan; nilai negatif menunjukkan bahwa roda diputar ke kiri.
pt
[di] Objek CPoint
yang menentukan x
koordinat dan y
kursor relatif terhadap sudut kiri atas area klien.
Keterangan
Metode ini menerima WM_MOUSEHWHEEL
pesan pemberitahuan, yang dijelaskan di Windows SDK. Pesan ini dikirim ke jendela yang memiliki fokus ketika roda gulir horizontal mouse miring atau diputar.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMouseLeave
Kerangka kerja memanggil fungsi anggota ini ketika kursor meninggalkan area klien jendela yang ditentukan dalam panggilan sebelumnya ke TrackMouseEvent
.
afx_msg void OnMouseLeave();
Keterangan
Metode ini menerima WM_MOUSELEAVE
pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMouseMove
Kerangka kerja memanggil fungsi anggota ini ketika kursor mouse bergerak.
afx_msg void OnMouseMove(
UINT nFlags,
CPoint point);
Parameter
nFlags
Menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini dapat berupa kombinasi apa pun dari nilai berikut:
MK_CONTROL
Atur jika tombol CTRL tidak berfungsi.MK_LBUTTON
Atur jika tombol mouse kiri tidak berfungsi.MK_MBUTTON
Atur jika tombol mouse tengah tidak berfungsi.MK_RBUTTON
Atur jika tombol kanan mouse tidak berfungsi.MK_SHIFT
Atur jika tombol SHIFT tidak berfungsi.
point
Menentukan koordinat x dan y kursor. Koordinat ini selalu relatif terhadap sudut kiri atas jendela.
Keterangan
Jika mouse tidak diambil, WM_MOUSEMOVE
pesan diterima oleh CWnd
objek di bawah kursor mouse; jika tidak, pesan masuk ke jendela yang telah mengambil mouse.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMouseWheel
Kerangka kerja memanggil fungsi anggota ini saat pengguna memutar roda mouse dan menemukan notch roda berikutnya.
afx_msg BOOL OnMouseWheel(
UINT nFlags,
short zDelta,
CPoint pt);
Parameter
nFlags
Menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini dapat berupa kombinasi apa pun dari nilai berikut:
MK_CONTROL
Atur jika tombol CTRL tidak berfungsi.MK_LBUTTON
Atur jika tombol mouse kiri tidak berfungsi.MK_MBUTTON
Atur jika tombol mouse tengah tidak berfungsi.MK_RBUTTON
Atur jika tombol kanan mouse tidak berfungsi.MK_SHIFT
Atur jika tombol SHIFT tidak berfungsi.
zDelta
Menunjukkan jarak yang diputar. Nilai zDelta
dinyatakan dalam kelipatan atau divisi , WHEEL_DELTA
yaitu 120. Nilai yang kurang dari nol menunjukkan memutar kembali (ke arah pengguna) sementara nilai yang lebih besar dari nol menunjukkan memutar ke depan (jauh dari pengguna). Pengguna dapat membalikkan respons ini dengan mengubah pengaturan Roda di perangkat lunak mouse. Lihat Keterangan untuk informasi selengkapnya tentang parameter ini.
pt
Menentukan koordinat x dan y kursor. Koordinat ini selalu relatif terhadap sudut kiri atas layar.
Tampilkan Nilai
Bukan nol jika gulir roda mouse diaktifkan; jika tidak, 0.
Keterangan
Kecuali ditimpa, OnMouseWheel
memanggil default .WM_MOUSEWHEEL
Windows secara otomatis merutekan pesan ke jendela kontrol atau anak yang memiliki fokus. Fungsi Win32 DefWindowProc
menyebarluaskan pesan ke rantai induk ke jendela yang memprosesnya.
Parameter zDelta
adalah kelipatan dari WHEEL_DELTA
, yang diatur pada 120. Nilai ini adalah ambang batas untuk tindakan yang akan diambil, dan salah satu tindakan tersebut (misalnya, menggulir ke depan satu notch) harus terjadi untuk setiap delta.
WHEEL_DELTA
diatur ke 120 untuk memungkinkan roda resolusi yang lebih halus, seperti roda yang bebas berputar tanpa takik. Roda resolusi yang lebih halus mengirim lebih banyak pesan per rotasi, tetapi setiap pesan memiliki nilai delta yang lebih kecil. Untuk menggunakan roda seperti itu, tambahkan nilai masuk zDelta
hingga WHEEL_DELTA
tercapai (sehingga Anda mendapatkan respons yang sama untuk delta-rotasi tertentu), atau gulir garis parsial sebagai respons terhadap pesan yang lebih sering. Anda juga dapat memilih granularitas gulir dan mengakumulasi delta hingga WHEEL_DELTA
tercapai.
Ambil alih fungsi anggota ini untuk menyediakan perilaku pengguliran roda mouse Anda sendiri.
Catatan
OnMouseWheel
menangani pesan untuk Windows NT 4.0 dan versi yang lebih baru. Untuk penanganan pesan Windows 95/98 atau Windows NT 3.51, gunakan OnRegisteredMouseWheel
.
CWnd::OnMove
Kerangka kerja memanggil fungsi anggota ini setelah CWnd
objek dipindahkan.
afx_msg void OnMove(
int x,
int y);
Parameter
x
Menentukan lokasi koordinat x baru dari sudut kiri atas area klien. Lokasi baru ini diberikan dalam koordinat layar untuk jendela tumpang tindih dan pop-up, dan koordinat induk-klien untuk jendela anak.
y
Menentukan lokasi koordinat y baru dari sudut kiri atas area klien. Lokasi baru ini diberikan dalam koordinat layar untuk jendela tumpang tindih dan pop-up, dan koordinat induk-klien untuk jendela anak.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMoving
Kerangka kerja memanggil fungsi anggota ini saat pengguna memindahkan CWnd
objek.
afx_msg void OnMoving(
UINT nSide,
LPRECT lpRect);
Parameter
nSide
Tepi jendela yang akan dipindahkan.
lpRect
CRect
Alamat struktur atau RECT
yang akan berisi koordinat item.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcActivate
Kerangka kerja memanggil fungsi anggota ini ketika area nonclient perlu diubah untuk menunjukkan status aktif atau tidak aktif.
afx_msg BOOL OnNcActivate(BOOL bActive);
Parameter
bActive
Menentukan kapan bilah keterangan atau ikon perlu diubah untuk menunjukkan status aktif atau tidak aktif. Parameter bActive
adalah TRUE
jika keterangan atau ikon aktif akan digambar. FALSE
Ini untuk keterangan atau ikon yang tidak aktif.
Tampilkan Nilai
Bukan nol jika Windows harus melanjutkan pemrosesan default; 0 untuk mencegah bilah keterangan atau ikon dinonaktifkan.
Keterangan
Implementasi default menggambar bilah judul dan teks bilah judul dalam warna aktifnya jika bActive
ada TRUE
dan dalam warna tidak aktifnya jika bActive
adalah FALSE
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcCalcSize
Kerangka kerja memanggil fungsi anggota ini ketika ukuran dan posisi area klien perlu dihitung.
afx_msg void OnNcCalcSize(
BOOL bCalcValidRects,
NCCALCSIZE_PARAMS* lpncsp);
Parameter
bCalcValidRects
Menentukan apakah aplikasi harus menentukan bagian mana dari area klien yang berisi informasi yang valid. Windows akan menyalin informasi yang valid ke area yang ditentukan dalam area klien baru. Jika parameter ini TRUE, aplikasi harus menentukan bagian mana dari area klien yang valid.
lpncsp
Menunjuk ke NCCALCSIZE_PARAMS
struktur data yang berisi informasi yang dapat digunakan aplikasi untuk menghitung ukuran dan posisi CWnd
persegi panjang baru (termasuk area klien, batas, keterangan, bilah gulir, dan sebagainya).
Keterangan
Dengan memproses pesan ini, aplikasi dapat mengontrol konten area klien jendela saat ukuran atau posisi jendela berubah.
Terlepas dari bCalcValidRects
nilai , persegi panjang pertama dalam array yang ditentukan oleh rgrc
anggota NCCALCSIZE_PARAMS
struktur struktur berisi koordinat jendela. Untuk jendela anak, koordinat relatif terhadap area klien jendela induk. Untuk jendela tingkat atas, koordinatnya adalah koordinat layar. Aplikasi harus memodifikasi rgrc[0]
persegi panjang untuk mencerminkan ukuran dan posisi area klien.
Persegi rgrc[1]
panjang dan rgrc[2]
hanya valid jika bCalcValidRects
adalah TRUE
. Dalam hal ini, rgrc[1]
persegi panjang berisi koordinat jendela sebelum dipindahkan atau diubah ukurannya. Persegi rgrc[2]
panjang berisi koordinat area klien jendela sebelum jendela dipindahkan. Semua koordinat relatif terhadap jendela atau layar induk.
Implementasi default menghitung ukuran area klien berdasarkan karakteristik jendela (adanya bilah gulir, menu, dan sebagainya), dan menempatkan hasilnya di lpncsp
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcCreate
Kerangka kerja memanggil fungsi anggota ini sebelum WM_CREATE
pesan ketika CWnd
objek pertama kali dibuat.
afx_msg BOOL OnNcCreate(LPCREATESTRUCT lpCreateStruct);
Parameter
lpCreateStruct
Menunjuk ke CREATESTRUCT
struktur data untuk CWnd
.
Tampilkan Nilai
Bukan nol jika area nonkelola dibuat. Ini adalah 0 jika kesalahan terjadi; Create
fungsi akan kembali failure
dalam kasus ini.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcDestroy
Dipanggil oleh kerangka kerja ketika area nonclient sedang dihancurkan, dan merupakan fungsi anggota terakhir yang dipanggil ketika jendela Windows dihancurkan.
afx_msg void OnNcDestroy();
Keterangan
Implementasi default melakukan beberapa pembersihan, lalu memanggil fungsi PostNcDestroy
anggota virtual .
Ambil alih PostNcDestroy
jika Anda ingin melakukan pembersihan Sendiri, seperti delete this
operasi. Jika Anda mengambil alih OnNcDestroy
, Anda harus memanggil OnNcDestroy
di kelas dasar Anda untuk memastikan bahwa memori apa pun yang dialokasikan secara internal untuk jendela dibebaskan.
CWnd::OnNcHitTest
Kerangka kerja memanggil fungsi anggota ini untuk CWnd
objek yang berisi kursor (atau CWnd
objek yang menggunakan SetCapture
fungsi anggota untuk mengambil input mouse) setiap kali mouse dipindahkan.
afx_msg LRESULT OnNcHitTest(CPoint point);
Parameter
point
Berisi koordinat x dan y kursor. Koordinat ini selalu koordinat layar.
Tampilkan Nilai
Salah satu nilai enumerasi hit-test mouse. Lihat WM_NCHITTEST
untuk daftar nilai.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcLButtonDblClk
Kerangka kerja memanggil fungsi anggota ini ketika pengguna mengklik dua kali tombol mouse kiri saat kursor berada dalam area CWnd
nonkelola .
afx_msg void OnNcLButtonDblClk(
UINT nHitTest,
CPoint point);
Parameter
nHitTest
Menentukan kode hit-test. Tes hit adalah pengujian yang menentukan lokasi kursor. Lihat WM_NCHITTEST
untuk daftar nilai.
point
CPoint
Menentukan objek yang berisi koordinat layar x dan y dari posisi kursor. Koordinat ini selalu relatif terhadap sudut kiri atas layar.
Keterangan
Jika sesuai, WM_SYSCOMMAND
pesan akan dikirim.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcLButtonDown
Kerangka kerja memanggil fungsi anggota ini ketika pengguna menekan tombol mouse kiri saat kursor berada dalam area CWnd
nonkelola objek.
afx_msg void OnNcLButtonDown(
UINT nHitTest,
CPoint point);
Parameter
nHitTest
Menentukan kode hit-test. Tes hit adalah pengujian yang menentukan lokasi kursor. Lihat WM_NCHITTEST
untuk daftar nilai.
point
CPoint
Menentukan objek yang berisi koordinat layar x dan y dari posisi kursor. Koordinat ini selalu relatif terhadap sudut kiri atas layar.
Keterangan
Jika sesuai, WM_SYSCOMMAND
dikirim.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcLButtonUp
Kerangka kerja memanggil fungsi anggota ini ketika pengguna merilis tombol mouse kiri saat kursor berada dalam area nonkelola.
afx_msg void OnNcLButtonUp(
UINT nHitTest,
CPoint point);
Parameter
nHitTest
Menentukan kode hit-test. Tes hit adalah pengujian yang menentukan lokasi kursor. Lihat WM_NCHITTEST
untuk daftar nilai.
point
CPoint
Menentukan objek yang berisi koordinat layar x dan y dari posisi kursor. Koordinat ini selalu relatif terhadap sudut kiri atas layar.
Keterangan
Jika sesuai, WM_SYSCOMMAND
dikirim.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcMButtonDblClk
Kerangka kerja memanggil fungsi anggota ini ketika pengguna mengklik dua kali tombol mouse tengah saat kursor berada dalam area nonkelola.
afx_msg void OnNcMButtonDblClk(
UINT nHitTest,
CPoint point);
Parameter
nHitTest
Menentukan kode hit-test. Tes hit adalah pengujian yang menentukan lokasi kursor.
point
CPoint
Menentukan objek yang berisi koordinat layar x dan y dari posisi kursor. Koordinat ini selalu relatif terhadap sudut kiri atas layar.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcMButtonDown
Kerangka kerja memanggil fungsi anggota ini ketika pengguna menekan tombol mouse tengah saat kursor berada dalam area nonkelola.
afx_msg void OnNcMButtonDown(
UINT nHitTest,
CPoint point);
Parameter
nHitTest
Menentukan kode hit-test. Tes hit adalah pengujian yang menentukan lokasi kursor.
point
CPoint
Menentukan objek yang berisi koordinat layar x dan y dari posisi kursor. Koordinat ini selalu relatif terhadap sudut kiri atas layar.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcMButtonUp
Kerangka kerja memanggil fungsi anggota ini ketika pengguna merilis tombol mouse tengah saat kursor berada dalam area nonkelola.
afx_msg void OnNcMButtonUp(
UINT nHitTest,
CPoint point);
Parameter
nHitTest
Menentukan kode hit-test. Tes hit adalah pengujian yang menentukan lokasi kursor.
point
CPoint
Menentukan objek yang berisi koordinat layar x dan y dari posisi kursor. Koordinat ini selalu relatif terhadap sudut kiri atas layar.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcMouseHover
Kerangka kerja memanggil fungsi anggota ini ketika kursor mengarahkan kursor ke area nonkelola jendela untuk jangka waktu yang ditentukan dalam panggilan sebelumnya ke TrackMouseEvent
.
afx_msg void OnNcMouseHover(
UINT nHitTest,
CPoint point);
Parameter
nHitTest
[di] Nilai hit-test yang dikembalikan oleh CWnd::DefWindowProc
fungsi sebagai hasil dari pemrosesan WM_NCHITTEST
pesan.
point
[di] Objek CPoint
yang menentukan koordinat x dan y kursor relatif terhadap sudut kiri atas layar.
Keterangan
Metode ini menerima WM_NCMOUSEHOVER
pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcMouseLeave
Kerangka kerja memanggil fungsi anggota ini ketika kursor meninggalkan area nonkelola jendela yang ditentukan dalam panggilan sebelumnya ke TrackMouseEvent
.
afx_msg void OnNcMouseLeave();
Keterangan
Metode ini menerima WM_NCMOUSELEAVE
pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcMouseMove
Kerangka kerja memanggil fungsi anggota ini ketika kursor dipindahkan dalam area nonkelola.
afx_msg void OnNcMouseMove(
UINT nHitTest,
CPoint point);
Parameter
nHitTest
Menentukan kode hit-test. Tes hit adalah pengujian yang menentukan lokasi kursor.
point
CPoint
Menentukan objek yang berisi koordinat layar x dan y dari posisi kursor. Koordinat ini selalu relatif terhadap sudut kiri atas layar.
Keterangan
Jika sesuai, WM_SYSCOMMAND
pesan akan dikirim.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcPaint
Kerangka kerja memanggil fungsi anggota ini ketika area nonclient perlu dicat.
afx_msg void OnNcPaint();
Keterangan
Implementasi default melukis bingkai jendela.
Aplikasi dapat mengambil alih panggilan ini dan melukis bingkai jendela kustomnya sendiri. Wilayah kliping selalu persegi panjang, bahkan jika bentuk bingkai diubah.
CWnd::OnNcRButtonDblClk
Kerangka kerja memanggil fungsi anggota ini ketika pengguna mengklik dua kali tombol kanan mouse sementara kursor berada dalam area CWnd
nonkelola .
afx_msg void OnNcRButtonDblClk(
UINT nHitTest,
CPoint point);
Parameter
nHitTest
Menentukan kode hit-test. Tes hit adalah pengujian yang menentukan lokasi kursor.
point
CPoint
Menentukan objek yang berisi koordinat layar x dan y dari posisi kursor. Koordinat ini selalu relatif terhadap sudut kiri atas layar.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcRButtonDown
Kerangka kerja memanggil fungsi anggota ini ketika pengguna menekan tombol kanan mouse saat kursor berada dalam area nonkelola.
afx_msg void OnNcRButtonDown(
UINT nHitTest,
CPoint point);
Parameter
nHitTest
Menentukan kode hit-test. Tes hit adalah pengujian yang menentukan lokasi kursor.
point
CPoint
Menentukan objek yang berisi koordinat layar x dan y dari posisi kursor. Koordinat ini selalu relatif terhadap sudut kiri atas layar.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcRButtonUp
Kerangka kerja memanggil fungsi anggota ini ketika pengguna merilis tombol kanan mouse saat kursor berada dalam area nonkelola.
afx_msg void OnNcRButtonUp(
UINT nHitTest,
CPoint point);
Parameter
nHitTest
Menentukan kode hit-test. Tes hit adalah pengujian yang menentukan lokasi kursor.
point
CPoint
Menentukan objek yang berisi koordinat layar x dan y dari posisi kursor. Koordinat ini selalu relatif terhadap sudut kiri atas layar.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcRenderingChanged
Kerangka kerja memanggil anggota ini ketika kebijakan penyajian untuk area nonkelola telah berubah.
afx_msg void OnNcRenderingChanged(BOOL bIsRendering);
Parameter
bIsRendering
[di] TRUE
jika penyajian Desktop Window Manager (DWM) diaktifkan untuk area nonkelola jendela; FALSE
jika penyajian dinonaktifkan.
Keterangan
Metode ini menerima WM_DWMNCRENDERINGCHANGED
pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcXButtonDblClk
Kerangka kerja memanggil fungsi anggota ini ketika pengguna mengklik XBUTTON1
dua kali atau XBUTTON2
saat kursor berada di area nonkelola jendela.
void OnNcXButtonDblClk(
short nHitTest,
UINT nButton,
CPoint point);
Parameter
nHitTest
[di] Nilai hit-test yang dikembalikan oleh CWnd::DefWindowProc
fungsi sebagai hasil dari pemrosesan WM_NCHITTEST
pesan.
nButton
[di] Nilai XBUTTON1
jika tombol Microsoft Intellimouse X pertama diklik dua kali, atau XBUTTON2
jika tombol X kedua diklik dua kali.
point
[di] Objek CPoint
yang menentukan x
koordinat dan y
kursor relatif terhadap sudut kiri atas area klien.
Keterangan
Metode ini menerima WM_XBUTTONDBLCLK
pemberitahuan, yang dijelaskan di Windows SDK. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcXButtonDown
Kerangka kerja memanggil fungsi anggota ini ketika pengguna menekan XBUTTON1
atau XBUTTON2
mouse saat kursor berada di area nonkelola jendela.
afx_msg void OnNcXButtonDown(
short nHitTest,
UINT nButton,
CPoint point);
Parameter
nHitTest
[di] Nilai hit-test yang dikembalikan oleh CWnd::DefWindowProc
fungsi sebagai hasil dari pemrosesan WM_NCHITTEST
pesan.
nButton
[di] Nilai XBUTTON1
jika tombol X mouse pertama ditekan, atau XBUTTON2
jika tombol X kedua ditekan.
point
[di] Objek CPoint
yang menentukan x
koordinat dan y
kursor relatif terhadap sudut kiri atas layar.
Keterangan
Metode ini menerima WM_NCXBUTTONDOWN
pemberitahuan, yang dijelaskan di Windows SDK. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNcXButtonUp
Kerangka kerja memanggil fungsi anggota ini ketika pengguna merilis XBUTTON1
atau XBUTTON2
mouse saat kursor berada di area nonkelola jendela.
afx_msg void OnNcXButtonUp(
short nHitTest,
UINT nButton,
CPoint point);
Parameter
nHitTest
[di] Nilai hit-test yang dikembalikan oleh CWnd::DefWindowProc
fungsi sebagai hasil dari pemrosesan WM_NCHITTEST
pesan.
nButton
[di] Nilai XBUTTON1
jika tombol X mouse pertama dilepaskan, atau XBUTTON2
jika tombol X kedua dilepaskan.
point
[di] Objek CPoint
yang menentukan koordinat x dan y kursor relatif terhadap sudut kiri atas layar.
Keterangan
Metode ini menerima WM_NCXBUTTONUP
pemberitahuan, yang dijelaskan di Windows SDK. Pesan ini diposting ke jendela yang berisi kursor. Jika jendela telah mengambil mouse, pesan ini tidak diposting.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNextMenu
Kerangka kerja memanggil fungsi anggota ini ketika tombol panah kanan atau kiri digunakan untuk beralih antara bilah menu dan menu sistem.
afx_msg void OnNextMenu(
UINT nKey,
LPMDINEXTMENU lpMdiNextMenu);
Parameter
nKey
[di] Kombinasi bitwise (OR
) bendera yang menunjukkan tombol pengubah mana yang ditekan. Misalnya, MK_CONTROL
bendera menunjukkan bahwa tombol CTRL ditekan. Untuk daftar bendera, lihat subjudul "Parameter Pesan" di Tentang Input Mouse.
lpMdiNextMenu
[di] Penunjuk ke MDINEXTMENU
struktur yang berisi informasi tentang menu yang akan diaktifkan.
Keterangan
Metode ini menerima WM_UNINITMENUPOPUP
pemberitahuan, yang dijelaskan di Windows SDK. Sebagai respons terhadap pesan ini, aplikasi Anda dapat mengatur hmenuNext
anggota MDINEXTMENU
struktur untuk menentukan menu yang akan dialihkan, dan hwndNext
anggota untuk menentukan jendela untuk menerima pesan pemberitahuan menu.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnNotify
Kerangka kerja memanggil fungsi anggota ini untuk menginformasikan jendela induk kontrol bahwa suatu peristiwa telah terjadi dalam kontrol atau bahwa kontrol memerlukan beberapa jenis informasi.
virtual BOOL OnNotify(
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parameter
wParam
Mengidentifikasi kontrol yang mengirim pesan jika pesan berasal dari kontrol. Jika tidak, wParam
adalah 0.
lParam
Penunjuk ke struktur pesan pemberitahuan (NMHDR
) yang berisi kode pemberitahuan dan informasi tambahan. Untuk beberapa pesan pemberitahuan, parameter ini menunjuk ke struktur yang lebih besar yang memiliki NMHDR
struktur sebagai anggota pertamanya.
pResult
Arahkan ke LRESULT
variabel untuk menyimpan kode hasil jika pesan ditangani.
Tampilkan Nilai
Aplikasi mengembalikan nonzero jika memproses pesan ini; jika tidak, 0.
Keterangan
OnNotify
memproses peta pesan untuk pemberitahuan kontrol.
Ambil alih fungsi anggota ini di kelas turunan Anda untuk menangani WM_NOTIFY
pesan. Penimpaan tidak akan memproses peta pesan kecuali kelas OnNotify
dasar dipanggil.
Untuk informasi selengkapnya tentang pesan, WM_NOTIFY
lihat Catatan Teknis 61 (TN061), ON_NOTIFY
dan WM_NOTIFY
pesan. Anda mungkin juga tertarik dengan topik terkait yang dijelaskan dalam Topik Kontrol, dan TN062, Refleksi Pesan untuk Kontrol Windows.
CWnd::OnNotifyFormat
Kerangka kerja memanggil fungsi anggota ini untuk menentukan apakah jendela saat ini menerima struktur ANSI atau Unicode dalam WM_NOTIFY
pesan pemberitahuan.
afx_msg UINT OnNotifyFormat(
CWnd* pWnd,
UINT nCommand);
Parameter
pWnd
[di] Penunjuk ke CWnd
objek yang mewakili jendela yang mengirim WM_NOTIFY
pesan. Parameter ini adalah penunjuk ke kontrol jika nCommand
parameternya adalah NF_QUERY
, atau penunjuk ke jendela induk kontrol jika nCommand
adalah NF_REQUERY
.
nCommand
[di] Nilai perintah yang mengkhsialisasikan WM_NOTIFY
pesan. Nilai yang mungkin adalah:
NF_QUERY
- Pesan adalah kueri untuk menentukan apakah struktur ANSI atau Unicode harus digunakan dalamWM_NOTIFY
pesan. Pesan ini dikirim dari kontrol ke jendela induknya selama pembuatan kontrol, dan sebagai respons terhadapNF_REQUERY
bentuk pesan ini.NF_REQUERY
- Pesan adalah permintaan kontrol untuk mengirimNF_QUERY
formulir pesan ini ke jendela induknya. Permintaan ini dikirim dari jendela induk, dan meminta kontrol untuk mengkueri kembali induk tentang jenis struktur yang akan digunakan dalamWM_NOTIFY
pesan.nCommand
Jika parameter adalahNF_REQUERY
, nilai yang dikembalikan adalah hasil dari operasi kueri ulang.
Tampilkan Nilai
Nilai hasil | Makna |
---|---|
NFR_ANSI |
Struktur ANSI harus digunakan dalam WM_NOTIFY pesan yang dikirim oleh kontrol. |
NFR_UNICODE |
Struktur Unicode harus digunakan dalam WM_NOTIFY pesan yang dikirim oleh kontrol. |
0 | Terjadi kesalahan. |
Keterangan
Metode ini menerima WM_NOTIFYFORMAT
pemberitahuan, yang dijelaskan di Windows SDK. WM_NOTIFY
pesan dikirim dari kontrol umum ke jendela induknya, dan dari jendela induk ke kontrol umum.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnPaint
Kerangka kerja memanggil fungsi anggota ini ketika Windows atau aplikasi membuat permintaan untuk mengecat ulang sebagian jendela aplikasi.
afx_msg void OnPaint();
Keterangan
Pesan WM_PAINT
dikirim ketika UpdateWindow
fungsi atau RedrawWindow
anggota dipanggil.
Jendela mungkin menerima pesan cat internal sebagai akibat dari memanggil RedrawWindow
fungsi anggota dengan RDW_INTERNALPAINT
set bendera. Dalam hal ini, jendela mungkin tidak memiliki wilayah pembaruan. Aplikasi harus memanggil GetUpdateRect
fungsi anggota untuk menentukan apakah jendela memiliki wilayah pembaruan. Jika GetUpdateRect
mengembalikan 0, aplikasi tidak boleh memanggil BeginPaint
fungsi anggota dan EndPaint
.
Ini adalah tanggung jawab aplikasi untuk memeriksa pengecatan ulang internal atau pembaruan yang diperlukan dengan melihat struktur data internalnya untuk setiap WM_PAINT
pesan karena pesan WM_PAINT
mungkin disebabkan oleh area yang tidak valid dan panggilan ke RedrawWindow
fungsi anggota dengan RDW_INTERNALPAINT
set bendera.
Pesan internal WM_PAINT
dikirim hanya sekali oleh Windows. Setelah pesan internal WM_PAINT
dikirim ke jendela oleh UpdateWindow
fungsi anggota, tidak ada pesan lebih lanjut WM_PAINT
yang akan dikirim atau diposting hingga jendela tidak valid atau sampai RedrawWindow
fungsi anggota dipanggil lagi dengan RDW_INTERNALPAINT
set bendera.
Untuk informasi tentang penyajian gambar dalam aplikasi dokumen/tampilan, lihat CView::OnDraw
.
Untuk informasi selengkapnya tentang menggunakan WM_Paint
, lihat topik berikut ini di Windows SDK:
CWnd::OnPaintClipboard
Fungsi anggota pemilik OnPaintClipboard
Clipboard dipanggil oleh penampil Clipboard ketika pemilik Clipboard telah menempatkan data di Clipboard dalam CF_OWNERDISPLAY
format dan area klien penampil Clipboard perlu dicat ulang.
afx_msg void OnPaintClipboard(
CWnd* pClipAppWnd,
HGLOBAL hPaintStruct);
Parameter
pClipAppWnd
Menentukan penunjuk ke jendela Clipboard-application. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
hPaintStruct
PAINTSTRUCT
Mengidentifikasi struktur data yang menentukan bagian apa dari area klien yang akan dicat.
Keterangan
Untuk menentukan apakah seluruh area klien atau hanya sebagian perlu pengecatan ulang, pemilik Clipboard harus membandingkan dimensi area gambar yang diberikan dalam rcpaint
anggota PAINTSTRUCT
struktur dengan dimensi yang diberikan dalam panggilan fungsi anggota terbaru OnSizeClipboard
.
OnPaintClipboard
harus menggunakan GlobalLock
fungsi Windows untuk mengunci memori yang berisi PAINTSTRUCT
struktur data dan membuka kunci memori tersebut GlobalUnlock
dengan fungsi Windows sebelum keluar.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnPaletteChanged
Kerangka kerja memanggil fungsi anggota ini untuk semua jendela tingkat atas setelah jendela dengan fokus input telah mewujudkan palet logisnya, sehingga mengubah palet sistem.
afx_msg void OnPaletteChanged(CWnd* pFocusWnd);
Parameter
pFocusWnd
Menentukan penunjuk ke jendela yang menyebabkan palet sistem berubah. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan.
Keterangan
Panggilan ini memungkinkan jendela tanpa fokus input yang menggunakan palet warna untuk mewujudkan palet logisnya dan memperbarui area kliennya.
Fungsi OnPaletteChanged
anggota dipanggil untuk semua jendela tingkat atas dan tumpang tindih, termasuk yang mengubah palet sistem dan menyebabkan WM_PALETTECHANGED
pesan dikirim. Jika ada jendela anak yang menggunakan palet warna, pesan ini harus diteruskan ke jendela tersebut.
Untuk menghindari perulangan tak terbatas, jendela tidak boleh menyadari paletnya kecuali menentukan bahwa pFocusWnd
tidak berisi penunjuk ke dirinya sendiri.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnPaletteIsChanging
Kerangka kerja memanggil fungsi anggota ini untuk memberi tahu aplikasi bahwa aplikasi akan mewujudkan palet logisnya.
afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);
Parameter
pRealizeWnd
Menentukan jendela yang akan mewujudkan palet logisnya.
Keterangan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnParentNotify
Fungsi anggota induk OnParentNotify
dipanggil oleh kerangka kerja ketika jendela turunannya dibuat atau dihancurkan, atau ketika pengguna mengklik tombol mouse saat kursor berada di atas jendela anak.
afx_msg void OnParentNotify(
UINT message,
LPARAM lParam);
Parameter
message
Menentukan peristiwa yang diberitahukan induk dan pengidentifikasi jendela anak. Peristiwa ini adalah kata berurutan rendah dari message
. Jika peristiwa adalah WM_CREATE
atau WM_DESTROY
, kata urutan tinggi adalah message
pengidentifikasi jendela anak; jika tidak, kata urutan tinggi tidak ditentukan. Peristiwa (kata message
urutan rendah ) dapat berupa salah satu nilai ini:
WM_CREATE
Jendela anak sedang dibuat.WM_DESTROY
Jendela anak sedang dihancurkan.WM_LBUTTONDOWN
Pengguna telah menempatkan kursor mouse di atas jendela anak dan mengklik tombol mouse kiri.WM_MBUTTONDOWN
Pengguna telah menempatkan kursor mouse di atas jendela anak dan mengklik tombol mouse tengah.WM_RBUTTONDOWN
Pengguna telah menempatkan kursor mouse di atas jendela anak dan mengklik tombol kanan mouse.
lParam
Jika peristiwa (kata urutan rendah) adalah message
WM_CREATE
atau WM_DESTROY
, lParam
menentukan handel jendela jendela anak; jika tidak lParam
, berisi koordinat x dan y kursor. Koordinat x berada dalam kata berurutan rendah dan koordinat y berada dalam kata berurutan tinggi.
Keterangan
Ketika jendela anak sedang dibuat, sistem memanggil OnParentNotify
tepat sebelum Create
fungsi anggota yang membuat jendela kembali. Ketika jendela anak sedang dihancurkan, sistem memanggil OnParentNotify
sebelum pemrosesan apa pun terjadi untuk menghancurkan jendela.
OnParentNotify
dipanggil untuk semua jendela leluhur jendela anak, termasuk jendela tingkat atas.
Semua jendela anak kecuali yang memiliki WS_EX_NOPARENTNOTIFY
gaya mengirim pesan ini ke jendela induknya. Secara default, jendela anak dalam kotak dialog memiliki WS_EX_NOPARENTNOTIFY
gaya kecuali jendela anak dibuat tanpa gaya ini dengan memanggil CreateEx
fungsi anggota.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnPowerBroadcast
Kerangka kerja memanggil fungsi anggota ini ketika peristiwa manajemen daya terjadi.
afx_msg UINT OnPowerBroadcast(
UINT nPowerEvent,
UINT nEventData);
Parameter
nPowerEvent
[di] Peristiwa manajemen daya.
nEventData
[di] Data khusus peristiwa.
Tampilkan Nilai
Jika peristiwa adalah permintaan, kembali TRUE
untuk memberikan permintaan, atau BROADCAST_QUERY_DENY
untuk menolak permintaan.
Keterangan
Metode ini menerima WM_POWERBROADCAST
pesan, yang dijelaskan dalam Windows SDK.
Parameter nPowerEvent
menentukan peristiwa seperti daya baterai rendah, status daya telah berubah, izin untuk menangguhkan operasi diminta atau ditolak, operasi dilanjutkan secara otomatis setelah peristiwa, sistem menangguhkan operasi, atau operasi dilanjutkan setelah penangguhan. Parameter nEventData
biasanya tidak digunakan. Untuk informasi selengkapnya, lihat wParam
parameter WM_POWERBROADCAST
dan lParam
pesan.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnQueryDragIcon
Kerangka kerja memanggil fungsi anggota ini oleh jendela yang diminimalkan (ikon) yang tidak memiliki ikon yang ditentukan untuk kelasnya.
afx_msg HCURSOR OnQueryDragIcon();
Tampilkan Nilai
Nilai kata ganda yang berisi kursor atau handel ikon dalam kata berurutan rendah. Kursor atau ikon harus kompatibel dengan resolusi driver tampilan. Jika aplikasi mengembalikan NULL
, sistem akan menampilkan kursor default. Nilai pengembalian default adalah NULL
.
Keterangan
Sistem melakukan panggilan ini untuk mendapatkan kursor yang akan ditampilkan saat pengguna menyeret jendela yang diminimalkan. Jika aplikasi mengembalikan handel ikon atau kursor, sistem akan mengonversinya menjadi hitam-putih. Jika aplikasi mengembalikan handel, handel harus mengidentifikasi kursor atau ikon monokrom yang kompatibel dengan resolusi driver tampilan. Aplikasi dapat memanggil CWinApp::LoadCursor
fungsi anggota atau CWinApp::LoadIcon
untuk memuat kursor atau ikon dari sumber daya dalam file yang dapat dieksekusi dan untuk mendapatkan handel ini.
CWnd::OnQueryEndSession
Kerangka kerja memanggil fungsi anggota ini ketika pengguna memilih untuk mengakhiri sesi Windows atau ketika aplikasi memanggil ExitWindows
fungsi Windows.
afx_msg BOOL OnQueryEndSession();
Tampilkan Nilai
Nonzero jika aplikasi dapat dimatikan dengan mudah; jika tidak, 0.
Keterangan
Jika ada aplikasi yang mengembalikan 0, sesi Windows tidak berakhir. Windows berhenti memanggil OnQueryEndSession
segera setelah satu aplikasi mengembalikan 0 dan mengirim WM_ENDSESSION
pesan dengan nilai FALSE
parameter untuk aplikasi apa pun yang telah mengembalikan nonzero.
CWnd::OnQueryNewPalette
Kerangka kerja memanggil fungsi anggota ini ketika CWnd
objek akan menerima fokus input, memberikan CWnd
kesempatan untuk mewujudkan palet logisnya ketika menerima fokus.
afx_msg BOOL OnQueryNewPalette();
Tampilkan Nilai
Bukan nol jika CWnd
menyadari palet logisnya; jika tidak, 0.
CWnd::OnQueryOpen
Kerangka kerja memanggil fungsi anggota ini ketika objek diminimalkan CWnd
dan pengguna meminta agar CWnd
dipulihkan ke ukuran dan posisi yang telah ditentukan sebelumnya.
afx_msg BOOL OnQueryOpen();
Tampilkan Nilai
Bukan nol jika ikon dapat dibuka, atau 0 untuk mencegah ikon dibuka.
Keterangan
Saat berada di OnQueryOpen
, CWnd
tidak boleh melakukan tindakan apa pun yang akan menyebabkan aktivasi atau perubahan fokus (misalnya, membuat kotak dialog).
CWnd::OnQueryUIState
Dipanggil untuk mengambil status antarmuka pengguna (UI) untuk jendela.
afx_msg UINT OnQueryUIState();
Tampilkan Nilai
Nilai yang dikembalikan adalah NULL
jika indikator fokus dan akselerator keyboard terlihat. Jika tidak, nilai yang dikembalikan bisa berupa satu atau beberapa nilai berikut:
UISF_HIDEFOCUS
Indikator fokus disembunyikan.UISF_HIDEACCEL
Akselerator keyboard tersembunyi.UISF_ACTIVE
Windows XP: Kontrol harus digambar dalam gaya yang digunakan untuk kontrol aktif.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas WM_QUERYUISTATE
pesan, seperti yang dijelaskan dalam Windows SDK.
CWnd::OnRawInput
Kerangka kerja memanggil fungsi anggota ini ketika jendela saat ini mendapatkan input mentah.
afx_msg void OnRawInput(
UINT nInputCode,
HRAWINPUT hRawInput);
Parameter
nInputCode
[di] Kode input yang menunjukkan apakah input terjadi saat aplikasi berada di latar depan atau tidak. Dalam kedua kasus, aplikasi harus memanggil CWnd::DefWindowProc
sehingga sistem dapat melakukan pembersihan. Parameter ini bisa menjadi salah satu nilai berikut:
RIM_INPUT
- Input terjadi saat aplikasi berada di latar depan.RIM_INPUTSINK
- Input terjadi saat aplikasi tidak berada di latar depan.
hRawInput
[di] Tangani ke RAWINPUT
struktur yang berisi input mentah dari perangkat.
Keterangan
Metode ini menerima WM_INPUT
pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnRButtonDblClk
Kerangka kerja memanggil fungsi anggota ini ketika pengguna mengklik dua kali tombol kanan mouse.
afx_msg void OnRButtonDblClk(
UINT nFlags,
CPoint point);
Parameter
nFlags
Menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini dapat berupa kombinasi apa pun dari nilai berikut:
MK_CONTROL
Atur jika tombol CTRL tidak berfungsi.MK_LBUTTON
Atur jika tombol kiri mouse tidak berfungsi.MK_MBUTTON
Atur jika tombol mouse tengah tidak berfungsi.MK_RBUTTON
Atur jika tombol kanan mouse tidak berfungsi.MK_SHIFT
Atur jika tombol SHIFT tidak berfungsi.
point
Menentukan koordinat x dan y kursor. Koordinat ini selalu relatif terhadap sudut kiri atas jendela.
Keterangan
Hanya jendela yang memiliki gaya CS_DBLCLKS WNDCLASS
yang dapat menerima OnRButtonDblClk
panggilan. Ini adalah default untuk jendela dalam Pustaka Kelas Microsoft Foundation. Windows memanggil OnRButtonDblClk
ketika pengguna menekan, melepaskan, lalu kembali menekan tombol kanan mouse dalam batas waktu klik ganda sistem. Mengklik dua kali tombol kanan mouse benar-benar menghasilkan empat peristiwa: WM_RBUTTONDOWN
dan WM_RBUTTONUP
pesan, OnRButtonDblClk
panggilan, dan pesan WM_RBUTTONUP lain saat tombol dirilis.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnRButtonDown
Kerangka kerja memanggil fungsi anggota ini ketika pengguna menekan tombol kanan mouse.
afx_msg void OnRButtonDown(
UINT nFlags,
CPoint point);
Parameter
nFlags
Menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini dapat berupa kombinasi apa pun dari nilai berikut:
MK_CONTROL
Atur jika tombol CTRL tidak berfungsi.MK_LBUTTON
Atur jika tombol kiri mouse tidak berfungsi.MK_MBUTTON
Atur jika tombol mouse tengah tidak berfungsi.MK_RBUTTON
Atur jika tombol kanan mouse tidak berfungsi.MK_SHIFT
Atur jika tombol SHIFT tidak berfungsi.
point
Menentukan koordinat x dan y kursor. Koordinat ini selalu relatif terhadap sudut kiri atas jendela.
Keterangan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnRButtonUp
Kerangka kerja memanggil fungsi anggota ini ketika pengguna merilis tombol kanan mouse.
afx_msg void OnRButtonUp(
UINT nFlags,
CPoint point);
Parameter
nFlags
Menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini dapat berupa kombinasi apa pun dari nilai berikut:
MK_CONTROL
Atur jika tombol CTRL tidak berfungsi.MK_LBUTTON
Atur jika tombol kiri mouse tidak berfungsi.MK_MBUTTON
Atur jika tombol mouse tengah tidak berfungsi.MK_SHIFT
Atur jika tombol SHIFT tidak berfungsi.
point
Menentukan koordinat x dan y kursor. Koordinat ini selalu relatif terhadap sudut kiri atas jendela.
Keterangan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnRegisteredMouseWheel
Kerangka kerja memanggil fungsi anggota ini saat pengguna memutar roda mouse dan menemukan notch roda berikutnya.
afx_msg LRESULT OnRegisteredMouseWheel(
WPARAM wParam,
LPARAM lParam);
Parameter
wParam
Posisi horizontal penunjuk.
lParam
Posisi vertikal penunjuk.
Tampilkan Nilai
Tidak signifikan saat ini. Selalu nol.
Keterangan
Kecuali ditimpa, OnRegisteredMouseWheel
merutekan pesan ke jendela yang sesuai (jendela induk dengan fokus), dan memanggil handler untuk jendela tersebut WM_MOUSEWHEEL
.
Ambil alih fungsi anggota ini untuk menyediakan perutean pesan Anda sendiri atau untuk mengubah perilaku pengguliran roda mouse.
Catatan
OnRegisteredMouseWheel
menangani pesan untuk Windows 95/98 dan Windows NT 3.51. Untuk penanganan pesan Windows NT 4.0, gunakan OnMouseWheel
.
CWnd::OnRenderAllFormats
Fungsi anggota pemilik OnRenderAllFormats
Clipboard dipanggil oleh kerangka kerja ketika aplikasi pemilik sedang dihancurkan.
afx_msg void OnRenderAllFormats();
Keterangan
Pemilik Clipboard harus merender data dalam semua format yang mampu dihasilkan dan meneruskan handel data untuk setiap format ke Clipboard dengan memanggil SetClipboardData
fungsi Windows. Ini memastikan bahwa Clipboard berisi data yang valid meskipun aplikasi yang merender data dihancurkan. Aplikasi harus memanggil OpenClipboard
fungsi anggota sebelum memanggil SetClipboardData
fungsi Windows dan memanggil CloseClipboard
fungsi Windows setelahnya.
CWnd::OnRenderFormat
Fungsi anggota pemilik OnRenderFormat
Clipboard dipanggil oleh kerangka kerja ketika format tertentu dengan penyajian tertunda perlu dirender.
afx_msg void OnRenderFormat(UINT nFormat);
Parameter
nFormat
Menentukan format Papan klip.
Keterangan
Penerima harus merender data dalam format tersebut dan meneruskannya ke Clipboard dengan memanggil SetClipboardData
fungsi Windows.
Jangan panggil OpenClipboard
fungsi anggota atau CloseClipboard
fungsi Windows dari dalam OnRenderFormat
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnSessionChange
Kerangka kerja memanggil fungsi anggota ini untuk memberi tahu aplikasi tentang perubahan status sesi.
afx_msg void OnSessionChange(
UINT nSessionState,
UINT nId);
Parameter
nSessionState
[di] Kode status menjelaskan perubahan status sesi.
nId
[di] Pengidentifikasi sesi.
Keterangan
Metode ini menerima WM_WTSSESSION_CHANGE
pemberitahuan, yang dijelaskan di Windows SDK.
Parameter nSessionState
menentukan bahwa sesi terhubung atau terputus dari konsol atau terminal jarak jauh, pengguna yang masuk atau nonaktif, sesi dikunci atau dibuka kuncinya, atau sesi telah berubah menjadi status terkontrol jarak jauh. Untuk informasi selengkapnya, lihat wParam
parameter WM_WTSSESSION_CHANGE
pesan.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnSetCursor
Kerangka kerja memanggil fungsi anggota ini jika input mouse tidak ditangkap dan mouse menyebabkan gerakan kursor dalam CWnd
objek.
afx_msg BOOL OnSetCursor(
CWnd* pWnd,
UINT nHitTest,
UINT message);
Parameter
pWnd
Menentukan penunjuk ke jendela yang berisi kursor. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
nHitTest
Menentukan kode area hit-test. Tes hit menentukan lokasi kursor.
message
Menentukan nomor pesan mouse.
Tampilkan Nilai
Nonzero untuk menghentikan pemrosesan lebih lanjut, atau 0 untuk melanjutkan.
Keterangan
Implementasi default memanggil jendela OnSetCursor
induk sebelum diproses. Jika jendela induk mengembalikan TRUE
, pemrosesan lebih lanjut dihentikan. Memanggil jendela induk memberi jendela induk kontrol atas pengaturan kursor di jendela anak.
Implementasi default mengatur kursor ke panah jika tidak berada di area klien atau ke kursor kelas terdaftar jika ya.
Jika nHitTest
adalah HTERROR
dan message
adalah pesan tombol mouse-down, MessageBeep
fungsi anggota dipanggil.
Parameter pesan adalah 0 saat CWnd
memasuki mode menu.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnSetFocus
Kerangka kerja memanggil fungsi anggota ini setelah mendapatkan fokus input.
afx_msg void OnSetFocus(CWnd* pOldWnd);
Parameter
pOldWnd
CWnd
Berisi objek yang kehilangan fokus input (mungkin NULL
). Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Untuk menampilkan tanda sisipan, CWnd
harus memanggil fungsi caret yang sesuai pada saat ini.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnSettingChange
Kerangka kerja memanggil OnSettingChange
semua jendela tingkat atas ketika fungsi SystemParametersInfo Win32 mengubah pengaturan di seluruh sistem.
afx_msg void OnSettingChange(
UINT uFlags,
LPCTSTR lpszSection);
Parameter
uFlags
Ketika sistem mengirim pesan sebagai akibat dari SystemParametersInfo
panggilan, parameter ini adalah bendera yang menunjukkan parameter sistem yang diubah. Untuk daftar nilai, lihat SystemParametersInfo
di Windows SDK. Ketika aplikasi mengirim pesan, parameter ini harus 0.
lpszSection
Menunjuk ke string yang menentukan nama bagian yang telah berubah. (String tidak menyertakan tanda kurung siku yang menyertakan nama bagian.)
Keterangan
Aplikasi harus mengirim pesan ke semua jendela tingkat atas ketika membuat perubahan pada parameter sistem, dan Windows akan mengirim pesan jika pengguna mengubah pengaturan melalui Panel Kontrol.
Pesan ON_WM_SETTINGCHANGE
mirip dengan ON_WM_WININICHANGE
pesan, dengan perbedaan berikut:
Gunakan
ON_WM_SETTINGCHANGE
saat menjalankan Windows NT 4.0 atau yang lebih baru, atau di bawah Windows 95/98.Gunakan
ON_WININICHANGE
saat menjalankan Windows NT 3.51 atau yang lebih lama. Pesan ini sekarang usang.
Anda seharusnya hanya memiliki salah satu makro ini di peta pesan Anda. Untuk menulis program yang berfungsi untuk Windows 95/98 dan Windows NT 4.0, tulis handler untuk ON_WM_SETTINGCHANGE
. Di bawah Windows NT 3.51, handler Anda akan dipanggil oleh OnSettingChange
dan uFlags
dan akan selalu nol.
CWnd::OnShowWindow
Kerangka kerja memanggil fungsi anggota ini ketika CWnd
objek akan disembunyikan atau ditampilkan.
afx_msg void OnShowWindow(
BOOL bShow,
UINT nStatus);
Parameter
bShow
Menentukan apakah jendela sedang ditampilkan. TRUE
Ini adalah jika jendela sedang ditampilkan; itu adalah FALSE
jika jendela sedang disembunyikan.
nStatus
Menentukan status jendela yang ditampilkan. Ini adalah 0 jika pesan dikirim karena ShowWindow
panggilan fungsi anggota; jika tidak nStatus
, adalah salah satu hal berikut:
SW_PARENTCLOSING
Jendela induk ditutup (dibuat ikonik) atau jendela pop-up sedang disembunyikan.SW_PARENTOPENING
Jendela induk sedang dibuka (sedang ditampilkan) atau jendela pop-up sedang ditampilkan.
Keterangan
Jendela disembunyikan atau ditampilkan saat ShowWindow
fungsi anggota dipanggil, ketika jendela yang tumpang tindih dimaksimalkan atau dipulihkan, atau ketika jendela tumpang tindih atau pop-up ditutup (dibuat ikonik) atau dibuka (ditampilkan di layar). Ketika jendela yang tumpang tindih ditutup, semua jendela pop-up yang terkait dengan jendela tersebut disembunyikan.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnSize
Kerangka kerja memanggil fungsi anggota ini setelah ukuran jendela berubah.
afx_msg void OnSize(
UINT nType,
int cx,
int cy);
Parameter
nType
Menentukan jenis perubahan ukuran yang diminta. Parameter ini bisa menjadi salah satu nilai berikut:
SIZE_MAXIMIZED
Jendela telah dimaksimalkan.SIZE_MINIMIZED
Jendela telah diminimalkan.SIZE_RESTORED
Jendela telah diubah ukurannya, tetapi tidak jugaSIZE_MINIMIZED
SIZE_MAXIMIZED
tidak berlaku.SIZE_MAXHIDE
Pesan dikirim ke semua jendela pop-up ketika beberapa jendela lain dimaksimalkan.SIZE_MAXSHOW
Pesan dikirim ke semua jendela pop-up ketika beberapa jendela lain telah dipulihkan ke ukuran sebelumnya.
cx
Menentukan lebar baru area klien.
cy
Menentukan tinggi baru area klien.
Keterangan
SetScrollPos
Jika fungsi atau MoveWindow
anggota dipanggil untuk jendela anak dari OnSize
, bRedraw
parameter SetScrollPos
atau MoveWindow
harus nonzero menyebabkan CWnd
pengecatan ulang.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
Contoh
// Resize the edit control contained in the view to
// fill the entire view when the view's window is
// resized. CMdiView is a CView derived class.
void CMdiView::OnSize(UINT nType, int cx, int cy)
{
CView::OnSize(nType, cx, cy);
// Resize edit to fill the whole view.
// OnSize can be called before OnInitialUpdate
// so make sure the edit control has been created.
if (::IsWindow(m_Edit.GetSafeHwnd()))
{
m_Edit.MoveWindow(0, 0, cx, cy);
}
}
CWnd::OnSizeClipboard
Fungsi anggota pemilik OnSizeClipboard
Clipboard dipanggil oleh penampil Clipboard ketika Clipboard berisi data dengan CF_OWNERDISPLAY
atribut dan ukuran area klien jendela Penampil Clipboard telah berubah.
afx_msg void OnSizeClipboard(
CWnd* pClipAppWnd,
HGLOBAL hRect);
Parameter
pClipAppWnd
Mengidentifikasi jendela Clipboard-application. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan.
hRect
Mengidentifikasi objek memori global. Objek memori berisi RECT
struktur data yang menentukan area bagi pemilik Clipboard untuk dicat.
Keterangan
Fungsi OnSizeClipboard
anggota disebut dengan persegi panjang null (0,0,0,0) sebagai ukuran baru ketika aplikasi Clipboard akan dihancurkan atau diminimalkan. Ini memungkinkan pemilik Clipboard untuk membebaskan sumber daya tampilannya.
Dalam OnSizeClipboard
, aplikasi harus menggunakan GlobalLock
fungsi Windows untuk mengunci memori yang berisi RECT
struktur data. Minta aplikasi membuka kunci memori tersebut GlobalUnlock
dengan fungsi Windows sebelum menghasilkan atau mengembalikan kontrol.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnSizing
Kerangka kerja memanggil fungsi anggota ini untuk menunjukkan bahwa pengguna mengubah ukuran persegi.
afx_msg void OnSizing(
UINT nSide,
LPRECT lpRect);
Parameter
nSide
Tepi jendela yang akan dipindahkan.
lpRect
CRect
Alamat struktur atau RECT
yang akan berisi koordinat item.
Keterangan
Dengan memproses pesan ini, aplikasi dapat memantau ukuran dan posisi persegi panjang seret dan, jika diperlukan, mengubah ukuran atau posisinya.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
Contoh
void CSplitChildFrm::OnSizing(UINT fwSide, LPRECT pRect)
{
CMDIChildWnd::OnSizing(fwSide, pRect);
// Resize the splitter window in the frame. m_wndSplitter is of
// type CSplitterWnd
int nWidth = (pRect->right) - (pRect->left);
m_wndSplitter.SetColumnInfo(0, nWidth / 2, 10);
m_wndSplitter.SetColumnInfo(1, nWidth / 2, 10);
m_wndSplitter.RecalcLayout();
}
CWnd::OnSpoolerStatus
Kerangka kerja memanggil fungsi anggota ini dari Print Manager setiap kali pekerjaan ditambahkan atau dihapus dari antrean Print Manager.
afx_msg void OnSpoolerStatus(
UINT nStatus,
UINT nJobs);
Parameter
nStatus
SP_JOBSTATUS
Menentukan bendera.
nJobs
Menentukan jumlah pekerjaan yang tersisa dalam antrean Print Manager.
Keterangan
Panggilan ini hanya untuk tujuan informasi.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnStyleChanged
Kerangka kerja memanggil fungsi anggota ini setelah SetWindowLong
fungsi mengubah satu atau beberapa gaya jendela.
afx_msg void OnStyleChanged(
int nStyleType,
LPSTYLESTRUCT lpStyleStruct);
Parameter
nStyleType
Menentukan apakah gaya jendela yang diperluas atau tidak ada telah berubah. Parameter ini bisa menjadi kombinasi dari nilai berikut:
GWL_EXSTYLE
Gaya jendela yang diperluas telah berubah.GWL_STYLE
Gaya jendela yang tidak ada telah berubah.
lpStyleStruct
Menunjuk ke STYLESTRUCT
struktur yang berisi gaya baru untuk jendela. Aplikasi dapat memeriksa gaya, tetapi tidak dapat mengubahnya.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnStyleChanging
Kerangka kerja memanggil fungsi anggota ini ketika SetWindowLong
fungsi akan mengubah satu atau beberapa gaya jendela.
afx_msg void OnStyleChanging(
int nStyleType,
LPSTYLESTRUCT lpStyleStruct);
Parameter
nStyleType
Menentukan apakah gaya jendela yang diperluas atau tidak ada telah berubah. Parameter ini bisa menjadi kombinasi dari nilai berikut:
GWL_EXSTYLE
Gaya jendela yang diperluas telah berubah.GWL_STYLE
Gaya jendela yang tidak ada telah berubah.
lpStyleStruct
Menunjuk ke STYLESTRUCT
struktur yang berisi gaya baru untuk jendela. Aplikasi dapat memeriksa gaya dan mengubahnya.
Keterangan
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnSysChar
Kerangka kerja memanggil fungsi anggota ini jika CWnd
memiliki fokus input dan WM_SYSKEYUP
pesan dan WM_SYSKEYDOWN
diterjemahkan.
afx_msg void OnSysChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameter
nChar
Menentukan kode kunci karakter ASCII dari kunci menu Kontrol.
nRepCnt
Menentukan jumlah pengulangan, yaitu, berapa kali penekanan tombol diulang sebagai akibat pengguna menahan kunci.
nFlags
Parameter nFlags
dapat memiliki nilai-nilai ini:
Nilai | Makna |
---|---|
0-15 | Menentukan jumlah pengulangan. Nilainya adalah berapa kali penekanan tombol diulang sebagai akibat pengguna menahan kunci. |
16-23 | Menentukan kode pemindaian. Nilainya tergantung pada produsen peralatan asli (OEM) |
24 | Menentukan apakah kunci adalah tombol yang diperluas, seperti tombol ALT dan CTRL kanan yang muncul pada keyboard tombol 101- atau 102 yang ditingkatkan. Nilainya adalah 1 jika merupakan kunci yang diperluas; jika tidak, itu adalah 0. |
25-28 | Digunakan secara internal oleh Windows. |
29 | Menentukan kode konteks. Nilainya adalah 1 jika tombol ALT ditahan saat tombol ditekan; jika tidak, nilainya adalah 0. |
30 | Menentukan status kunci sebelumnya. Nilainya adalah 1 jika kunci tidak berfungsi sebelum pesan dikirim, atau 0 jika kunci naik. |
31 | Menentukan status transisi. Nilainya adalah 1 jika kunci sedang dirilis, atau 0 jika tombol sedang ditekan. |
Keterangan
Ini menentukan kode kunci virtual dari kunci menu Kontrol. (Untuk daftar kode kunci virtual standar, lihat Winuser.h)
Ketika kode konteks adalah 0, WM_SYSCHAR
dapat meneruskan WM_SYSCHAR
pesan ke TranslateAccelerator
fungsi Windows, yang akan menanganinya seolah-olah itu adalah pesan kunci normal alih-alih kunci karakter sistem. Ini memungkinkan kunci akselerator digunakan dengan jendela aktif meskipun jendela aktif tidak memiliki fokus input.
Untuk keyboard IBM Enhanced 101- dan 102-key, tombol yang ditingkatkan adalah ALT kanan dan tombol CTRL kanan di bagian utama keyboard; tombol INS, DEL, HOME, END, PAGE UP, PAGE DOWN, dan panah di kluster di sebelah kiri keypad numerik; dan garis miring (/) dan tombol ENTER di keypad numerik. Beberapa keyboard lain mungkin mendukung bit extended-key di nFlags
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnSysColorChange
Kerangka kerja memanggil fungsi anggota ini untuk semua jendela tingkat atas ketika perubahan dilakukan dalam pengaturan warna sistem.
afx_msg void OnSysColorChange();
Keterangan
Panggilan OnSysColorChange
Windows untuk jendela apa pun yang dipengaruhi oleh perubahan warna sistem.
Aplikasi yang memiliki kuas yang menggunakan warna sistem yang ada harus menghapus kuas tersebut dan membuatnya kembali dengan warna sistem baru.
CWnd::OnSysCommand
Kerangka kerja memanggil fungsi anggota ini saat pengguna memilih perintah dari menu Kontrol, atau saat pengguna memilih tombol Maksimalkan atau Minimalkan.
afx_msg void OnSysCommand(
UINT nID,
LPARAM lParam);
Parameter
nID
Menentukan jenis perintah sistem yang diminta. Parameter ini bisa menjadi salah satu nilai berikut:
SC_CLOSE
CWnd
Tutup objek.SC_HOTKEY
Aktifkan objek yangCWnd
terkait dengan hot key yang ditentukan aplikasi. Kata berurutanlParam
rendah mengidentifikasiHWND
jendela untuk diaktifkan.SC_HSCROLL
Gulir secara horizontal.SC_KEYMENU
Ambil menu melalui penekanan tombol.SC_MAXIMIZE
(atauSC_ZOOM
) MemaksimalkanCWnd
objek.SC_MINIMIZE
(atauSC_ICON
) MinimalkanCWnd
objek.SC_MOUSEMENU
Ambil menu melalui klik mouse.SC_MOVE
PindahkanCWnd
objek.SC_NEXTWINDOW
Pindah ke jendela berikutnya.SC_PREVWINDOW
Pindah ke jendela sebelumnya.SC_RESTORE
Pulihkan jendela ke posisi dan ukuran normal.SC_SCREENSAVE
Menjalankan aplikasi screen-saver yang ditentukan di bagian [boot] fileSYSTEM.INI
.SC_SIZE
CWnd
Ukuran objek.SC_TASKLIST
Jalankan atau aktifkan aplikasi Windows Task Manager.SC_VSCROLL
Gulir secara vertikal.
lParam
Jika perintah Menu kontrol dipilih dengan mouse, lParam
berisi koordinat kursor. Kata urutan rendah berisi koordinat x, dan kata urutan tinggi berisi koordinat y. Jika tidak, parameter ini tidak digunakan.
SC_HOTKEY
Aktifkan jendela yang terkait dengan hot key yang ditentukan aplikasi. KatalParam
urutan rendah mengidentifikasi jendela untuk diaktifkan.SC_SCREENSAVE
Jalankan aplikasi penyimpanan layar yang ditentukan di bagian Desktop Panel Kontrol.
Keterangan
Secara default, OnSysCommand
melakukan permintaan menu Kontrol untuk tindakan yang telah ditentukan sebelumnya yang ditentukan dalam tabel sebelumnya.
Dalam WM_SYSCOMMAND
pesan, empat bit parameter berurutan nID
rendah digunakan secara internal oleh Windows. Ketika aplikasi menguji nilai nID
, aplikasi harus menggabungkan nilai 0xFFF0 dengan nilai dengan nID
menggunakan operator bitwise-AND untuk mendapatkan hasil yang benar.
Item menu di menu Kontrol dapat dimodifikasi dengan GetSystemMenu
fungsi anggota , , InsertMenu
AppendMenu
, dan ModifyMenu
. Aplikasi yang mengubah menu Kontrol harus memproses WM_SYSCOMMAND
pesan, dan pesan apa pun yang WM_SYSCOMMAND
tidak ditangani oleh aplikasi harus diteruskan ke OnSysCommand
. Setiap nilai perintah yang ditambahkan oleh aplikasi harus diproses oleh aplikasi dan tidak dapat diteruskan ke OnSysCommand
.
Aplikasi dapat melakukan perintah sistem apa pun kapan saja dengan meneruskan WM_SYSCOMMAND
pesan ke OnSysCommand
.
Penekanan tombol akselerator (pintasan) yang didefinisikan untuk memilih item dari menu Kontrol diterjemahkan ke dalam OnSysCommand
panggilan; semua penekanan tombol akselerator lainnya diterjemahkan ke dalam WM_COMMAND
pesan.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnSysDeadChar
Kerangka kerja memanggil fungsi anggota ini jika CWnd
objek memiliki fokus input saat OnSysKeyUp
fungsi atau OnSysKeyDown
anggota dipanggil.
afx_msg void OnSysDeadChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameter
nChar
Menentukan nilai karakter dead-key.
nRepCnt
Menentukan jumlah pengulangan.
nFlags
Menentukan kode pemindaian, kode transisi kunci, status kunci sebelumnya, dan kode konteks, seperti yang ditunjukkan dalam daftar berikut:
Nilai | Makna |
---|---|
0-7 | Kode pemindaian (nilai dependen OEM). Byte rendah kata berurutan tinggi. |
8 | Kunci yang diperluas, seperti kunci fungsi atau kunci pada keypad numerik (1 jika merupakan kunci yang diperluas; jika tidak 0). |
9-10 | Tidak digunakan. |
11-12 | Digunakan secara internal oleh Windows. |
13 | Kode konteks (1 jika tombol ALT ditahan saat tombol ditekan; jika tidak, 0). |
14 | Status kunci sebelumnya (1 jika kunci tidak berfungsi sebelum panggilan, 0 jika kunci sudah habis). |
15 | Status transisi (1 jika tombol sedang dirilis, 0 jika tombol sedang ditekan). |
Keterangan
Ini menentukan nilai karakter kunci mati.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnSysKeyDown
CWnd
Jika objek memiliki fokus input, OnSysKeyDown
fungsi anggota dipanggil oleh kerangka kerja saat pengguna menahan tombol ALT lalu menekan tombol lain.
afx_msg void OnSysKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameter
nChar
Menentukan kode kunci virtual tombol yang sedang ditekan. Untuk daftar kode kunci virtual standar, lihat Winuser.h
nRepCnt
Menentukan jumlah pengulangan.
nFlags
Menentukan kode pemindaian, kode transisi kunci, status kunci sebelumnya, dan kode konteks, seperti yang ditunjukkan dalam daftar berikut:
Nilai | Makna |
---|---|
0-7 | Kode pemindaian (nilai dependen OEM). Byte rendah kata berurutan tinggi. |
8 | Kunci yang diperluas, seperti kunci fungsi atau kunci pada keypad numerik (1 jika merupakan kunci yang diperluas; jika tidak 0). |
9-10 | Tidak digunakan. |
11-12 | Digunakan secara internal oleh Windows. |
13 | Kode konteks (1 jika tombol ALT ditahan saat tombol ditekan, 0 jika tidak). |
14 | Status kunci sebelumnya (1 jika kunci tidak berfungsi sebelum pesan dikirim, 0 jika kunci sudah habis). |
15 | Status transisi (1 jika tombol sedang dirilis, 0 jika tombol sedang ditekan). |
Untuk OnSysKeyDown
panggilan, bit transisi kunci (bit 15) adalah 0. Bit kode konteks (bit 13) adalah 1 jika tombol ALT tidak berfungsi saat tombol ditekan; adalah 0 jika pesan dikirim ke jendela aktif karena tidak ada jendela yang memiliki fokus input.
Keterangan
Jika saat ini tidak ada jendela yang memiliki fokus input, fungsi anggota jendela OnSysKeyDown
aktif dipanggil. Objek CWnd
yang menerima pesan dapat membedakan antara kedua konteks ini dengan memeriksa kode konteks di nFlags
.
Ketika kode konteks adalah 0, pesan yang WM_SYSKEYDOWN
diterima oleh OnSysKeyDown
dapat diteruskan ke TranslateAccelerator
fungsi Windows, yang akan menanganinya seolah-olah itu adalah pesan kunci normal alih-alih pesan kunci sistem. Ini memungkinkan kunci akselerator digunakan dengan jendela aktif meskipun jendela aktif tidak memiliki fokus input.
Karena pengulangan otomatis, mungkin terjadi lebih dari satu OnSysKeyDown
panggilan sebelum WM_SYSKEYUP
pesan diterima. Status kunci sebelumnya (bit 14) dapat digunakan untuk menentukan apakah OnSysKeyDown
panggilan menunjukkan transisi turun pertama atau transisi berulang.
Untuk keyboard IBM Enhanced 101- dan 102-key, tombol yang ditingkatkan adalah tombol ALT kanan dan CTRL kanan pada bagian utama keyboard; tombol INS, DEL, HOME, END, PAGE UP, PAGE DOWN, dan panah di kluster di sebelah kiri keypad numerik; dan tombol garis miring (/) dan ENTER di keypad numerik. Beberapa keyboard lain mungkin mendukung bit extended-key di nFlags
.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnSysKeyUp
CWnd
Jika objek memiliki fokus, OnSysKeyUp
fungsi anggota dipanggil oleh kerangka kerja saat pengguna merilis tombol yang ditekan saat tombol ALT ditahan.
afx_msg void OnSysKeyUp(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameter
nChar
Menentukan kode kunci virtual tombol yang sedang ditekan. Untuk daftar kode kunci virtual standar, lihat Winuser.h
nRepCnt
Menentukan jumlah pengulangan.
nFlags
Menentukan kode pemindaian, kode transisi kunci, status kunci sebelumnya, dan kode konteks, seperti yang ditunjukkan dalam daftar berikut:
Nilai | Makna |
---|---|
0-7 | Kode pemindaian (nilai dependen OEM). Byte rendah kata berurutan tinggi. |
8 | Kunci yang diperluas, seperti kunci fungsi atau kunci pada keypad numerik (1 jika merupakan kunci yang diperluas; jika tidak 0). |
9-10 | Tidak digunakan. |
11-12 | Digunakan secara internal oleh Windows. |
13 | Kode konteks (1 jika tombol ALT ditahan saat tombol ditekan, 0 jika tidak). |
14 | Status kunci sebelumnya (1 jika kunci tidak berfungsi sebelum pesan dikirim, 0 jika kunci sudah habis). |
15 | Status transisi (1 jika tombol sedang dirilis, 0 jika tombol sedang ditekan). |
Untuk OnSysKeyUp
panggilan, bit transisi kunci (bit 15) adalah 1. Bit kode konteks (bit 13) adalah 1 jika tombol ALT tidak berfungsi saat tombol ditekan; adalah 0 jika pesan dikirim ke jendela aktif karena tidak ada jendela yang memiliki fokus input.
Keterangan
Jika saat ini tidak ada jendela yang memiliki fokus input, fungsi anggota jendela OnSysKeyUp
aktif dipanggil. Objek CWnd
yang menerima panggilan dapat membedakan antara kedua konteks ini dengan memeriksa kode konteks di nFlags
.
Ketika kode konteks adalah 0, pesan yang WM_SYSKEYUP
diterima oleh OnSysKeyUp
dapat diteruskan ke TranslateAccelerator
fungsi Windows, yang akan menanganinya seolah-olah itu adalah pesan kunci normal alih-alih pesan kunci sistem. Ini memungkinkan tombol akselerator (pintasan) digunakan dengan jendela aktif meskipun jendela aktif tidak memiliki fokus input.
Untuk keyboard IBM Enhanced 101- dan 102-key, tombol yang ditingkatkan adalah ALT kanan dan tombol CTRL kanan di bagian utama keyboard; tombol INS, DEL, HOME, END, PAGE UP, PAGE DOWN, dan panah di kluster di sebelah kiri keypad numerik; dan garis miring (/) dan tombol ENTER di keypad numerik. Beberapa keyboard lain mungkin mendukung bit extended-key di nFlags.
Untuk non-A.S. Keyboard 102 tombol yang ditingkatkan, tombol ALT kanan ditangani sebagai kombinasi tombol CTRL+ALT. Berikut ini menunjukkan urutan pesan dan panggilan yang dihasilkan saat pengguna menekan dan merilis kunci ini:
Sequence | Fungsi Diakses | Pesan Diteruskan |
---|---|---|
1. | WM_KEYDOWN |
VK_CONTROL |
2. | WM_KEYDOWN |
VK_MENU |
3. | WM_KEYUP |
VK_CONTROL |
4. | WM_SYSKEYUP |
VK_MENU |
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnTCard
Kerangka kerja memanggil fungsi anggota ini ketika pengguna mengklik tombol yang dapat diotorisasi.
afx_msg void OnTCard(
UINT idAction,
DWORD dwActionData);
Parameter
idAction
Menunjukkan tindakan yang telah diambil pengguna. Parameter ini bisa menjadi salah satu nilai ini:
IDABORT
Pengguna mengklik tombol Batalkan yang dapat ditulis.IDCANCEL
Pengguna mengklik tombol Batal yang dapat diotorisasi.IDCLOSE
Pengguna menutup kartu pelatihan.IDHELP
Pengguna mengklik tombol Bantuan Windows yang dapat diotorisasi.IDIGNORE
Pengguna mengklik tombol Abaikan yang dapat diotorisasi.IDOK
Pengguna mengklik tombol OK yang dapat diotorisasi.IDNO
Pengguna mengklik tombol Tidak yang dapat ditulis.IDRETRY
Pengguna mengklik tombol Coba Lagi yang dapat ditulis.HELP_TCARD_DATA
Pengguna mengklik tombol yang dapat diotorisasi. ParameterdwActionData
berisi bilangan bulat panjang yang ditentukan oleh penulis bantuan.HELP_TCARD_NEXT
Pengguna mengklik tombol Berikutnya yang dapat ditulis.HELP_TCARD_OTHER_CALLER
Aplikasi lain telah meminta kartu pelatihan.IDYES
Pengguna mengklik tombol Ya yang dapat diotorisasi.
dwActionData
Jika idAction
menentukan HELP_TCARD_DATA
, parameter ini adalah bilangan bulat panjang yang ditentukan oleh penulis bantuan. Jika tidak, parameter ini adalah nol.
Keterangan
Fungsi ini hanya dipanggil ketika aplikasi telah memulai kartu pelatihan dengan Bantuan Windows. Aplikasi memulai kartu pelatihan dengan menentukan HELP_TCARD
perintah dalam panggilan ke WinHelp
fungsi.
CWnd::OnTimeChange
Kerangka kerja memanggil fungsi anggota ini setelah waktu sistem diubah.
afx_msg void OnTimeChange();
Keterangan
Memiliki aplikasi apa pun yang mengubah waktu sistem mengirim pesan ini ke semua jendela tingkat atas. Untuk mengirim WM_TIMECHANGE
pesan ke semua jendela tingkat atas, aplikasi dapat menggunakan SendMessage
fungsi Windows dengan parameternya hwnd
diatur ke HWND_BROADCAST
.
CWnd::OnTimer
Kerangka kerja memanggil fungsi anggota ini setelah setiap interval yang ditentukan dalam fungsi anggota yang SetTimer
digunakan untuk menginstal timer.
afx_msg void OnTimer(UINT_PTR nIDEvent);
Parameter
nIDEvent
Menentukan pengidentifikasi timer.
Keterangan
Fungsi DispatchMessage
Windows mengirim WM_TIMER
pesan ketika tidak ada pesan lain dalam antrean pesan aplikasi.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
Contoh
Lihat contoh di CWnd::SetTimer
.
CWnd::OnToolHitTest
Kerangka kerja memanggil fungsi anggota ini untuk menentukan apakah titik berada di persegi panjang pembatas alat yang ditentukan.
virtual INT_PTR OnToolHitTest(
CPoint point,
TOOLINFO* pTI) const;
Parameter
point
Menentukan koordinat x dan y kursor. Koordinat ini selalu relatif terhadap sudut kiri atas jendela
pTI
Penunjuk ke TOOLINFO
struktur. Nilai struktur berikut diatur secara default:
hwnd
=m_hWnd
Menangani ke jendelauId
=(UINT)hWndChild
Menangani ke jendela anakuFlags
|=TTF_IDISHWND
Handel alatlpszText
=LPSTR_TEXTCALLBACK
Penunjuk ke string yang akan ditampilkan di jendela yang ditentukan
Tampilkan Nilai
Jika kontrol tipsalat ditemukan, ID kontrol jendela. Jika kontrol tipsalat tidak ditemukan, -1.
Keterangan
Jika titik berada di persegi panjang, titik tersebut mengambil informasi tentang alat tersebut.
Jika area tempat tipsalat dikaitkan bukan tombol, OnToolHitTest
atur bendera struktur ke TTF_NOTBUTTON
dan TTF_CENTERTIP
.
Ambil alih OnToolHitTest
untuk memberikan informasi yang berbeda dari yang disediakan default.
Lihat TOOLINFO
, di Windows SDK, untuk informasi selengkapnya tentang struktur.
CWnd::OnTouchInput
Proses input tunggal dari sentuhan Windows.
virtual BOOL OnTouchInput(
CPoint pt,
int nInputNumber,
int nInputsCount,
PTOUCHINPUT pInput);
Parameter
pt
Titik di mana layar telah disentuh (dalam koordinat klien).
nInputNumber
Jumlah input sentuhan.
nInputsCount
Jumlah total input sentuhan.
pInput
Penunjuk ke TOUCHINPUT
struktur.
Tampilkan Nilai
TRUE
jika aplikasi memproses input sentuh Windows; jika tidak FALSE
.
Keterangan
CWnd::OnTouchInputs
Memproses input dari sentuhan Windows.
virtual BOOL OnTouchInputs(
UINT nInputsCount,
PTOUCHINPUT pInputs);
Parameter
nInputsCount
Jumlah total input sentuh Windows.
pInputs
Array dari TOUCHINPUT
.
Tampilkan Nilai
TRUE
jika aplikasi memproses input sentuh Windows; jika tidak FALSE
.
Keterangan
CWnd::OnUniChar
Kerangka kerja memanggil fungsi anggota ini saat tombol ditekan. Artinya, jendela saat ini memiliki fokus keyboard dan pesan WM_KEYDOWN
diterjemahkan oleh TranslateMessage
fungsi.
afx_msg void OnUniChar(
UINT nChar,
UINT nRepCnt,
UINT nFlags);
Parameter
nChar
[di] Menentukan kode karakter tombol yang ditekan.
nRepCnt
[di] Menentukan jumlah pengulangan untuk pesan saat ini. Nilainya adalah berapa kali penekanan tombol direpetik otomatis sebagai akibat dari pengguna yang menahan kunci. Jika penekanan tombol ditahan cukup lama, beberapa pesan akan dikirim. Namun, jumlah pengulangan tidak kumulatif.
nFlags
[di] Bendera yang menentukan kode pemindaian, kunci yang diperluas, kode konteks, status kunci sebelumnya, dan status transisi, seperti yang ditunjukkan dalam tabel berikut:
Bit bendera | Deskripsi |
---|---|
0-7 | Menentukan kode pemindaian. Nilainya tergantung pada produsen peralatan asli (OEM). |
8 | Menentukan tombol yang diperluas, seperti tombol ALT dan CTRL kanan yang muncul pada keyboard 101 atau 102 tombol yang ditingkatkan. Bendera adalah 1 jika kunci adalah kunci yang diperluas; jika tidak, itu adalah 0. |
9-12 | Digunakan secara internal oleh Windows. |
13 | Menentukan kode konteks. Bendera adalah 1 jika tombol ALT ditahan saat tombol ditekan; jika tidak, nilainya adalah 0. |
14 Menentukan status kunci sebelumnya. Bendera adalah 1 jika kunci tidak berfungsi sebelum pesan dikirim, atau 0 jika kunci sudah habis. | |
15 | Menentukan status transisi. Bendera adalah 1 jika tombol sedang dilepaskan, atau 0 jika tombol sedang ditekan. |
Keterangan
Metode ini menerima WM_UNICHAR
pemberitahuan, yang dijelaskan di Windows SDK. Pesan WM_UNICHAR
dirancang untuk mengirim atau memposting karakter Unicode ke jendela ANSI. Ini setara dengan WM_CHAR
pesan, tetapi menggunakan pengodean Format-32 Transformasi Unicode (UTF-32), sedangkan WM_CHAR
pesan menggunakan UTF-16.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnUnInitMenuPopup
Kerangka kerja memanggil fungsi anggota ini ketika menu drop-down atau submenu telah dihancurkan.
afx_msg void OnUnInitMenuPopup(
CMenu* pPopupMenu,
UINT nFlags);
Parameter
pMenu
[di] Penunjuk ke CMenu
objek yang mewakili menu atau submenu.
nFlags
[di] Menu yang dihancurkan. Saat ini, itu hanya bisa menjadi menu jendela, MF_SYSMENU
.
Keterangan
Metode ini menerima WM_UNINITMENUPOPUP
pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnUpdateUIState
Dipanggil untuk mengubah status antarmuka pengguna (UI) untuk jendela yang ditentukan dan semua jendela anaknya.
afx_msg void OnUpdateUIState(
UINT nAction,
UINT nUIElement);
Parameter
nAction
Menentukan tindakan yang akan dilakukan. Dapat berupa salah satu dari nilai berikut:
UIS_CLEAR
Elemen status UI (ditentukan olehnUIElement
) harus disembunyikan.UIS_INITIALIZE
Elemen status UI (ditentukan olehnUIElement
) harus diubah berdasarkan peristiwa input terakhir. Untuk informasi selengkapnya, lihat bagian Keterangan dariWM_UPDATEISTATE
.UIS_SET
Elemen status UI (ditentukan olehnUIElement
) harus terlihat.
nUIElement
Menentukan elemen status UI mana yang terpengaruh atau gaya kontrol. Dapat berupa salah satu dari nilai berikut:
UISF_HIDEACCEL
Akselerator keyboard.UISF_HIDEFOCUS
Indikator fokus.UISF_ACTIVE
Windows XP: Kontrol harus digambar dalam gaya yang digunakan untuk kontrol aktif.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas WM_UPDATEUISTATE
pesan, seperti yang dijelaskan dalam Windows SDK.
CWnd::OnUserChanged
Kerangka kerja memanggil anggota ini untuk semua jendela setelah pengguna masuk atau nonaktif.
afx_msg void OnUserChanged();
Keterangan
Metode ini menerima WM_USERCHANGED
pesan pemberitahuan, yang dijelaskan di Windows SDK. Saat pengguna masuk atau nonaktif, sistem operasi memperbarui pengaturan khusus pengguna. Sistem mengirim pesan ini segera setelah memperbarui pengaturan.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnVKeyToItem
CWnd
Jika objek memiliki kotak daftar dengan LBS_WANTKEYBOARDINPUT
gaya, kotak daftar akan mengirim WM_VKEYTOITEM
pesan sebagai respons terhadap pesanWM_KEYDOWN
.
afx_msg int OnVKeyToItem(
UINT nKey,
CListBox* pListBox,
UINT nIndex);
Parameter
nKey
Menentukan kode kunci virtual kunci yang ditekan pengguna. Untuk daftar kode kunci virtual standar, lihat Winuser.h
pListBox
Menentukan penunjuk ke kotak daftar. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
nIndex
Menentukan posisi tanda sisipan saat ini.
Tampilkan Nilai
Menentukan tindakan yang dilakukan aplikasi sebagai respons terhadap pesan. Nilai pengembalian -2 menunjukkan bahwa aplikasi menangani semua aspek pemilihan item dan tidak memerlukan tindakan lebih lanjut oleh kotak daftar. Nilai pengembalian -1 menunjukkan bahwa kotak daftar harus melakukan tindakan default sebagai respons terhadap penekanan tombol. Nilai pengembalian 0 atau lebih besar menentukan indeks berbasis nol item dalam kotak daftar dan menunjukkan bahwa kotak daftar harus melakukan tindakan default untuk penekanan tombol pada item yang diberikan.
Keterangan
Fungsi anggota ini dipanggil oleh kerangka kerja hanya untuk kotak daftar yang memiliki LBS_HASSTRINGS
gaya.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnVScroll
Kerangka kerja memanggil fungsi anggota ini saat pengguna mengklik bilah gulir vertikal jendela.
afx_msg void OnVScroll(
UINT nSBCode,
UINT nPos,
CScrollBar* pScrollBar);
Parameter
nSBCode
Menentukan kode bilah gulir yang menunjukkan permintaan gulir pengguna. Parameter ini dapat jadi dari salah satu berikut:
SB_BOTTOM
Gulir ke bawah.SB_ENDSCROLL
Akhiri gulir.SB_LINEDOWN
Gulir satu baris ke bawah.SB_LINEUP
Gulir satu baris ke atas.SB_PAGEDOWN
Gulir satu halaman ke bawah.SB_PAGEUP
Gulir satu halaman ke atas.SB_THUMBPOSITION
Gulir ke posisi absolut. Posisi saat ini disediakan dalamnPos
.SB_THUMBTRACK
Seret kotak gulir ke posisi yang ditentukan. Posisi saat ini disediakan dalamnPos
.SB_TOP
Gulir ke atas.
nPos
Berisi posisi kotak gulir saat ini jika kode bilah gulir adalah SB_THUMBPOSITION
atau SB_THUMBTRACK
; jika tidak, tidak digunakan. Tergantung pada rentang gulir awal, nPos
mungkin negatif dan harus dilemparkan ke jika int
perlu.
pScrollBar
Jika pesan gulir berasal dari kontrol bilah gulir, berisi penunjuk ke kontrol. Jika pengguna mengklik bilah gulir jendela, parameter ini adalah NULL
. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
OnVScroll
biasanya digunakan oleh aplikasi yang memberikan beberapa umpan balik saat kotak gulir sedang diseret.
Jika OnVScroll
menggulir konten CWnd
objek, itu juga harus mengatur ulang posisi kotak gulir dengan SetScrollPos
fungsi anggota.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnVScrollClipboard
Fungsi anggota pemilik OnVScrollClipboard
Clipboard dipanggil oleh penampil Clipboard ketika data Clipboard memiliki CF_OWNERDISPLAY
format dan ada peristiwa di bilah gulir vertikal penampil Clipboard.
afx_msg void OnVScrollClipboard(
CWnd* pClipAppWnd,
UINT nSBCode,
UINT nPos);
Parameter
pClipAppWnd
Menentukan penunjuk ke jendela Penampil Clipboard. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
nSBCode
Menentukan salah satu nilai bilah gulir berikut ini:
SB_BOTTOM
Gulir ke bawah.SB_ENDSCROLL
Akhiri gulir.SB_LINEDOWN
Gulir satu baris ke bawah.SB_LINEUP
Gulir satu baris ke atas.SB_PAGEDOWN
Gulir satu halaman ke bawah.SB_PAGEUP
Gulir satu halaman ke atas.SB_THUMBPOSITION
Gulir ke posisi absolut. Posisi saat ini disediakan dalamnPos
.SB_TOP
Gulir ke atas.
nPos
Berisi posisi kotak gulir jika kode bilah gulir adalah SB_THUMBPOSITION
; jika nPos
tidak, tidak digunakan.
Keterangan
Pemilik harus menggulir gambar Clipboard, membatalkan bagian yang sesuai, dan memperbarui nilai bilah gulir.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnWindowMaximizedChanged
Kerangka kerja memanggil anggota ini ketika jendela saat ini dimaksimalkan, dan jendela terdiri dari Desktop Window Manager (DWM).
afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);
Parameter
bIsMaximized
[di] TRUE
jika jendela saat ini dimaksimalkan, dan FALSE
jika tidak.
Keterangan
Metode ini menerima WM_DWMWINDOWMAXIMIZEDCHANGE
pesan pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnWindowPosChanged
Kerangka kerja memanggil fungsi anggota ini ketika ukuran, posisi, atau urutan Z telah berubah sebagai akibat dari panggilan ke SetWindowPos
fungsi anggota atau fungsi manajemen jendela lainnya.
afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);
Parameter
lpwndpos
Menunjuk ke WINDOWPOS
struktur data yang berisi informasi tentang ukuran dan posisi baru jendela.
Keterangan
Implementasi default mengirimkan WM_SIZE
pesan dan WM_MOVE
ke jendela. Pesan-pesan ini tidak dikirim jika aplikasi menangani OnWindowPosChanged
panggilan tanpa memanggil kelas dasarnya. Lebih efisien untuk melakukan pemrosesan perubahan pemindahan atau ukuran selama panggilan ke OnWindowPosChanged
tanpa memanggil kelas dasarnya.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnWindowPosChanging
Kerangka kerja memanggil fungsi anggota ini ketika ukuran, posisi, atau urutan Z akan berubah sebagai akibat dari panggilan ke SetWindowPos
fungsi anggota atau fungsi manajemen jendela lainnya.
afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);
Parameter
lpwndpos
Menunjuk ke WINDOWPOS
struktur data yang berisi informasi tentang ukuran dan posisi baru jendela.
Keterangan
Aplikasi dapat mencegah perubahan pada jendela dengan mengatur atau menghapus bit yang sesuai dalam flags
anggota WINDOWPOS
struktur.
Untuk jendela dengan WS_OVERLAPPED
gaya atau WS_THICKFRAME
, implementasi default mengirim WM_GETMINMAXINFO
pesan ke jendela. Ini dilakukan untuk memvalidasi ukuran dan posisi baru jendela dan untuk menegakkan CS_BYTEALIGNCLIENT
gaya klien dan CS_BYTEALIGN
. Aplikasi dapat mengambil alih fungsionalitas ini dengan tidak memanggil kelas dasarnya.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnWinIniChange
Kerangka kerja memanggil fungsi anggota ini setelah perubahan dilakukan pada file inisialisasi Windows, WIN.INI
.
afx_msg void OnWinIniChange(LPCTSTR lpszSection);
Parameter
lpszSection
Menunjuk ke string yang menentukan nama bagian yang telah berubah. (String tidak menyertakan tanda kurung siku yang menyertakan nama bagian.)
Keterangan
Fungsi SystemParametersInfo
Windows memanggil OnWinIniChange
setelah aplikasi menggunakan fungsi untuk mengubah pengaturan dalam WIN.INI
file.
Untuk mengirim WM_WININICHANGE
pesan ke semua jendela tingkat atas, aplikasi dapat menggunakan SendMessage
fungsi Windows dengan parameternya hwnd
diatur ke HWND_BROADCAST
.
Jika aplikasi mengubah banyak bagian yang berbeda pada WIN.INI
saat yang sama, aplikasi harus mengirim satu WM_WININICHANGE
pesan dengan lpszSection
diatur ke NULL
. Jika tidak, aplikasi harus mengirim WM_WININICHANGE
setiap kali membuat perubahan ke WIN.INI
.
Jika aplikasi menerima OnWinIniChange
panggilan dengan lpszSection
diatur ke NULL
, aplikasi harus memeriksa semua bagian di WIN. INI yang memengaruhi aplikasi.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnWndMsg
Fungsi anggota ini dipanggil oleh WindowProc
, atau dipanggil selama refleksi pesan.
virtual BOOL OnWndMsg(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parameter
message
Menentukan pesan yang akan dikirim.
wParam
Menentukan informasi tambahan yang bergantung pada pesan.
lParam
Menentukan informasi tambahan yang bergantung pada pesan.
pResult
Nilai yang dikembalikan dari WindowProc
. Tergantung pada pesan; mungkin .NULL
Tampilkan Nilai
TRUE jika pesan ditangani; jika tidak FALSE.
Keterangan
OnWndMsg
menentukan jenis pesan dan memanggil fungsi kerangka kerja yang sesuai (misalnya, OnCommand
untuk WM_COMMAND
) atau menemukan pesan yang sesuai di peta pesan.
Untuk informasi selengkapnya tentang refleksi pesan, lihat Menangani Pesan Tercermin.
CWnd::OnXButtonDblClk
Kerangka kerja memanggil fungsi anggota ini saat pengguna mengklik XBUTTON1
dua kali atau XBUTTON2
saat kursor berada di area klien jendela.
afx_msg void OnXButtonDblClk(
UINT nFlags,
UINT nButton,
CPoint point);
Parameter
nFlags
[di] Kombinasi bitwise (OR) bendera yang menunjukkan tombol pengubah mana yang ditekan. Misalnya, MK_CONTROL
bendera menunjukkan bahwa tombol CTRL ditekan.
nButton
[di] Nilai XBUTTON1
jika tombol Microsoft Intellimouse X pertama diklik dua kali, atau XBUTTON2 jika tombol X kedua diklik dua kali.
point
[di] Objek CPoint
yang menentukan x
koordinat dan y
kursor relatif terhadap sudut kiri atas area klien.
Keterangan
Metode ini menerima WM_XBUTTONDBLCLK
pemberitahuan, yang dijelaskan di Windows SDK. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse.
Parameter nFlags
dapat berupa kombinasi kunci pengubah yang tercantum dalam tabel berikut. Untuk informasi selengkapnya, lihat Tentang Input Mouse.
Kunci Pengubah | Deskripsi |
---|---|
MK_CONTROL |
Tombol CTRL ditekan. |
MK_LBUTTON |
Tombol mouse kiri ditekan. |
MK_MBUTTON |
Tombol mouse tengah ditekan. |
MK_RBUTTON |
Tombol kanan mouse ditekan. |
MK_SHIFT |
Tombol SHIFT ditekan. |
MK_XBUTTON1 |
Tombol XBUTTON1 mouse Microsoft IntelliMouse ditekan. |
MK_XBUTTON2 |
Tombol XBUTTON2 mouse Microsoft IntelliMouse ditekan. |
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnXButtonDown
Kerangka kerja memanggil fungsi anggota ini ketika pengguna menekan XBUTTON1
atau XBUTTON2
saat kursor berada di area klien jendela.
afx_msg void OnXButtonDown(
UINT nFlags,
UINT nButton,
CPoint point);
Parameter
nFlags
[di] Kombinasi bitwise (OR) bendera yang menunjukkan tombol pengubah mana yang ditekan. Misalnya, MK_CONTROL
bendera menunjukkan bahwa tombol CTRL ditekan.
nButton
[di] Nilai XBUTTON1
jika tombol Microsoft Intellimouse X pertama diklik, atau XBUTTON2
jika tombol X kedua diklik.
point
[di] Objek CPoint
yang menentukan x
koordinat dan y
kursor relatif terhadap sudut kiri atas area klien.
Keterangan
Metode ini menerima WM_XBUTTONDOWN
pemberitahuan, yang dijelaskan di Windows SDK. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse.
Parameter nFlags
dapat berupa kombinasi kunci pengubah yang tercantum dalam tabel berikut. Untuk informasi selengkapnya, lihat Tentang Input Mouse.
Kunci Pengubah | Deskripsi |
---|---|
MK_CONTROL |
Tombol CTRL ditekan. |
MK_LBUTTON |
Tombol mouse kiri ditekan. |
MK_MBUTTON |
Tombol mouse tengah ditekan. |
MK_RBUTTON |
Tombol kanan mouse ditekan. |
MK_SHIFT |
Tombol SHIFT ditekan. |
MK_XBUTTON1 |
Tombol XBUTTON1 mouse Microsoft IntelliMouse ditekan. |
MK_XBUTTON2 |
Tombol XBUTTON2 mouse Microsoft IntelliMouse ditekan. |
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnXButtonUp
Kerangka kerja memanggil fungsi anggota ini saat pengguna merilis XBUTTON1
atau XBUTTON2
saat kursor berada di area klien jendela.
afx_msg void OnXButtonUp(
UINT nFlags,
UINT nButton,
CPoint point);
Parameter
nFlags
[di] Kombinasi bitwise (OR) bendera yang menunjukkan tombol pengubah mana yang ditekan. Misalnya, MK_CONTROL
bendera menunjukkan bahwa tombol CTRL ditekan.
nButton
[di] Nilai XBUTTON1
jika tombol Microsoft Intellimouse X pertama diklik dua kali, atau XBUTTON2
jika tombol X kedua diklik dua kali.
point
[di] Objek CPoint
yang menentukan x
koordinat dan y
kursor relatif terhadap sudut kiri atas area klien.
Keterangan
Metode ini menerima WM_XBUTTONUP
pemberitahuan, yang dijelaskan di Windows SDK. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse.
Parameter nFlags
dapat berupa kombinasi kunci pengubah yang tercantum dalam tabel berikut. Untuk informasi selengkapnya, lihat Tentang Input Mouse.
Kunci Pengubah | Deskripsi |
---|---|
MK_CONTROL |
Tombol CTRL ditekan. |
MK_LBUTTON |
Tombol mouse kiri ditekan. |
MK_MBUTTON |
Tombol mouse tengah ditekan. |
MK_RBUTTON |
Tombol kanan mouse ditekan. |
MK_SHIFT |
Tombol SHIFT ditekan. |
MK_XBUTTON1 |
Tombol XBUTTON1 mouse Microsoft IntelliMouse ditekan. |
MK_XBUTTON2 |
Tombol XBUTTON2 mouse Microsoft IntelliMouse ditekan. |
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OpenClipboard
Membuka Papan Klip.
BOOL OpenClipboard();
Tampilkan Nilai
Bukan nol jika Clipboard dibuka melalui CWnd
, atau 0 jika aplikasi atau jendela lain membuka Clipboard.
Keterangan
Aplikasi lain tidak akan dapat mengubah Clipboard sampai CloseClipboard
fungsi Windows dipanggil.
Objek saat ini CWnd
tidak akan menjadi pemilik Papan Klip hingga EmptyClipboard
fungsi Windows dipanggil.
Contoh
//handler for Edit | Copy menu
void CMdiView::OnEditCopy()
{
if (!OpenClipboard())
{
AfxMessageBox(_T("Cannot open the Clipboard"));
return;
}
// Remove the current Clipboard contents
if (!EmptyClipboard())
{
AfxMessageBox(_T("Cannot empty the Clipboard"));
return;
}
// Get the currently selected data, hData handle to
// global memory of data
CString str;
m_Edit.GetWindowText(str);
size_t cbStr = (str.GetLength() + 1) * sizeof(TCHAR);
HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, cbStr);
memcpy_s(GlobalLock(hData), cbStr, str.LockBuffer(), cbStr);
GlobalUnlock(hData);
str.UnlockBuffer();
// For the appropriate data formats...
UINT uiFormat = (sizeof(TCHAR) == sizeof(WCHAR)) ? CF_UNICODETEXT : CF_TEXT;
if (::SetClipboardData(uiFormat, hData) == NULL)
{
AfxMessageBox(_T("Unable to set Clipboard data"));
CloseClipboard();
return;
}
CloseClipboard();
}
CWnd::operator HWND
Gunakan operator ini untuk mendapatkan handel ke CWnd
objek.
operator HWND() const;
CWnd::operator !=
Membandingkan dua CWnd
objek untuk menentukan apakah mereka tidak memiliki yang sama m_hWnd
.
BOOL operator!=(const CWnd& wnd) const;
Parameter
wnd
Referensi ke CWnd
objek.
Tampilkan Nilai
Bukan nol jika sama; jika tidak, 0.
CWnd::operator ==
Membandingkan dua CWnd
objek untuk menentukan apakah mereka memiliki yang sama m_hWnd
.
BOOL operator==(const CWnd& wnd) const;
Parameter
wnd
Referensi ke CWnd
objek.
Tampilkan Nilai
Bukan nol jika sama; jika tidak, 0.
CWnd::PaintWindowlessControls
Menggambar kontrol tanpa jendela pada kontainer kontrol.
BOOL PaintWindowlessControls(CDC* pDC);
Parameter
pDC
Konteks perangkat untuk menggambar kontrol tanpa jendela.
Tampilkan Nilai
Mengembalikan TRUE
jika ada kontainer kontrol dan kontrol tanpa jendela berhasil digambar, jika tidak FALSE
.
CWnd::PostMessage
Tempatkan pesan dalam antrean pesan jendela lalu kembali tanpa menunggu jendela yang sesuai untuk memproses pesan.
BOOL PostMessage(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0);
Parameter
message
Menentukan pesan yang akan diposting.
wParam
Menentukan informasi pesan tambahan. Konten parameter ini tergantung pada pesan yang diposting.
lParam
Menentukan informasi pesan tambahan. Konten parameter ini tergantung pada pesan yang diposting.
Tampilkan Nilai
Bukan nol jika pesan diposting; jika tidak, 0.
Keterangan
Pesan dalam antrean pesan diambil oleh panggilan ke GetMessage
fungsi atau PeekMessage
Windows.
Fungsi Windows PostMessage
dapat digunakan untuk mengakses aplikasi lain.
Contoh
Lihat contoh untuk AfxGetMainWnd
.
CWnd::PostNcDestroy
Dipanggil oleh fungsi anggota default OnNcDestroy
setelah jendela dihancurkan.
virtual void PostNcDestroy();
Keterangan
Kelas turunan dapat menggunakan fungsi ini untuk pembersihan this
kustom seperti penghapusan pointer.
CWnd::PreCreateWindow
Dipanggil oleh kerangka kerja sebelum pembuatan jendela Windows yang dilampirkan ke objek ini CWnd
.
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
Parameter
cs
Sebuah CREATESTRUCT
struktur.
Tampilkan Nilai
Bukan nol jika pembuatan jendela harus dilanjutkan; 0 untuk menunjukkan kegagalan pembuatan.
Keterangan
Peringatan
CWnd::PreCreateWindow
sekarang menetapkan anggota hMenu ke cs
this
penunjuk jika menu adalah NULL
dan gaya berisi WS_CHILD
. Untuk fungsionalitas yang tepat, pastikan kontrol dialog Anda memiliki ID yang bukan NULL
.
Perubahan ini memperbaiki crash dalam skenario interop terkelola/asli. Pernyataan TRACE
dalam CWnd::Create
memperingatkan pengembang masalah.
Jangan pernah memanggil fungsi ini secara langsung.
Implementasi default fungsi ini memeriksa NULL
nama kelas jendela dan menggantikan default yang sesuai. Ambil alih fungsi anggota ini untuk mengubah CREATESTRUCT
struktur sebelum jendela dibuat.
Setiap kelas yang berasal dari CWnd
menambahkan fungsionalitasnya sendiri ke penimpaan PreCreateWindow
. Secara desain, turunan PreCreateWindow
ini tidak didokumentasikan. Untuk menentukan gaya yang sesuai untuk setiap kelas dan interdependensi di antara gaya, Anda dapat memeriksa kode sumber MFC untuk kelas dasar aplikasi Anda. Jika Anda memilih untuk mengambil alih PreCreateWindow,
, Anda dapat menentukan apakah gaya yang digunakan di kelas dasar aplikasi Anda menyediakan fungsionalitas yang Anda butuhkan dengan menggunakan informasi yang dikumpulkan dari kode sumber MFC.
Untuk informasi selengkapnya tentang mengubah gaya jendela, lihat Mengubah Gaya Jendela yang Dibuat oleh MFC.
Contoh
// alter the styles of the mdi frame window
BOOL CMdiChildFrame::PreCreateWindow(CREATESTRUCT &cs)
{
// Create a window without min/max buttons or sizable border
cs.style |= WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;
// Size the window to 1/3 screen size and center it
cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3;
cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
cs.y = ((cs.cy * 3) - cs.cy) / 2;
cs.x = ((cs.cx * 3) - cs.cx) / 2;
return CMDIChildWnd::PreCreateWindow(cs);
}
CWnd::PreSubclassWindow
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan subkelas lain yang diperlukan terjadi sebelum jendela disubkelas.
virtual void PreSubclassWindow();
Keterangan
Mengambil alih fungsi anggota ini memungkinkan subkelas kontrol dinamis. Ini adalah pengalih tingkat lanjut.
CWnd::PreTranslateMessage
Digunakan oleh kelas CWinApp
untuk menerjemahkan pesan jendela sebelum dikirim ke TranslateMessage
fungsi Windows dan DispatchMessage
.
virtual BOOL PreTranslateMessage(MSG* pMsg);
Parameter
pMsg
Menunjuk ke MSG
struktur yang berisi pesan yang akan diproses.
Tampilkan Nilai
Bukan nol jika pesan diterjemahkan dan tidak boleh dikirim; 0 jika pesan tidak diterjemahkan dan harus dikirim.
CWnd::Print
Panggil fungsi anggota ini untuk menggambar jendela saat ini dalam konteks perangkat yang ditentukan, yang paling umum dalam konteks perangkat printer.
void Print(
CDC* pDC,
DWORD dwFlags) const;
Parameter
pDC
Penunjuk ke konteks perangkat.
dwFlags
Menentukan opsi menggambar. Parameter ini dapat berupa satu atau beberapa bendera ini:
PRF_CHECKVISIBLE
Gambar jendela hanya jika terlihat.PRF_CHILDREN
Gambar semua jendela anak yang terlihat.PRF_CLIENT
Gambar area klien jendela.PRF_ERASEBKGND
Hapus latar belakang sebelum menggambar jendela.PRF_NONCLIENT
Gambar area nonkelas jendela.PRF_OWNED
Gambar semua jendela yang dimiliki.
Keterangan
CWnd::DefWindowProc
fungsi memproses pesan ini berdasarkan opsi gambar mana yang ditentukan:
Jika
PRF_CHECKVISIBLE
ditentukan dan jendela tidak terlihat, jangan lakukan apa-apa.Jika
PRF_NONCLIENT
ditentukan, gambar area nonclient dalam konteks perangkat tertentu.Jika
PRF_ERASEBKGND
ditentukan, kirim pesan ke jendelaWM_ERASEBKGND
.Jika
PRF_CLIENT
ditentukan, kirim pesan ke jendelaWM_PRINTCLIENT
.Jika
PRF_CHILDREN
diatur, kirim setiap jendela anak yang terlihat pesanWM_PRINT
.Jika
PRF_OWNED
diatur, kirim setiap jendela yang dimiliki yang terlihat pesanWM_PRINT
.
CWnd::PrintClient
Panggil fungsi anggota ini untuk menggambar jendela apa pun dalam konteks perangkat yang ditentukan (biasanya konteks perangkat printer).
void PrintClient(
CDC* pDC,
DWORD dwFlags) const;
Parameter
pDC
Penunjuk ke konteks perangkat.
dwFlags
Menentukan opsi menggambar. Parameter ini dapat berupa satu atau beberapa bendera ini:
PRF_CHECKVISIBLE
Gambar jendela hanya jika terlihat.PRF_CHILDREN
Gambar semua jendela anak yang terlihat.PRF_CLIENT
Gambar area klien jendela.PRF_ERASEBKGND
Hapus latar belakang sebelum menggambar jendela.PRF_NONCLIENT
Gambar area nonkelas jendela.PRF_OWNED
Gambar semua jendela yang dimiliki.
CWnd::PrintWindow
Menyalin jendela visual ke dalam konteks perangkat yang ditentukan, biasanya DC printer.
BOOL PrintWindow(
CDC* pDC,
UINT nFlags) const;
Parameter
pDC
Penunjuk ke konteks perangkat yang akan dicetak.
nFlags
Menentukan opsi menggambar. Untuk daftar nilai yang mungkin, lihat PrintWindow
.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi PrintWindow
, seperti yang dijelaskan dalam Windows SDK.
CWnd::RedrawWindow
Memperbarui persegi panjang atau wilayah yang ditentukan di area klien jendela tertentu.
BOOL RedrawWindow(
LPCRECT lpRectUpdate = NULL,
CRgn* prgnUpdate = NULL,
UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE);
Parameter
lpRectUpdate
Menunjuk ke struktur yang RECT
berisi koordinat persegi panjang pembaruan. Parameter ini diabaikan jika prgnUpdate
berisi handel wilayah yang valid.
prgnUpdate
Mengidentifikasi wilayah pembaruan. Jika keduanya prgnUpdate
dan lpRectUpdate
adalah NULL
, seluruh area klien ditambahkan ke wilayah pembaruan.
flags
Bendera berikut digunakan untuk membatalkan jendela:
RDW_ERASE
Menyebabkan jendela menerima pesanWM_ERASEBKGND
ketika jendela dicat ulang. BenderaRDW_INVALIDATE
juga harus ditentukan; jika tidak, RDW_ERASE tidak berpengaruh.RDW_FRAME
Menyebabkan bagian mana pun dari area nonkelola jendela yang bersinggungan dengan wilayah pembaruan untuk menerimaWM_NCPAINT
pesan.RDW_INVALIDATE
Bendera juga harus ditentukan; jika tidakRDW_FRAME
, bendera tidak berpengaruh.RDW_INTERNALPAINT
Menyebabkan pesanWM_PAINT
diposting ke jendela terlepas dari apakah jendela berisi wilayah yang tidak valid.RDW_INVALIDATE
Tidak validlpRectUpdate
atauprgnUpdate
(hanya satu yang mungkin tidakNULL
). Jika keduanya adalahNULL
, seluruh jendela tidak valid.
Bendera berikut digunakan untuk memvalidasi jendela:
RDW_NOERASE
Menyembunyikan pesan yang tertundaWM_ERASEBKGND
.RDW_NOFRAME
Menyembunyikan pesan yang tertundaWM_NCPAINT
. Bendera ini harus digunakan denganRDW_VALIDATE
dan biasanya digunakan denganRDW_NOCHILDREN
. Opsi ini harus digunakan dengan hati-hati, karena dapat mencegah bagian-bagian jendela melukis dengan benar.RDW_NOINTERNALPAINT
Menekan pesan internalWM_PAINT
yang tertunda. Bendera ini tidak memengaruhiWM_PAINT
pesan yang dihasilkan dari area yang tidak valid.RDW_VALIDATE
MemvalidasilpRectUpdate
atauprgnUpdate
(hanya satu yang mungkin tidakNULL
). Jika keduanya adalahNULL
, seluruh jendela divalidasi. Bendera ini tidak memengaruhi pesan internalWM_PAINT
.
Bendera berikut mengontrol saat pengecatan ulang terjadi. Lukisan tidak dilakukan oleh RedrawWindow
fungsi kecuali salah satu bit ini ditentukan.
RDW_ERASENOW
Menyebabkan jendela yang terpengaruh (seperti yang ditentukan olehRDW_ALLCHILDREN
bendera danRDW_NOCHILDREN
) untuk menerimaWM_NCPAINT
danWM_ERASEBKGND
pesan, jika perlu, sebelum fungsi kembali.WM_PAINT
pesan ditangguhkan.RDW_UPDATENOW
Menyebabkan jendela yang terpengaruh (seperti yang ditentukan olehRDW_ALLCHILDREN
bendera danRDW_NOCHILDREN
) untuk menerimaWM_NCPAINT
, ,WM_ERASEBKGND
danWM_PAINT
pesan, jika perlu, sebelum fungsi kembali.
Secara default, jendela yang dipengaruhi oleh RedrawWindow
fungsi bergantung pada apakah jendela yang ditentukan memiliki WS_CLIPCHILDREN
gaya. Jendela anak WS_CLIPCHILDREN
dari jendela tidak terpengaruh. Namun, jendela yang bukan WS_CLIPCHILDREN
jendela divalidasi secara rekursif atau tidak valid sampai WS_CLIPCHILDREN
jendela ditemui. Bendera berikut mengontrol jendela mana yang dipengaruhi oleh RedrawWindow
fungsi:
RDW_ALLCHILDREN
Termasuk jendela anak, jika ada, dalam operasi pengecatan ulang.RDW_NOCHILDREN
Mengecualikan jendela anak, jika ada, dari operasi pengecatan ulang.
Tampilkan Nilai
Bukan nol jika jendela berhasil digambar ulang; jika tidak, 0.
Keterangan
RedrawWindow
Ketika fungsi anggota digunakan untuk membatalkan bagian dari jendela desktop, jendela tersebut tidak menerima WM_PAINT
pesan. Untuk mengecat ulang desktop, aplikasi harus menggunakan CWnd::ValidateRgn
, , CWnd::InvalidateRgn
CWnd::UpdateWindow
, atauRedrawWindow
CWnd::ReflectChildNotify
Fungsi pesan ini dipanggil oleh kerangka kerja dari OnChildNotify
.
BOOL ReflectChildNotify(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parameter
message
Menentukan pesan yang akan direfleksikan.
wParam
Menentukan informasi tambahan yang bergantung pada pesan.
lParam
Menentukan informasi tambahan yang bergantung pada pesan.
pResult
Hasil yang dihasilkan oleh jendela anak yang akan dikembalikan oleh jendela induk. Bisa jadi NULL
.
Tampilkan Nilai
TRUE
jika pesan tercermin; jika tidak FALSE
.
Keterangan
Ini adalah fungsi pembantu message
yang mencerminkan sumbernya.
Pesan yang tercermin dikirim langsung ke CWnd::OnWndMsg
atau CCmdTarget::OnCmdMsg
.
Untuk informasi selengkapnya tentang refleksi pesan, lihat Menangani Pesan Tercermin.
CWnd::ReflectLastMsg
Fungsi anggota ini dipanggil oleh kerangka kerja untuk mencerminkan pesan terakhir ke jendela anak.
static BOOL PASCAL ReflectLastMsg(
HWND hWndChild,
LRESULT* pResult = NULL);
Parameter
hWndChild
Handel ke jendela anak.
pResult
Hasil yang dihasilkan oleh jendela anak yang akan dikembalikan oleh jendela induk. Bisa jadi NULL
.
Tampilkan Nilai
Bukan nol jika pesan ditangani; jika tidak, 0.
Keterangan
Fungsi anggota ini memanggil SendChildNotifyLastMsg
jika jendela yang diidentifikasi oleh hWndChild
adalah kontrol OLE atau jendela di peta permanen.
Untuk informasi selengkapnya tentang refleksi pesan, lihat Menangani Pesan Tercermin.
CWnd::ReleaseDC
Merilis konteks perangkat, membebaskannya untuk digunakan oleh aplikasi lain.
int ReleaseDC(CDC* pDC);
Parameter
pDC
Mengidentifikasi konteks perangkat yang akan dirilis.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Efek ReleaseDC
fungsi anggota tergantung pada jenis konteks perangkat.
Aplikasi harus memanggil ReleaseDC
fungsi anggota untuk setiap panggilan ke GetWindowDC
fungsi anggota dan untuk setiap panggilan ke GetDC
fungsi anggota.
CWnd::RepositionBars
Dipanggil untuk memposisikan ulang dan mengubah ukuran bilah kontrol di area klien jendela.
void RepositionBars(UINT nIDFirst,
UINT nIDLast,
UINT nIDLeftOver,
UINT nFlag = reposDefault,
LPRECT lpRectParam = NULL,
LPCRECT lpRectClient = NULL,
BOOL bStretch = TRUE) ;
Parameter
nIDFirst
ID yang pertama dalam rentang bilah kontrol untuk memposisikan ulang dan mengubah ukuran.
nIDLast
ID terakhir dalam rentang bilah kontrol untuk memposisikan ulang dan mengubah ukuran.
nIDLeftOver
Menentukan ID panel yang mengisi area klien lainnya.
nFlag
Bisa memiliki salah satu nilai berikut:
CWnd::reposDefault
Melakukan tata letak bilah kontrol.lpRectParam
tidak digunakan dan dapat berupaNULL
.CWnd::reposQuery
Tata letak bilah kontrol tidak dilakukan; sebaliknya diinisialisasi dengan ukuran area klien, seolah-olahlpRectParam
tata letak benar-benar telah dilakukan.CWnd::reposExtra
Menambahkan nilailpRectParam
ke areanIDLast
klien dan juga melakukan tata letak.
lpRectParam
Menunjuk ke RECT
struktur; penggunaan yang tergantung pada nilai nFlag
.
lpRectClient
Menunjuk ke struktur yang RECT
berisi area klien yang tersedia. Jika NULL
, area klien jendela akan digunakan.
bStretch
Menunjukkan apakah bilah harus direntangkan ke ukuran bingkai.
Keterangan
Parameter nIDFirst
dan nIDLast
menentukan rentang ID bilah kontrol yang akan diposisikan ulang di area klien. Parameter nIDLeftOver
menentukan ID jendela anak (biasanya tampilan) yang direposisi dan diubah ukurannya untuk mengisi sisa area klien yang tidak diisi oleh bilah kontrol.
CWnd::RunModalLoop
Panggil fungsi anggota ini untuk mengambil, menerjemahkan, atau mengirim pesan hingga ContinueModal
mengembalikan FALSE
.
int RunModalLoop(DWORD dwFlags = 0);
Parameter
dwFlags
Menentukan pesan Windows yang akan dikirim. Dapat berupa salah satu dari nilai berikut:
MLF_NOIDLEMSG
Jangan mengirimWM_ENTERIDLE
pesan ke induk.MLF_NOKICKIDLE
Jangan kirimWM_KICKIDLE
pesan ke jendela.MLF_SHOWONIDLE
Perlihatkan jendela ketika antrean pesan menganggur.
Tampilkan Nilai
Menentukan nilai parameter yang diteruskan nResult
ke EndModalLoop
fungsi anggota, yang kemudian digunakan untuk mengakhiri perulangan modal.
Keterangan
Secara default, ContinueModal
mengembalikan FALSE
setelah EndModalLoop
dipanggil. Mengembalikan nilai yang disediakan sebagai nResult
untuk EndModalLoop
.
CWnd::ScreenToClient
Mengonversi koordinat layar titik atau persegi panjang tertentu pada tampilan ke koordinat klien.
void ScreenToClient(LPPOINT lpPoint) const; void ScreenToClient(LPRECT lpRect) const;
Parameter
lpPoint
Arahkan ke CPoint
objek atau POINT
struktur yang berisi koordinat layar yang akan dikonversi.
lpRect
Arahkan ke CRect
objek atau RECT
struktur yang berisi koordinat layar yang akan dikonversi.
Keterangan
Fungsi ScreenToClient
anggota menggantikan koordinat layar yang diberikan dalam lpPoint
atau lpRect
dengan koordinat klien. Koordinat baru relatif terhadap sudut CWnd
kiri atas area klien.
Contoh
Lihat contoh untuk CListCtrl::GetItemRect
.
CWnd::ScrollWindow
Menggulir konten area klien objek saat ini CWnd
.
void ScrollWindow(
int xAmount,
int yAmount,
LPCRECT lpRect = NULL,
LPCRECT lpClipRect = NULL);
Parameter
xAmount
Menentukan jumlah, dalam unit perangkat, dari pengguliran horizontal. Parameter ini harus berupa nilai negatif untuk menggulir ke kiri.
yAmount
Menentukan jumlah, dalam unit perangkat, dari pengguliran vertikal. Parameter ini harus berupa nilai negatif untuk menggulir ke atas.
lpRect
Menunjuk ke CRect
objek atau RECT
struktur yang menentukan bagian area klien yang akan digulir. Jika lpRect
adalah NULL
, seluruh area klien digulir. Tanda sisipan diposisi ulang jika persegi panjang kursor berpotingan persegi panjang gulir.
lpClipRect
Menunjuk ke CRect
objek atau RECT
struktur yang menentukan persegi panjang kliping untuk menggulir. Hanya bit di dalam persegi panjang ini yang digulir. Bit di luar persegi panjang ini tidak terpengaruh bahkan jika mereka berada di lpRect
persegi panjang. Jika lpClipRect
adalah NULL
, tidak ada kliping yang dilakukan pada persegi panjang gulir.
Keterangan
Jika tanda sisipan sedang digulir CWnd
, ScrollWindow
secara otomatis menyembunyikan tanda sisipan untuk mencegahnya dihapus dan kemudian memulihkan tanda sisipan setelah gulir selesai. Posisi karir disesuaikan dengan sesuai.
Area yang diungkap oleh ScrollWindow
fungsi anggota tidak dicat ulang tetapi digabungkan ke dalam wilayah pembaruan objek saat ini CWnd
. Aplikasi pada akhirnya akan menerima pesan yang WM_PAINT
memberi tahunya bahwa wilayah perlu dicat ulang. Untuk mengecat ulang area yang belum ditemukan pada saat yang sama pengguliran dilakukan, panggil UpdateWindow
fungsi anggota segera setelah memanggil ScrollWindow
.
Jika lpRect
adalah NULL
, posisi jendela anak mana pun di jendela diimbangi oleh jumlah yang ditentukan oleh xAmount
dan yAmount
, dan area yang tidak valid (tidak dicat) di CWnd
juga diimbangi. ScrollWindow
lebih cepat ketika lpRect
adalah NULL
.
Jika lpRect
tidak NULL
, posisi jendela anak tidak diubah, dan area in tidak valid tidak diimbangi CWnd
. Untuk mencegah masalah pembaruan saat lpRect
tidak, panggil UpdateWindow
fungsi anggota untuk mengecat CWnd
ulang sebelum memanggil ScrollWindow
NULL
.
CWnd::ScrollWindowEx
Menggulir konten area klien jendela.
int ScrollWindowEx(
int dx,
int dy,
LPCRECT lpRectScroll,
LPCRECT lpRectClip,
CRgn* prgnUpdate,
LPRECT lpRectUpdate,
UINT flags);
Parameter
dx
Menentukan jumlah, dalam unit perangkat, dari pengguliran horizontal. Parameter ini harus memiliki nilai negatif untuk menggulir ke kiri.
dy
Menentukan jumlah, dalam unit perangkat, dari pengguliran vertikal. Parameter ini harus memiliki nilai negatif untuk menggulir ke atas.
lpRectScroll
Menunjuk ke RECT
struktur yang menentukan bagian area klien yang akan digulir. Jika parameter ini adalah NULL
, seluruh area klien digulir.
lpRectClip
Menunjuk ke RECT
struktur yang menentukan persegi panjang kliping untuk menggulir. Struktur ini lebih diutamakan daripada persegi panjang yang ditunjukkan oleh lpRectScroll
. Hanya bit di dalam persegi panjang ini yang digulir. Bit di luar persegi panjang ini tidak terpengaruh bahkan jika mereka berada di lpRectScroll
persegi panjang. Jika parameter ini adalah NULL
, tidak ada kliping yang dilakukan pada persegi panjang gulir.
prgnUpdate
Mengidentifikasi wilayah yang dimodifikasi untuk menahan wilayah yang tidak valid dengan menggulir. Parameter ini mungkin NULL
.
lpRectUpdate
Menunjuk ke RECT
struktur yang akan menerima batas persegi panjang yang tidak valid dengan menggulir. Parameter ini mungkin NULL
.
flags
Bisa memiliki salah satu nilai berikut:
SW_ERASE
Ketika ditentukan denganSW_INVALIDATE
, menghapus wilayah yang baru divalidasi dengan mengirimWM_ERASEBKGND
pesan ke jendela.SW_INVALIDATE
Membatalkan validasi wilayah yang diidentifikasi denganprgnUpdate
setelah menggulir.SW_SCROLLCHILDREN
Menggulir semua jendela anak yang beririsan persegi panjang yang ditujukkan olehlpRectScroll
jumlah piksel yang ditentukan dalamdx
dandy
. Windows mengirim pesanWM_MOVE
ke semua jendela anak yang bersinggunganlpRectScroll
, meskipun tidak berpindah. Tanda sisipan diposisikan ulang ketika jendela anak digulir dan persegi panjang kursor berpotingan persegi panjang gulir.
Tampilkan Nilai
Nilai yang dikembalikan adalah SIMPLEREGION
(wilayah tidak valid persegi panjang), COMPLEXREGION
(wilayah yang tidak valid nonrektangular; persegi panjang yang tumpang tindih), atau NULLREGION
(tidak ada wilayah yang tidak valid), jika fungsi berhasil; jika tidak, nilai yang dikembalikan adalah ERROR
.
Keterangan
Fungsi ini mirip ScrollWindow
dengan fungsi , dengan beberapa fitur tambahan.
Jika SW_INVALIDATE
dan SW_ERASE
tidak ditentukan, ScrollWindowEx
fungsi anggota tidak membatalkan area yang digulir menjauh. Jika salah satu bendera ini diatur, ScrollWindowEx
membatalkan area ini. Area tidak diperbarui sampai aplikasi memanggil UpdateWindow
fungsi anggota, memanggil RedrawWindow
fungsi anggota (menentukan RDW_UPDATENOW
atau RDW_ERASENOW
), atau mengambil WM_PAINT
pesan dari antrean aplikasi.
Jika jendela memiliki WS_CLIPCHILDREN
gaya, area yang dikembalikan ditentukan oleh prgnUpdate
dan lpRectUpdate
mewakili area total jendela tergulir yang harus diperbarui, termasuk area apa pun di jendela anak yang perlu diperbarui.
SW_SCROLLCHILDREN
Jika bendera ditentukan, Windows tidak akan memperbarui layar dengan benar jika bagian dari jendela anak digulir. Bagian dari jendela anak yang digulir yang terletak di luar persegi panjang sumber tidak akan dihapus dan tidak akan digambar ulang dengan benar di tujuan barunya. DeferWindowPos
Gunakan fungsi Windows untuk memindahkan jendela anak yang tidak sepenuhnya terletak di lpRectScroll
dalam persegi panjang. Kursor diposisikan ulang jika SW_SCROLLCHILDREN
bendera diatur dan persegi panjang caret berpotangan persegi panjang gulir.
Semua koordinat input dan output (untuk lpRectScroll
, , lpRectUpdate
lpRectClip
, dan prgnUpdate
) diasumsikan berada dalam koordinat klien, terlepas dari apakah jendela memiliki CS_OWNDC
gaya kelas atau CS_CLASSDC
. LPtoDP
Gunakan fungsi Windows dan DPtoLP
untuk mengonversi ke dan dari koordinat logis, jika perlu.
CWnd::SendChildNotifyLastMsg
Fungsi anggota ini dipanggil oleh kerangka kerja untuk menyediakan pesan pemberitahuan ke jendela anak, dari jendela induk, sehingga jendela anak dapat menangani tugas.
BOOL SendChildNotifyLastMsg(LRESULT* pResult = NULL);
Parameter
pResult
Hasil yang dihasilkan oleh jendela anak yang akan dikembalikan oleh jendela induk.
Tampilkan Nilai
Bukan nol jika jendela anak telah menangani pesan yang dikirim ke induknya; jika tidak, 0.
Keterangan
SendChildNotifyLastMsg
kirim pesan saat ini ke sumber jika merupakan pesan yang tercermin.
Untuk informasi selengkapnya tentang refleksi pesan, lihat Menangani Pesan Tercermin.
CWnd::SendDlgItemMessage
Mengirim pesan ke kontrol.
LRESULT SendDlgItemMessage(
int nID,
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0);
Parameter
nID
Menentukan pengidentifikasi kontrol dialog yang akan menerima pesan.
message
Menentukan pesan yang akan dikirim.
wParam
Menentukan informasi tambahan yang bergantung pada pesan.
lParam
Menentukan informasi tambahan yang bergantung pada pesan.
Tampilkan Nilai
Menentukan nilai yang dikembalikan oleh prosedur jendela kontrol, atau 0 jika kontrol tidak ditemukan.
Keterangan
Fungsi SendDlgItemMessage
anggota tidak kembali sampai pesan telah diproses.
Penggunaan SendDlgItemMessage
identik dengan mendapatkan CWnd
* ke kontrol yang diberikan dan memanggil SendMessage
fungsi anggota.
Contoh
void CMyDlg::SetSpinRange()
{
//set the min and max range of the up/down or spin control
SendDlgItemMessage(IDC_SPIN1, UDM_SETRANGE, 0, (LPARAM)MAKELONG(8, 1));
}
CWnd::SendMessage
Mengirim pesan yang ditentukan ke jendela ini.
LRESULT SendMessage(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0);
Parameter
message
Menentukan pesan yang akan dikirim.
wParam
Menentukan informasi tambahan yang bergantung pada pesan.
lParam
Menentukan informasi tambahan yang bergantung pada pesan.
Tampilkan Nilai
Hasil pemrosesan pesan; nilainya tergantung pada pesan yang dikirim.
Keterangan
Fungsi SendMessage
anggota memanggil prosedur jendela secara langsung dan tidak kembali sampai prosedur jendela tersebut telah memproses pesan. Ini berbeda dengan PostMessage
fungsi anggota, yang menempatkan pesan ke dalam antrean pesan jendela dan segera kembali.
Contoh
void CAboutDlg::OnPaint()
{
// This code, normally emitted by the Application Wizard for a dialog-
// based project for the dialog's WM_PAINT handler, runs only if the
// window is iconic. The window erases the icon's area, then
// paints the icon referenced by m_hIcon.
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM)dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
CWnd::SendMessageToDescendants
Panggil fungsi anggota ini untuk mengirim pesan Windows yang ditentukan ke semua jendela turunan.
void SendMessageToDescendants(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0,
BOOL bDeep = TRUE,
BOOL bOnlyPerm = FALSE);
Parameter
message
Menentukan pesan yang akan dikirim.
wParam
Menentukan informasi tambahan yang bergantung pada pesan.
lParam
Menentukan informasi tambahan yang bergantung pada pesan.
bDeep
Menentukan tingkat yang akan dicari. Jika TRUE
, cari semua anak secara rekursif; jika FALSE
, cari hanya anak segera.
bOnlyPerm
Menentukan apakah pesan akan diterima oleh jendela sementara. Jika TRUE
, jendela sementara dapat menerima pesan; jika FALSE
, hanya jendela permanen yang menerima pesan. Untuk informasi selengkapnya tentang jendela sementara, lihat Catatan Teknis 3.
Keterangan
Jika bDeep
adalah FALSE
, pesan dikirim hanya ke anak-anak dekat jendela; jika tidak, pesan dikirim ke semua jendela turunan.
Jika bDeep
dan bOnlyPerm
adalah TRUE
, pencarian berlanjut di bawah jendela sementara. Dalam hal ini, hanya jendela permanen yang ditemui selama pencarian yang menerima pesan. Jika bDeep
adalah FALSE
, pesan dikirim hanya ke anak-anak dekat jendela.
Contoh
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// change font of child controls of a dialog
LOGFONT lf = {0};
// redraw of child controls not needed in OnInitDialog
// since controls aren't drawn yet.
short int fRedraw = FALSE;
lf.lfHeight = 15; // Request a 15-pixel-high font
// with face name "Arial".
wcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));
m_font.CreateFontIndirect(&lf); // Create the font.
SendMessageToDescendants(WM_SETFONT,
(WPARAM)m_font.m_hObject, //handle to font
MAKELONG((WORD)fRedraw, 0),
FALSE); // send to all descendants(TRUE) or
// just children of *this (FALSE)
CWnd::SendNotifyMessage
Mengirim pesan yang ditentukan ke jendela.
BOOL SendNotifyMessage(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parameter
message
Menentukan pesan yang akan dikirim.
wParam
Menentukan informasi tambahan yang bergantung pada pesan.
lParam
Menentukan informasi tambahan yang bergantung pada pesan.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Jika jendela dibuat oleh utas panggilan, SendNotifyMessage
memanggil prosedur jendela untuk jendela dan tidak kembali hingga prosedur jendela memproses pesan. Jika jendela dibuat oleh utas yang berbeda, SendNotifyMessage
meneruskan pesan ke prosedur jendela dan segera kembali; jendela tidak menunggu prosedur jendela selesai memproses pesan.
CWnd::SetActiveWindow
Membuat CWnd
jendela aktif.
CWnd* SetActiveWindow();
Tampilkan Nilai
Jendela yang sebelumnya aktif.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Fungsi SetActiveWindow
anggota harus digunakan dengan hati-hati karena memungkinkan aplikasi untuk secara segan-segan mengambil alih jendela aktif dan fokus input. Biasanya, Windows mengurus semua aktivasi.
CWnd::SetCapture
Menyebabkan semua input mouse berikutnya dikirim ke objek saat ini CWnd
terlepas dari posisi kursor.
CWnd* SetCapture();
Tampilkan Nilai
Penunjuk ke objek jendela yang sebelumnya menerima semua input mouse. NULL
Itu jika tidak ada jendela seperti itu. Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Ketika CWnd
tidak lagi memerlukan semua input mouse, aplikasi harus memanggil ReleaseCapture
fungsi sehingga jendela lain dapat menerima input mouse.
Saat input mouse diambil, tidak ada WM_NCHITTEST
atau WM_SETCURSOR
pesan yang dikirim ke jendela aktif.
CWnd::SetCaretPos
Mengatur posisi tanda sisipan.
static void PASCAL SetCaretPos(POINT point);
Parameter
point
Menentukan koordinat x dan y baru (dalam koordinat klien) dari caret.
Keterangan
Fungsi SetCaretPos
anggota memindahkan tanda sisipan hanya jika dimiliki oleh jendela dalam tugas saat ini. SetCaretPos
memindahkan tanda sisipan apakah tanda sisipan disembunyikan atau tidak.
Tanda sisipan adalah sumber daya bersama. Jendela tidak boleh memindahkan tanda sisipan jika tidak memiliki tanda sisipan.
Contoh
// The following code snippet shows a caret when the left
// mouse button is pressed, and sets the caret's position to
// the cursor's position.
void CMyView::OnLButtonDown(UINT nFlags, CPoint point)
{
//create a solid caret, the width is 2, the length is 20.
CreateSolidCaret(2, 20);
SetCaretPos(point);
ShowCaret();
CView::OnLButtonDown(nFlags, point);
}
CWnd::SetClipboardViewer
Menambahkan jendela ini ke rantai jendela yang diberi tahu (dengan cara WM_DRAWCLIPBOARD
pesan) setiap kali konten Clipboard diubah.
HWND SetClipboardViewer();
Tampilkan Nilai
Handel ke jendela berikutnya di rantai Penampil Clipboard jika berhasil. Aplikasi harus menyimpan handel ini (dapat disimpan sebagai variabel anggota) dan menggunakannya saat merespons pesan rantai penampil Clipboard.
Keterangan
Jendela yang merupakan bagian dari rantai Penampil Clipboard harus merespons WM_DRAWCLIPBOARD
pesan , , WM_CHANGECBCHAIN
dan WM_DESTROY
dan meneruskan pesan ke jendela berikutnya dalam rantai.
Fungsi anggota ini mengirim pesan WM_DRAWCLIPBOARD
ke jendela. Karena handel ke jendela berikutnya dalam rantai Penampil Clipboard belum dikembalikan, aplikasi tidak boleh meneruskan WM_DRAWCLIPBOARD
pesan yang diterimanya selama panggilan ke SetClipboardViewer
.
Untuk menghapus dirinya sendiri dari rantai Penampil Clipboard, aplikasi harus memanggil ChangeClipboardChain
fungsi anggota.
CWnd::SetDlgCtrlID
Mengatur ID jendela atau ID kontrol untuk jendela ke nilai baru.
int SetDlgCtrlID(int nID);
Parameter
nID
Nilai baru yang akan diatur untuk pengidentifikasi kontrol.
Tampilkan Nilai
Pengidentifikasi jendela sebelumnya, jika berhasil; jika tidak, 0.
Keterangan
Jendela dapat berupa jendela turunan apa pun, tidak hanya kontrol dalam kotak dialog. Jendela tidak boleh berupa jendela tingkat atas.
CWnd::SetDlgItemInt
Mengatur teks kontrol tertentu dalam kotak dialog ke representasi string dari nilai bilangan bulat tertentu.
void SetDlgItemInt(
int nID,
UINT nValue,
BOOL bSigned = TRUE);
Parameter
nID
Menentukan ID bilangan bulat kontrol yang akan diubah.
nValue
Menentukan nilai bilangan bulat yang digunakan untuk menghasilkan teks item.
bSigned
Menentukan apakah nilai bilangan bulat ditandatangani atau tidak ditandatangani. Jika parameter ini adalah TRUE
, nValue
ditandatangani. Jika parameter ini dan TRUE
nValue
kurang dari 0, tanda minus ditempatkan sebelum digit pertama dalam string. Jika parameter ini adalah FALSE
, nValue
tidak ditandatangani.
Keterangan
SetDlgItemInt
mengirim pesan WM_SETTEXT
ke kontrol yang diberikan.
Contoh
Lihat contoh untuk CWnd::SetDlgItemText
.
CWnd::SetDlgItemText
Mengatur keterangan atau teks kontrol yang dimiliki oleh jendela atau kotak dialog.
void SetDlgItemText(
int nID,
LPCTSTR lpszString);
Parameter
nID
Mengidentifikasi kontrol yang teksnya akan diatur.
lpszString
Menunjuk ke CString
objek atau string yang dihentikan null yang berisi teks yang akan disalin ke kontrol.
Keterangan
SetDlgItemText
mengirim pesan WM_SETTEXT
ke kontrol yang diberikan.
Contoh
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// Initialize dialog controls
SetDlgItemText(IDC_EDITNAME, _T("Type in text"));
SetDlgItemInt(IDC_EDITNUM, 100);
CWnd::SetForegroundWindow
Menempatkan utas yang membuat jendela ke latar depan dan mengaktifkan jendela.
BOOL SetForegroundWindow();
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Input keyboard diarahkan ke jendela, dan berbagai istimal visual diubah untuk pengguna. Jendela latar depan adalah jendela tempat pengguna saat ini bekerja. Jendela latar depan hanya berlaku untuk jendela tingkat atas (jendela bingkai atau kotak dialog).
Contoh
Lihat contoh untuk CWnd::FindWindow
.
CWnd::SetFocus
Mengklaim fokus input.
CWnd* SetFocus();
Tampilkan Nilai
Penunjuk ke objek jendela yang sebelumnya memiliki fokus input. NULL
Itu jika tidak ada jendela seperti itu. Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan.
Keterangan
Fokus input mengarahkan semua input keyboard berikutnya ke jendela ini. Jendela apa pun yang sebelumnya memiliki fokus input akan kehilangannya.
Fungsi SetFocus
anggota mengirim WM_KILLFOCUS
pesan ke jendela yang kehilangan fokus input dan WM_SETFOCUS
pesan ke jendela yang menerima fokus input. Ini juga mengaktifkan jendela atau induknya.
Jika jendela saat ini aktif tetapi tidak memiliki fokus (yaitu, tidak ada jendela yang memiliki fokus), tombol apa pun yang ditekan akan menghasilkan pesan WM_SYSCHAR
, , WM_SYSKEYDOWN
atau WM_SYSKEYUP
.
CWnd::SetFont
WM_SETFONT
Mengirim pesan ke jendela untuk menggunakan font yang ditentukan.
void SetFont(
CFont* pFont,
BOOL bRedraw = TRUE);
Parameter
pFont
Penunjuk CFont
ke objek.
bRedraw
TRUE
agar jendela dapat digambar ulang segera setelah memproses WM_SETFONT
pesan; jika tidak FALSE
.
Keterangan
Metode ini tidak berpengaruh kecuali jendela memproses WM_SETFONT
pesan. Banyak kelas MFC yang berasal dari CWnd
proses pesan ini karena dilampirkan ke kelas jendela yang telah ditentukan sebelumnya yang menyertakan handler pesan untuk pesan.WM_SETFONT
Untuk menggunakan metode ini, kelas yang Anda dapatkan CWnd
harus menentukan handler metode untuk WM_SETFONT
pesan.
CWnd::SetIcon
Panggil fungsi anggota ini untuk mengatur handel ke ikon tertentu, seperti yang diidentifikasi oleh hIcon
.
HICON SetIcon(
HICON hIcon,
BOOL bBigIcon);
Parameter
hIcon
Handel ke ikon sebelumnya.
bBigIcon
Menentukan ikon 32 piksel dengan 32 piksel jika TRUE
; menentukan ikon 16 piksel dengan 16 piksel jika FALSE
.
Tampilkan Nilai
Handel ke ikon.
Keterangan
Saat kelas jendela terdaftar, kelas memilih ikon.
Contoh
Lihat contoh untuk CWnd::GetSystemMenu
.
CWnd::SetLayeredWindowAttributes
Mengatur kunci warna opasitas dan transparansi dari jendela berlapis.
BOOL SetLayeredWindowAttributes(
COLORREF crKey,
BYTE bAlpha,
DWORD dwFlags);
Parameter
crKey
Penunjuk ke COLORREF
nilai yang menentukan kunci warna transparansi yang akan digunakan saat menyusun jendela berlapis. Semua piksel yang dicat oleh jendela dalam warna ini akan transparan. Untuk menghasilkan COLORREF
, gunakan RGB
makro.
bAlpha
Nilai alfa digunakan untuk menjelaskan keburaman jendela berlapis. Untuk informasi selengkapnya, lihat SourceConstantAlpha
anggota BLENDFUNCTION
struktur. Ketika bAlpha
0, jendela benar-benar transparan. Ketika bAlpha
255, jendela buram.
dwFlags
Menentukan tindakan yang akan diambil. Parameter ini bisa berupa satu atau beberapa nilai berikut. Untuk daftar nilai yang mungkin, lihat SetLayeredWindowAttributes
.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi SetLayeredWindowAttributes
, seperti yang dijelaskan dalam Windows SDK.
CWnd::SetMenu
Menyetel menu saat ini ke menu yang ditentukan.
BOOL SetMenu(CMenu* pMenu);
Parameter
pMenu
Mengidentifikasi menu baru. Jika parameter ini adalah NULL
, menu saat ini akan dihapus.
Tampilkan Nilai
Bukan nol jika menu diubah; jika tidak, 0.
Keterangan
Menyebabkan jendela digambar ulang untuk mencerminkan perubahan menu.
SetMenu
tidak akan menghancurkan menu sebelumnya. Aplikasi harus memanggil CMenu::DestroyMenu
fungsi anggota untuk menyelesaikan tugas ini.
Contoh
Lihat contoh untuk CMenu::LoadMenu
.
CWnd::SetOwner
Mengatur pemilik jendela saat ini ke objek jendela yang ditentukan.
void SetOwner(CWnd* pOwnerWnd);
Parameter
pOwnerWnd
Mengidentifikasi pemilik baru objek jendela. Jika parameter ini adalah NULL
, objek jendela tidak memiliki pemilik.
Keterangan
Pemilik ini kemudian dapat menerima pesan perintah dari objek jendela saat ini. Secara default, induk jendela saat ini adalah pemiliknya.
Seringkali berguna untuk membuat koneksi antara objek jendela yang tidak terkait dengan hierarki jendela. Misalnya, CToolBar
mengirim pemberitahuan kepada pemiliknya alih-alih ke induknya. Ini memungkinkan toolbar menjadi anak dari satu jendela (seperti jendela aplikasi kontainer OLE) saat mengirim pemberitahuan ke jendela lain (seperti jendela bingkai di tempat). Selain itu, ketika jendela server dinonaktifkan atau diaktifkan selama pengeditan di tempat, jendela apa pun yang dimiliki oleh jendela bingkai disembunyikan atau ditampilkan. Kepemilikan ini secara eksplisit diatur dengan panggilan ke SetOwner
.
Konsep kepemilikan fungsi ini berbeda dari konsep GetWindow
kepemilikan .
CWnd::SetParent
Mengubah jendela induk jendela anak.
CWnd* SetParent(CWnd* pWndNewParent);
Parameter
pWndNewParent
Mengidentifikasi jendela induk baru.
Tampilkan Nilai
Penunjuk ke objek jendela induk sebelumnya jika berhasil. Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Jika jendela anak terlihat, Windows melakukan pengecatan ulang dan pengecatan ulang yang sesuai.
CWnd::SetProperty
Panggil fungsi anggota ini untuk mengatur properti kontrol OLE yang ditentukan oleh dwDispID
.
void AFX_CDECL SetProperty(
DISPID dwDispID,
VARTYPE vtProp, ...);
Parameter
dwDispID
Mengidentifikasi properti yang akan diatur.
vtProp
Menentukan tipe properti yang akan disetel. Untuk nilai yang mungkin, lihat bagian Keterangan untuk COleDispatchDriver::InvokeHelper
.
...
Parameter tunggal dari jenis yang ditentukan oleh vtProp
.
Keterangan
Catatan
Fungsi ini harus dipanggil hanya pada CWnd
objek yang mewakili kontrol OLE.
Untuk informasi selengkapnya tentang menggunakan fungsi anggota ini dengan Kontainer Kontrol OLE, lihat artikel Kontainer Kontrol ActiveX: Memprogram Kontrol ActiveX dalam Kontainer Kontrol ActiveX.
CWnd::SetRedraw
Aplikasi memanggil SetRedraw
untuk memungkinkan perubahan digambar ulang atau untuk mencegah perubahan digambar ulang.
void SetRedraw(BOOL bRedraw = TRUE);
Parameter
bRedraw
Menentukan status bendera redraw. Jika parameter ini adalah TRUE
, bendera redraw diatur; jika FALSE
, bendera dibersihkan.
Keterangan
Fungsi anggota ini mengatur atau menghapus bendera redraw. Saat bendera redraw dibersihkan, konten tidak akan diperbarui setelah setiap perubahan dan tidak akan dicat ulang hingga bendera redraw diatur. Misalnya, aplikasi yang perlu menambahkan beberapa item ke kotak daftar dapat menghapus bendera redraw, menambahkan item, lalu mengatur bendera redraw. Terakhir, aplikasi dapat memanggil Invalidate
fungsi anggota atau InvalidateRect
untuk menyebabkan kotak daftar dicat ulang.
Contoh
// Updating a control or window with large amounts of data may cause
// flicker. In such cases it may be better to turn off drawing
//m_list is a member of type CListCtrl
m_List.SetRedraw(FALSE); // turn drawing off regardless of list mode
//
// Update control
//
m_List.SetRedraw(TRUE); // turn drawing back on and update the window
// invalidate the entire control, force painting
m_List.Invalidate();
m_List.UpdateWindow();
CWnd::SetScrollInfo
Panggil fungsi anggota ini untuk mengatur informasi yang dipertahankan SCROLLINFO
struktur tentang bilah gulir.
BOOL SetScrollInfo(
int nBar,
LPSCROLLINFO lpScrollInfo,
BOOL bRedraw = TRUE);
Parameter
nBar
Menentukan apakah bilah gulir adalah kontrol atau bagian dari area nonkelola jendela. Jika merupakan bagian dari area nonkelola, nBar juga menunjukkan apakah bilah gulir diposisikan secara horizontal, vertikal, atau keduanya. Ini harus salah satu dari yang berikut ini:
SB_CTL
Berisi parameter untuk kontrol bilah gulir. Anggotam_hWnd
data harus menjadi handel kontrol bilah gulir.SB_HORZ
Menentukan bahwa jendela adalah bilah gulir horizontal.SB_VERT
Menentukan bahwa jendela adalah bilah gulir vertikal.
lpScrollInfo
Penunjuk ke SCROLLINFO
struktur. Lihat Windows SDK untuk informasi selengkapnya tentang struktur ini.
bRedraw
Menentukan apakah bilah gulir harus digambar ulang untuk mencerminkan posisi baru. Jika bRedraw
adalah TRUE
, bilah gulir digambar ulang. Jika ya FALSE
, itu tidak digambar ulang. Bilah gulir digambar ulang secara default.
Tampilkan Nilai
Jika berhasil, pengembaliannya adalah TRUE
. Jika tidak, ini adalah FALSE
.
Keterangan
Struktur SCROLLINFO
berisi informasi tentang bilah gulir, termasuk posisi gulir minimum dan maksimum, ukuran halaman, dan posisi kotak gulir (ibu jari). SCROLLINFO
Lihat topik struktur di Windows SDK untuk informasi selengkapnya tentang mengubah default struktur.
Penangan pesan MFC Windows yang menunjukkan posisi bilah gulir, CWnd::OnHScroll
dan CWnd::OnVScroll
, hanya menyediakan 16 bit data posisi. GetScrollInfo
dan SetScrollInfo
menyediakan 32 bit data posisi bilah gulir. Dengan demikian, aplikasi dapat memanggil GetScrollInfo
saat memproses baik CWnd::OnHScroll
atau CWnd::OnVScroll
untuk mendapatkan data posisi bilah gulir 32-bit.
Catatan
CWnd::GetScrollInfo
memungkinkan aplikasi untuk menggunakan posisi bilah gulir 32-bit.
CWnd::SetScrollPos
Mengatur posisi kotak gulir saat ini dan, jika diminta, menggambar ulang bilah gulir untuk mencerminkan posisi baru kotak gulir.
int SetScrollPos(
int nBar,
int nPos,
BOOL bRedraw = TRUE);
Parameter
nBar
Menentukan bilah gulir yang akan diatur. Parameter ini dapat berupa salah satu dari yang berikut ini:
SB_HORZ
Mengatur posisi kotak gulir di bilah gulir horizontal jendela.SB_VERT
Mengatur posisi kotak gulir di bilah gulir vertikal jendela.
nPos
Menentukan posisi baru kotak gulir. Ini harus berada dalam rentang gulir.
bRedraw
Menentukan apakah bilah gulir harus dicat ulang untuk mencerminkan posisi kotak gulir baru. Jika parameter ini adalah TRUE
, bilah gulir dicat ulang; jika FALSE
, bilah gulir tidak dicat ulang.
Tampilkan Nilai
Posisi kotak gulir sebelumnya.
Keterangan
Pengaturan bRedraw
ke FALSE
berguna setiap kali bilah gulir akan digambar ulang oleh panggilan berikutnya ke fungsi lain.
CWnd::SetScrollRange
Mengatur nilai posisi minimum dan maksimum untuk bilah gulir yang diberikan.
void SetScrollRange(
int nBar,
int nMinPos,
int nMaxPos,
BOOL bRedraw = TRUE);
Parameter
nBar
Menentukan bilah gulir yang akan diatur. Parameter ini dapat berupa salah satu nilai berikut:
SB_HORZ
Mengatur rentang bilah gulir horizontal jendela.SB_VERT
Mengatur rentang bilah gulir vertikal jendela.
nMinPos
Menentukan posisi pengguliran minimum.
nMaxPos
Menentukan posisi pengguliran maksimum.
bRedraw
Menentukan apakah bilah gulir harus digambar ulang untuk mencerminkan perubahan. Jika bRedraw
adalah TRUE
, bilah gulir digambar ulang; jika FALSE
, bilah gulir tidak digambar ulang.
Keterangan
Ini juga dapat digunakan untuk menyembunyikan atau menampilkan bilah gulir standar.
Aplikasi tidak boleh memanggil fungsi ini untuk menyembunyikan bilah gulir saat memproses pesan pemberitahuan bilah gulir.
Jika panggilan untuk SetScrollRange
segera mengikuti panggilan ke SetScrollPos
fungsi anggota, bRedraw
parameter dalam SetScrollPos
fungsi anggota harus 0 untuk mencegah bilah gulir digambar dua kali.
Rentang default untuk bilah gulir standar adalah 0 hingga 100. Rentang default untuk kontrol bilah gulir kosong (nilai nMinPos
dan nMaxPos
adalah 0). Perbedaan antara nilai yang ditentukan oleh nMinPos
dan nMaxPos
tidak boleh lebih besar dari INT_MAX
.
CWnd::SetTimer
Menginstal timer sistem.
UINT_PTR SetTimer(
UINT_PTR nIDEvent,
UINT nElapse,
void (CALLBACK* lpfnTimer)(HWND,
UINT,
UINT_PTR,
DWORD));
Parameter
nIDEvent
Menentukan pengidentifikasi timer nonzero. Jika pengidentifikasi timer unik, nilai yang sama ini dikembalikan oleh SetTimer
. Jika tidak, SetTimer
menentukan nilai unik baru dan mengembalikannya. Untuk timer jendela (yang memiliki NULL
fungsi panggilan balik), nilai harus unik hanya untuk timer windows lain yang terkait dengan jendela saat ini. Untuk timer panggilan balik, nilai harus unik untuk semua timer di semua proses. Oleh karena itu, ketika Anda membuat timer panggilan balik, kemungkinan besar nilai yang dikembalikan mungkin berbeda dari nilai yang Anda tentukan.
nElapse
Menentukan nilai waktu habis, atau interval, dalam milidetik.
lpfnTimer
Menentukan alamat fungsi panggilan balik yang disediakan TimerProc
aplikasi yang memproses WM_TIMER
pesan. Jika parameter ini adalah NULL
, WM_TIMER
pesan ditempatkan dalam antrean pesan aplikasi dan ditangani oleh CWnd
objek.
Tampilkan Nilai
Pengidentifikasi timer timer baru jika fungsi berhasil. Nilai ini mungkin atau mungkin tidak sama dengan nilai yang diteruskan melalui nIDEvent
parameter . Aplikasi harus selalu meneruskan nilai pengembalian ke KillTimer
fungsi anggota untuk mematikan timer. Bukan nol jika berhasil; jika tidak, 0.
Keterangan
Nilai interval ditentukan, dan setiap kali interval berlalu, sistem memposting WM_TIMER
pesan ke antrean pesan penginstalan aplikasi penginstalan atau meneruskan pesan ke fungsi panggilan balik yang ditentukan TimerProc
aplikasi.
Fungsi lpfnTimer
panggilan balik tidak perlu dinamai TimerProc
, tetapi harus dinyatakan sebagai statis dan didefinisikan sebagai berikut.
void CALLBACK TimerProc(
HWND hWnd, // handle of CWnd that called SetTimer
UINT nMsg, // WM_TIMER
UINT_PTR nIDEvent, // timer identification
DWORD dwTime // system time);
Contoh
Contoh ini menggunakan CWnd::SetTimer
, CWnd::OnTimer
, dan CWnd::KillTimer
untuk menangani WM_TIMER
pesan. Timer pertama disiapkan untuk mengirim WM_TIMER
pesan ke jendela bingkai utama setiap 2 detik di OnStartTimer
. Penanganan OnTimer
aktivitas menangani WM_TIMER
pesan untuk jendela bingkai utama. Metode ini menyebabkan speaker PC berbusa setiap 2 detik. Timer kedua mengirim pesan ke fungsi panggilan balik setiap 3,75 detik. OnStopTimer
akan menghentikan kedua timer dengan memanggil CWnd::KillTimer
untuk setiap ID timer.
void CMainFrame::OnStartTimer()
{
// This timer uses a WM_TIMER message, not a callback.
// Therefore, the timer is specific to this window.
// m_nWindowTimer is a UINT_PTR field.
m_nWindowTimer = SetTimer(1, 2000, NULL);
// For this demo, we specify an interval that won't overlap
// with the window timer.
m_nCallbackTimer = SetTimer(2, 3750, &CMainFrame::MyTimerProc);
// See whether we got the ID we requested in the first parameter.
#ifdef _DEBUG
CString str;
str.Format(_T("m_ncallbackTImer ID = %d"), m_nCallbackTimer);
TRACE(str);
#endif
}
void CALLBACK CMainFrame::MyTimerProc(
HWND hWnd, // handle of CWnd that called SetTimer
UINT nMsg, // WM_TIMER
UINT_PTR nIDEvent, // timer identification
DWORD dwTime // system time
)
{
MessageBeep(0x00000030L); // Windows question sound.
}
void CMainFrame::OnStopTimer()
{
KillTimer(m_nWindowTimer);
KillTimer(m_nCallbackTimer);
}
void CMainFrame::OnTimer(UINT nIDEvent)
{
MessageBeep(0xFFFFFFFF); // Beep
// Call base class handler.
CMDIFrameWnd::OnTimer(nIDEvent);
}
CWnd::SetWindowContextHelpId
Panggil fungsi anggota ini untuk mengaitkan pengidentifikasi konteks bantuan dengan jendela yang ditentukan.
BOOL SetWindowContextHelpId(DWORD dwContextHelpId);
Parameter
dwContextHelpId
Pengidentifikasi konteks bantuan.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Jika jendela anak tidak memiliki pengidentifikasi konteks bantuan, jendela tersebut mewarisi pengidentifikasi jendela induknya. Demikian juga, jika jendela yang dimiliki tidak memiliki pengidentifikasi konteks bantuan, jendela tersebut mewarisi pengidentifikasi jendela pemiliknya. Pewarisan pengidentifikasi konteks bantuan ini memungkinkan aplikasi untuk mengatur hanya satu pengidentifikasi untuk kotak dialog dan semua kontrolnya.
Contoh
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// Associate a help context id with the control.
// IDC_TESTHELP_CONTROL is the id of the control
// and HIDC_TESTHELP_CONTROL is its help context
// id associated with the control.
CWnd *pWnd = GetDlgItem(IDC_TESTHELP_CONTROL);
pWnd->SetWindowContextHelpId(HIDC_TESTHELP_CONTROL);
CWnd::SetWindowPlacement
Mengatur status peragaan dan posisi normal (dipulihkan), diminimalkan, dan dimaksimalkan untuk jendela.
BOOL SetWindowPlacement(const WINDOWPLACEMENT* lpwndpl);
Parameter
lpwndpl
Menunjuk ke WINDOWPLACEMENT
struktur yang menentukan status dan posisi peragaan baru.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
CWnd::SetWindowPos
Mengubah ukuran, posisi, dan urutan Z jendela anak, pop-up, dan tingkat atas.
BOOL SetWindowPos(
const CWnd* pWndInsertAfter,
int x,
int y,
int cx,
int cy,
UINT nFlags);
Parameter
pWndInsertAfter
CWnd
Mengidentifikasi objek yang akan mendahului (lebih tinggi dari) objek ini CWnd
dalam urutan Z. Parameter ini bisa menjadi penunjuk ke CWnd
atau penunjuk ke salah satu nilai berikut:
wndBottom
Tempatkan jendela di bagian bawah urutan Z. Jika iniCWnd
adalah jendela paling atas, jendela kehilangan status paling atas; sistem menempatkan jendela di bagian bawah semua jendela lainnya.wndTop
Tempatkan jendela di bagian atas urutan Z.wndTopMost
Tempatkan jendela di atas semua jendela non-teratas. Jendela mempertahankan posisi paling atas bahkan ketika dinonaktifkan.wndNoTopMost
Memposisikan ulang jendela ke bagian atas semua jendela non-teratas (yaitu, di belakang semua jendela paling atas). Bendera ini tidak berpengaruh jika jendela sudah menjadi jendela non-atas.
Untuk aturan tentang cara menggunakan parameter ini, lihat bagian "Keterangan" dari topik ini.
x
Menentukan posisi baru dari sisi kiri jendela.
y
Menentukan posisi baru bagian atas jendela.
cx
Menentukan lebar baru jendela.
cy
Menentukan tinggi jendela yang baru.
nFlags
Menentukan opsi ukuran dan pemosisian. Parameter ini bisa menjadi kombinasi dari bendera berikut:
SWP_DRAWFRAME
Menggambar bingkai (didefinisikan ketika jendela dibuat) di sekitar jendela.SWP_FRAMECHANGED
Mengirim pesanWM_NCCALCSIZE
ke jendela, meskipun ukuran jendela tidak diubah. Jika bendera ini tidak ditentukan,WM_NCCALCSIZE
dikirim hanya ketika ukuran jendela sedang diubah.SWP_HIDEWINDOW
Menyembunyikan jendela.SWP_NOACTIVATE
Tidak mengaktifkan jendela. Jika bendera ini tidak diatur, jendela diaktifkan dan dipindahkan ke bagian atas grup paling atas atau non-teratas (tergantung pada pengaturanpWndInsertAfter
parameter).SWP_NOCOPYBITS
Membuang seluruh isi area klien. Jika bendera ini tidak ditentukan, konten area klien yang valid disimpan dan disalin kembali ke area klien setelah jendela berukuran atau diposisikan ulang.SWP_NOMOVE
Mempertahankan posisi saat ini (mengabaikanx
parameter dany
).SWP_NOOWNERZORDER
Tidak mengubah posisi jendela pemilik dalam urutan Z.SWP_NOREDRAW
Tidak menggambar ulang perubahan. Jika bendera ini diatur, tidak ada pengecatan ulang dalam bentuk apa pun yang terjadi. Ini berlaku untuk area klien, area nonclient (termasuk judul dan bilah gulir), dan bagian mana pun dari jendela induk yang terungkap sebagai akibat dari jendela yang dipindahkan. Ketika bendera ini diatur, aplikasi harus secara eksplisit membatalkan atau menggambar ulang bagian mana pun dari jendela dan jendela induk yang harus digambar ulang.SWP_NOREPOSITION
Sama sepertiSWP_NOOWNERZORDER
.SWP_NOSENDCHANGING
Mencegah jendela menerimaWM_WINDOWPOSCHANGING
pesan.SWP_NOSIZE
Mempertahankan ukuran saat ini (mengabaikancx
parameter dancy
).SWP_NOZORDER
Mempertahankan pengurutan saat ini (mengabaikanpWndInsertAfter
).SWP_SHOWWINDOW
Menampilkan jendela.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Windows diurutkan pada layar sesuai dengan urutan Z mereka; jendela di bagian atas urutan Z muncul di atas semua jendela lain dalam urutan.
Semua koordinat untuk jendela anak adalah koordinat klien (relatif terhadap sudut kiri atas area klien jendela induk).
Jendela dapat dipindahkan ke bagian atas urutan Z baik dengan mengatur pWndInsertAfter
parameter ke &wndTopMost
dan memastikan bahwa SWP_NOZORDER
bendera tidak diatur atau dengan mengatur urutan Z jendela sehingga berada di atas jendela paling atas yang ada. Ketika jendela non-atas dibuat paling atas, jendela miliknya juga dibuat paling atas. Pemiliknya tidak diubah.
Jendela paling atas tidak lagi paling atas jika diposisikan ulang ke bagian bawah (&wndBottom
) dari urutan Z atau setelah jendela non-atas. Ketika jendela paling atas dibuat non-topmost, semua pemilik dan jendela yang dimilikinya juga dibuat sebagai jendela non-topmost.
Jika tidak SWP_NOACTIVATE
atau SWP_NOZORDER
ditentukan (yaitu, ketika aplikasi meminta agar jendela diaktifkan dan ditempatkan secara bersamaan dalam urutan Z yang ditentukan), nilai yang ditentukan dalam pWndInsertAfter
hanya digunakan dalam keadaan berikut:
Baik
&wndTopMost
maupun&wndNoTopMost
tidak ditentukan dalampWndInsertAfter
parameter.Jendela ini bukan jendela aktif.
Aplikasi tidak dapat mengaktifkan jendela yang tidak aktif tanpa juga membawanya ke bagian atas urutan Z. Aplikasi dapat mengubah urutan Z jendela yang diaktifkan tanpa batasan.
Jendela non-paling atas mungkin memiliki jendela paling atas, tetapi tidak sebaliknya. Jendela apa pun (misalnya, kotak dialog) yang dimiliki oleh jendela paling atas itu sendiri dibuat jendela paling atas untuk memastikan bahwa semua jendela yang dimiliki tetap berada di atas pemiliknya.
Dengan Windows versi 3.1 dan yang lebih baru, windows dapat dipindahkan ke bagian atas urutan Z dan dikunci di sana dengan mengatur gayanya WS_EX_TOPMOST
. Jendela paling atas seperti itu mempertahankan posisi paling atas bahkan ketika dinonaktifkan. Misalnya, memilih perintah WinHelp Always On Top membuat jendela Bantuan paling atas, dan kemudian tetap terlihat saat Anda kembali ke aplikasi Anda.
Untuk membuat jendela paling atas, panggil SetWindowPos
dengan parameter sama &wndTopMost
dengan pWndInsertAfter
, atau atur WS_EX_TOPMOST
gaya saat Anda membuat jendela.
Jika urutan Z berisi jendela apa pun dengan WS_EX_TOPMOST
gaya, jendela yang dipindahkan dengan &wndTopMost
nilai ditempatkan di bagian atas semua jendela non-paling atas, tetapi di bawah jendela paling atas. Ketika aplikasi mengaktifkan jendela tidak aktif tanpa WS_EX_TOPMOST
bit, jendela dipindahkan di atas semua jendela non-teratas tetapi di bawah jendela paling atas.
Jika SetWindowPos
dipanggil ketika pWndInsertAfter
parameter adalah &wndBottom
dan CWnd
merupakan jendela paling atas, jendela kehilangan status paling atas (WS_EX_TOPMOST
dibersihkan), dan sistem menempatkan jendela di bagian bawah urutan Z.
Contoh
void CMyApp::OnHideApplication()
{
//m_pMainWnd is the main application window, a member of CMyApp
ASSERT_VALID(m_pMainWnd);
// hide the application's windows before closing all the documents
m_pMainWnd->ShowWindow(SW_HIDE);
m_pMainWnd->ShowOwnedPopups(FALSE);
// put the window at the bottom of z-order, so it isn't activated
m_pMainWnd->SetWindowPos(&CWnd::wndBottom, 0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
}
CWnd::SetWindowRgn
Panggil fungsi anggota ini untuk mengatur wilayah jendela.
int SetWindowRgn(
HRGN hRgn,
BOOL bRedraw);
Parameter
hRgn
Handel ke wilayah.
bRedraw
Jika TRUE
, sistem operasi menguras ulang jendela setelah mengatur wilayah; jika tidak, itu tidak. Biasanya, atur bRedraw
ke TRUE
jika jendela terlihat. Jika diatur ke TRUE
, sistem akan mengirim WM_WINDOWPOSCHANGING
pesan dan WM_WINDOWPOSCHANGED
ke jendela.
Tampilkan Nilai
Jika fungsi berhasil, nilai yang dikembalikan bukan nol. Jika fungsi gagal, nilai yang dikembalikan adalah nol.
Keterangan
Koordinat wilayah jendela relatif terhadap sudut kiri atas jendela, bukan area klien jendela.
Setelah panggilan berhasil ke SetWindowRgn
, sistem operasi memiliki wilayah yang ditentukan oleh handel hRgn
wilayah . Sistem operasi tidak membuat salinan wilayah, jadi jangan melakukan panggilan fungsi lebih lanjut dengan handel wilayah ini, dan jangan tutup handel wilayah ini.
CWnd::SetWindowText
Mengatur judul jendela ke teks yang ditentukan.
void SetWindowText(LPCTSTR lpszString);
Parameter
lpszString
Menunjuk ke CString
objek atau string yang dihentikan null untuk digunakan sebagai judul atau teks kontrol baru.
Keterangan
Jika jendela adalah kontrol, teks dalam kontrol diatur.
Fungsi ini menyebabkan pesan WM_SETTEXT
dikirim ke jendela ini.
Contoh
// set the text in IDC_EDITNAME
CWnd *pWnd = GetDlgItem(IDC_EDITNAME);
pWnd->SetWindowText(_T("Gerald Samper"));
// Get the text back. CString is convenient, because MFC
// will automatically allocate enough memory to hold the
// text--no matter how large it is.
CString str;
pWnd->GetWindowText(str);
ASSERT(str == _T("Gerald Samper"));
// The LPTSTR override works, too, but it might be too short.
// If we supply a buffer that's too small, we'll only get those
// characters that fit.
TCHAR sz[10];
int nRet = pWnd->GetWindowText(sz, 10);
// Nine characters, plus terminating null
ASSERT(_tcscmp(sz, _T("Gerald Sa")) == 0);
ASSERT(nRet == 9);
// You can query the length of the text without the length of
// the string using CWnd::GetWindowTextLength()
nRet = pWnd->GetWindowTextLength();
ASSERT(nRet == 13);
CWnd::ShowCaret
Menampilkan tanda sisipan pada layar pada posisi caret saat ini.
void ShowCaret();
Keterangan
Setelah ditampilkan, tanda sisipan mulai berkedip secara otomatis.
Fungsi ShowCaret
anggota menunjukkan tanda sisipan hanya jika memiliki bentuk saat ini dan belum disembunyikan dua kali atau lebih berturut-turut. Jika tanda sisipan tidak dimiliki oleh jendela ini, tanda sisipan tidak ditampilkan.
Menyembunyikan tanda sisipan adalah kumulatif. HideCaret
Jika fungsi anggota telah dipanggil lima kali berturut-turut, ShowCaret
harus dipanggil lima kali untuk menunjukkan tanda sisipan.
Tanda sisipan adalah sumber daya bersama. Jendela harus menampilkan tanda sisipan hanya ketika memiliki fokus input atau aktif.
Contoh
Lihat contoh untuk CWnd::CreateCaret
.
CWnd::ShowOwnedPopups
Memperlihatkan atau menyembunyikan semua jendela pop-up yang dimiliki oleh jendela ini.
void ShowOwnedPopups(BOOL bShow = TRUE);
Parameter
bShow
Menentukan apakah jendela pop-up akan ditampilkan atau disembunyikan. Jika parameter ini adalah TRUE
, semua jendela pop-up tersembunyi ditampilkan. Jika parameter ini adalah FALSE
, semua jendela pop-up yang terlihat disembunyikan.
Contoh
Lihat contoh untuk CWnd::SetWindowPos
.
CWnd::ShowScrollBar
Memperlihatkan atau menyembunyikan bilah gulir.
void ShowScrollBar(
UINT nBar,
BOOL bShow = TRUE);
Parameter
nBar
Menentukan apakah bilah gulir adalah kontrol atau bagian dari area nonkelola jendela. Jika itu adalah bagian dari area nonkelola, nBar
juga menunjukkan apakah bilah gulir diposisikan secara horizontal, vertikal, atau keduanya. Ini harus salah satu dari yang berikut ini:
SB_BOTH
Menentukan bilah gulir horizontal dan vertikal jendela.SB_HORZ
Menentukan bahwa jendela adalah bilah gulir horizontal.SB_VERT
Menentukan bahwa jendela adalah bilah gulir vertikal.
bShow
Menentukan apakah Windows memperlihatkan atau menyembunyikan bilah gulir. Jika parameter ini adalah TRUE
, bilah gulir ditampilkan; jika tidak, bilah gulir disembunyikan.
Keterangan
Aplikasi tidak boleh memanggil ShowScrollBar
untuk menyembunyikan bilah gulir saat memproses pesan pemberitahuan bilah gulir.
CWnd::ShowWindow
Mengatur status visibilitas jendela.
BOOL ShowWindow(int nCmdShow);
Parameter
nCmdShow
Menentukan bagaimana CWnd
yang akan ditampilkan. Ini harus menjadi salah satu nilai berikut:
SW_HIDE
Menyembunyikan jendela ini dan meneruskan aktivasi ke jendela lain.SW_MINIMIZE
Meminimalkan jendela dan mengaktifkan jendela tingkat atas dalam daftar sistem.SW_RESTORE
Mengaktifkan dan menampilkan jendela. Jika jendela diminimalkan atau dimaksimalkan, Windows memulihkannya ke ukuran dan posisi aslinya.SW_SHOW
Mengaktifkan jendela dan menampilkannya dalam ukuran dan posisinya saat ini.SW_SHOWMAXIMIZED
Mengaktifkan jendela dan menampilkannya sebagai jendela yang dimaksimalkan.SW_SHOWMINIMIZED
Mengaktifkan jendela dan menampilkannya sebagai ikon.SW_SHOWMINNOACTIVE
Menampilkan jendela sebagai ikon. Jendela yang saat ini aktif tetap aktif.SW_SHOWNA
Menampilkan jendela dalam statusnya saat ini. Jendela yang saat ini aktif tetap aktif.SW_SHOWNOACTIVATE
Menampilkan jendela dalam ukuran dan posisi terbarunya. Jendela yang saat ini aktif tetap aktif.SW_SHOWNORMAL
Mengaktifkan dan menampilkan jendela. Jika jendela diminimalkan atau dimaksimalkan, Windows memulihkannya ke ukuran dan posisi aslinya.
Tampilkan Nilai
Bukan nol jika jendela sebelumnya terlihat; 0 jika CWnd
sebelumnya disembunyikan.
Keterangan
ShowWindow
harus dipanggil hanya sekali per aplikasi untuk jendela utama dengan CWinApp::m_nCmdShow
. Panggilan berikutnya untuk ShowWindow
harus menggunakan salah satu nilai yang tercantum di atas alih-alih yang ditentukan oleh CWinApp::m_nCmdShow
.
Contoh
Lihat contoh untuk CWnd::CalcWindowRect
.
CWnd::SubclassDlgItem
Panggil fungsi anggota ini ke "subkelas dinamis" kontrol yang dibuat dari templat dialog dan lampirkan ke objek ini CWnd
.
BOOL SubclassDlgItem(
UINT nID,
CWnd* pParent);
Parameter
nID
ID kontrol.
pParent
Induk kontrol (biasanya kotak dialog).
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Ketika kontrol disubkelas secara dinamis, pesan windows akan merutekan melalui CWnd
peta pesan dan memanggil penangan pesan di CWnd
kelas terlebih dahulu. Pesan yang diteruskan ke kelas dasar akan diteruskan ke penangan pesan default dalam kontrol.
Fungsi anggota ini melampirkan kontrol Windows ke CWnd
objek dan menggantikan fungsi dan AfxWndProc
kontrolWndProc
. Fungsi menyimpan yang lama WndProc
di lokasi yang dikembalikan oleh GetSuperWndProcAddr
fungsi anggota.
Contoh
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// IDC_BUTTON1 is the ID for a button on the
// dialog template used for CMyDlg.
m_MyButton.SubclassDlgItem(IDC_BUTTON1, this);
CWnd::SubclassWindow
Panggil fungsi anggota ini untuk "subkelas dinamis" jendela dan lampirkan ke objek ini CWnd
.
BOOL SubclassWindow(HWND hWnd);
Parameter
hWnd
Handel ke jendela.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Ketika jendela disubkelas secara dinamis, pesan windows akan merutekan melalui CWnd
peta pesan dan memanggil penangan pesan di CWnd
kelas terlebih dahulu. Pesan yang diteruskan ke kelas dasar akan diteruskan ke penangan pesan default di jendela.
Fungsi anggota ini melampirkan kontrol Windows ke CWnd
objek dan menggantikan fungsi dan AfxWndProc
jendelaWndProc
. Fungsi menyimpan penunjuk ke yang lama WndProc
di CWnd
objek.
Catatan
Jendela belum boleh dilampirkan ke objek MFC ketika fungsi ini dipanggil.
Contoh
// The following code shows how to subclass the edit control and list box
// controls inside a combo box. It uses WM_CTLCOLOR for subclassing.
// CSuperComboBox represents the combo box
HBRUSH CSuperComboBox::OnCtlColor(CDC *pDC, CWnd *pWnd, UINT nCtlColor)
{
if (nCtlColor == CTLCOLOR_EDIT)
{
//Edit control
if (m_edit.GetSafeHwnd() == NULL)
m_edit.SubclassWindow(pWnd->GetSafeHwnd());
}
else if (nCtlColor == CTLCOLOR_LISTBOX)
{
//ListBox control
if (m_listbox.GetSafeHwnd() == NULL)
m_listbox.SubclassWindow(pWnd->GetSafeHwnd());
}
HBRUSH hbr = CComboBox::OnCtlColor(pDC, pWnd, nCtlColor);
return hbr;
}
void CSuperComboBox::OnDestroy()
{
//unsubclass edit and list box before destruction
if (m_edit.GetSafeHwnd() != NULL)
m_edit.UnsubclassWindow();
if (m_listbox.GetSafeHwnd() != NULL)
m_listbox.UnsubclassWindow();
CComboBox::OnDestroy();
}
CWnd::UnlockWindowUpdate
Panggil fungsi anggota ini untuk membuka kunci jendela yang dikunci dengan CWnd::LockWindowUpdate
.
void UnlockWindowUpdate();
Keterangan
Hanya satu jendela pada satu waktu yang dapat dikunci menggunakan LockWindowUpdate
. Lihat CWnd::LockWindowUpdate
atau fungsi LockWindowUpdate
Win32 untuk informasi selengkapnya tentang mengunci jendela.
CWnd::UnsubclassWindow
Panggil fungsi anggota ini untuk mengatur WndProc
kembali ke nilai aslinya dan lepaskan jendela yang diidentifikasi oleh HWND dari CWnd
objek.
HWND UnsubclassWindow();
Tampilkan Nilai
Handel ke jendela tanpa kacamata.
Contoh
Lihat contoh untuk CWnd::SubclassWindow
.
CWnd::UpdateData
Panggil fungsi anggota ini untuk menginisialisasi data dalam kotak dialog, atau untuk mengambil dan memvalidasi data dialog.
BOOL UpdateData(BOOL bSaveAndValidate = TRUE);
Parameter
bSaveAndValidate
Bendera yang menunjukkan apakah kotak dialog sedang diinisialisasi (FALSE
) atau data sedang diambil (TRUE
).
Tampilkan Nilai
Bukan nol jika operasi berhasil; jika tidak, 0. Jika bSaveAndValidate
adalah TRUE
, maka nilai pengembalian nonzero berarti bahwa data berhasil divalidasi.
Keterangan
Kerangka kerja secara otomatis memanggil UpdateData
dengan diatur ke FALSE
saat kotak dialog modal dibuat dalam implementasi CDialog::OnInitDialog
bSaveAndValidate
default . Panggilan terjadi sebelum kotak dialog terlihat. Implementasi CDialog::OnOK
default memanggil fungsi anggota ini dengan bSaveAndValidate
diatur ke untuk TRUE
mengambil data, dan jika berhasil, akan menutup kotak dialog. (Jika tombol Batal diklik dalam kotak dialog, kotak dialog ditutup tanpa data diambil.)
CWnd::UpdateDialogControls
Panggil fungsi anggota ini untuk memperbarui status tombol dialog dan kontrol lain dalam kotak dialog atau jendela yang menggunakan ON_UPDATE_COMMAND_UI
mekanisme panggilan balik.
void UpdateDialogControls(
CCmdTarget* pTarget,
BOOL bDisableIfNoHndler);
Parameter
pTarget
Menunjuk ke jendela bingkai utama aplikasi, dan digunakan untuk merutekan pesan pembaruan.
bDisableIfNoHndler
Bendera yang menunjukkan apakah kontrol yang tidak memiliki handler pembaruan harus ditampilkan secara otomatis sebagai dinonaktifkan.
Keterangan
Jika kontrol anak tidak memiliki handler dan bDisableIfNoHndler
, TRUE
maka kontrol anak akan dinonaktifkan.
Kerangka kerja memanggil fungsi anggota ini untuk kontrol di bilah dialog atau toolbar sebagai bagian dari pemrosesan menganggur aplikasi.
CWnd::UpdateLayeredWindow
Memperbarui posisi, ukuran, bentuk, konten, dan transparansi jendela berlapis.
BOOL UpdateLayeredWindow(
CDC* pDCDst,
POINT* pptDst,
SIZE* psize,
CDC* pDCSrc,
POINT* pptSrc,
COLORREF crKey,
BLENDFUNCTION* pblend,
DWORD dwFlags);
Parameter
pDCDst
Penunjuk ke konteks perangkat untuk layar. Ini digunakan untuk pencocokan warna palet saat konten jendela diperbarui. Jika pDCDst
adalah NULL
, palet default akan digunakan.
Jika pDCSrc
adalah NULL
, pDCDst
harus NULL
.
pptDst
Penunjuk ke struktur yang POINT
menentukan posisi layar baru jendela berlapis. Jika posisi saat ini tidak berubah, pptDst
bisa berupa NULL
.
psize
Penunjuk SIZE
ke struktur yang menentukan ukuran baru jendela berlapis. Jika ukuran jendela tidak berubah, psize
bisa berupa NULL
.
Jika pDCSrc
adalah NULL
, psize
harus NULL
.
pDCSrc
Penunjuk ke DC untuk permukaan yang menentukan jendela berlapis. Jika bentuk dan konteks visual jendela tidak berubah, pDCSrc
bisa berupa NULL
.
pptSrc
Penunjuk POINT
ke struktur yang menentukan lokasi lapisan dalam konteks perangkat.
Jika pDCSrc
adalah NULL
, pptSrc
harus NULL
.
crKey
Penunjuk ke COLORREF
nilai yang menentukan kunci warna transparansi yang akan digunakan saat menyusun jendela berlapis. Semua piksel yang dicat oleh jendela dalam warna ini akan transparan. Untuk menghasilkan COLORREF
, gunakan makro RGB.
pblend
Penunjuk ke BLENDFUNCTION
struktur yang menentukan nilai transparansi yang akan digunakan saat menyusun jendela berlapis.
dwFlags
Menentukan tindakan yang akan diambil. Parameter ini bisa berupa satu atau beberapa nilai berikut. Untuk daftar nilai yang mungkin, lihat UpdateLayeredWindow
.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi UpdateLayeredWindow
, seperti yang dijelaskan dalam Windows SDK.
CWnd::UpdateWindow
Memperbarui area klien dengan mengirim WM_PAINT
pesan jika wilayah pembaruan tidak kosong.
void UpdateWindow();
Keterangan
Fungsi UpdateWindow
anggota mengirim pesan secara WM_PAINT
langsung, melewati antrean aplikasi. Jika wilayah pembaruan kosong, WM_PAINT
tidak dikirim.
Contoh
// In this example a rectangle is drawn in a view.
// The OnChangeRect() function changes the dimensions
// of the rectangle and then calls CWnd::Invalidate() so the
// client area of the view will be redrawn next time the
// window is updated. It then calls CWnd::UpdateWindow
// to force the new rectangle to be painted.
void CMdiView::OnChangeRect()
{
// Change Rectangle size.
m_rcBox = CRect(20, 20, 210, 210);
// Invalidate window so entire client area
// is redrawn when UpdateWindow is called.
Invalidate();
// Update Window to cause View to redraw.
UpdateWindow();
}
// On Draw function draws the rectangle.
void CMdiView::OnDraw(CDC *pDC)
{
// Other draw code here.
pDC->Draw3dRect(m_rcBox, 0x00FF0000, 0x0000FF00);
}
CWnd::ValidateRect
Memvalidasi area klien dalam persegi panjang yang diberikan dengan menghapus persegi panjang dari wilayah pembaruan jendela.
void ValidateRect(LPCRECT lpRect);
Parameter
lpRect
Menunjuk ke CRect
objek atau RECT
struktur yang berisi koordinat klien persegi panjang yang akan dihapus dari wilayah pembaruan. Jika lpRect
adalah NULL
, seluruh jendela divalidasi.
Keterangan
Fungsi BeginPaint
anggota secara otomatis memvalidasi seluruh area klien. ValidateRect
Baik fungsi anggota maupun ValidateRgn
tidak boleh dipanggil jika sebagian wilayah pembaruan perlu divalidasi sebelum WM_PAINT
dibuat berikutnya.
Windows terus menghasilkan WM_PAINT
pesan hingga wilayah pembaruan saat ini divalidasi.
CWnd::ValidateRgn
Memvalidasi area klien dalam wilayah tertentu dengan menghapus wilayah dari wilayah pembaruan jendela saat ini.
void ValidateRgn(CRgn* pRgn);
Parameter
pRgn
Penunjuk ke CRgn
objek yang mengidentifikasi wilayah yang menentukan area yang akan dihapus dari wilayah pembaruan. Jika parameter ini adalah NULL
, seluruh area klien akan dihapus.
Keterangan
Wilayah yang diberikan harus dibuat sebelumnya oleh fungsi wilayah. Koordinat wilayah diasumsikan sebagai koordinat klien.
Fungsi BeginPaint
anggota secara otomatis memvalidasi seluruh area klien. ValidateRect
Baik fungsi maupun ValidateRgn
anggota tidak boleh dipanggil jika sebagian wilayah pembaruan harus divalidasi sebelum pesan berikutnya WM_PAINT
dibuat.
CWnd::WindowFromPoint
Mengambil jendela yang berisi titik yang ditentukan; point
harus menentukan koordinat layar titik pada layar.
static CWnd* PASCAL WindowFromPoint(POINT point);
Parameter
point
CPoint
Menentukan objek atau POINT
struktur data yang menentukan titik yang akan diperiksa.
Tampilkan Nilai
Penunjuk ke objek jendela tempat titik berada. Hal ini NULL
jika tidak ada jendela pada titik tertentu. Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
WindowFromPoint
tidak mengambil jendela tersembunyi atau dinonaktifkan, meskipun titik berada di dalam jendela. Aplikasi harus menggunakan ChildWindowFromPoint
fungsi anggota untuk pencarian nonrestrik.
CWnd::WindowProc
Menyediakan prosedur Windows (WindowProc
) untuk objek CWnd
.
virtual LRESULT WindowProc(
UINT message,
WPARAM wParam,
LPARAM lParam);
Parameter
message
Menentukan pesan Windows yang akan diproses.
wParam
Menyediakan informasi tambahan yang digunakan dalam memproses pesan. Nilai parameter tergantung pada pesan.
lParam
Menyediakan informasi tambahan yang digunakan dalam memproses pesan. Nilai parameter tergantung pada pesan.
Tampilkan Nilai
Nilai yang dikembalikan tergantung pada pesan.
Keterangan
Ini mengirimkan pesan melalui peta pesan jendela.
CWnd::WinHelp
Dipanggil untuk memulai aplikasi WinHelp.
virtual void WinHelp(
DWORD_PTR dwData,
UINT nCmd = HELP_CONTEXT);
Parameter
dwData
Menentukan data tambahan. Nilai yang digunakan tergantung pada nilai nCmd
parameter.
nCmd
Menentukan jenis bantuan yang diminta. Untuk daftar nilai yang mungkin dan pengaruhnya terhadap dwData
parameter, lihat WinHelp
fungsi Windows di Windows SDK.
Keterangan
Lihat CWinApp::WinHelp
untuk informasi lebih lanjut.
CWnd::RegisterTouchWindow
Mendaftarkan atau membatalkan pendaftaran dukungan sentuh Windows.
BOOL RegisterTouchWindow(
BOOL bRegister = TRUE,
ULONG ulFlags = 0);
Parameter
bRegister
TRUE
menunjukkan mendaftarkan dukungan sentuh Windows; FALSE
Sebaliknya.
ulFlags
Sekumpulan bendera bit yang menentukan modifikasi opsional. Bidang ini mungkin berisi 0 atau salah satu nilai berikut: TWF_FINETOUCH
, TWF_WANTPALM
.
Tampilkan Nilai
TRUE
jika berhasil; jika tidak FALSE
.
Keterangan
CWnd::ResizeDynamicLayout
Dipanggil oleh kerangka kerja ketika ukuran jendela berubah untuk menyesuaikan tata letak jendela anak, jika tata letak dinamis diaktifkan untuk jendela.
virtual void ResizeDynamicLayout();