Bagikan melalui


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 ScrollWindowdengan , 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 CWndpesan melalui peta pesan.
CWnd::SubclassWindow Melampirkan jendela ke CWnd objek dan membuatnya merutekan CWndpesan 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 OnMessage 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 CWndnon-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 CWndnon-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 OnMessageCWnd 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, , CMDIFrameWndCMDIChildWnd, 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

CObject

CCmdTarget

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 CWnduntuk 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 CWndjika 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 CWndjika 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 CWndjika 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 CWndjika 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 Invalidatefungsi anggota , , InvalidateRectatau 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 DataSourceproperti , , UserName, Passworddan 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::GetDesktopWindowpAlternateOwner.

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 CWndmengembalikan * 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 CPointCRect 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 . Misalnya, "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. Misalnya, "{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 CFileobjek -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 memiliki BorderStyle 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 dengan WS_GROUP gaya setelah kontrol pertama milik grup yang sama. Kontrol berikutnya dengan WS_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 kontrol WS_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 CWnddi 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_POSTMSGSLB_DIR Bendera. LB_DIR Jika bendera diatur, Windows menempatkan pesan yang dihasilkan oleh DlgDirList 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 memanggil DlgDirList dua kali: sekali dengan DDL_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

DlgDirListLB_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_POSTMSGSCB_DIR Bendera. CB_DIR Jika bendera diatur, Windows menempatkan pesan yang dihasilkan oleh DlgDirListComboBox 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 memanggil DlgDirListComboBox dua kali: sekali dengan DDL_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

DlgDirListComboBoxCB_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.

DlgDirSelectLB_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.

DlgDirSelectComboBoxCB_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_DROPFILESWindows . Misalnya, dalam aplikasi MDI, jika penunjuk CMDIFrameWnd jendela digunakan dalam DragAcceptFiles panggilan fungsi, hanya jendela yang CMDIFrameWndWM_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 CWndberisi 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.

* CWndmungkin 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 CWndjika 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 CWndjika 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 CWnduntuk 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 CWnduntuk 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 CWndjika 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 CWnduntuk 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 CWnduntuk 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 CWnduntuk 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 CWnduntuk 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 CWndjika 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 CWndjika 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 CWndjika 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 CWndjika 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_OWNDCatau 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 jendela OWNDC atau CLASSDC . Mengambil alih CS_OWNDC dan CS_CLASSDC.

  • DCX_CLIPCHILDREN Mengecualikan wilayah yang terlihat dari semua jendela anak di CWnd bawah jendela.

  • DCX_CLIPSIBLINGS Mengecualikan wilayah yang terlihat dari semua jendela saudara di atas CWnd jendela.

  • DCX_EXCLUDERGN Mengecualikan wilayah kliping yang diidentifikasi oleh prgnClip dari wilayah yang terlihat dari konteks perangkat yang dikembalikan.

  • DCX_INTERSECTRGN Berpotongan wilayah kliping yang diidentifikasi oleh prgnClip dalam wilayah yang terlihat dari konteks perangkat yang dikembalikan.

  • DCX_LOCKWINDOWUPDATE Memungkinkan gambar bahkan jika ada LockWindowUpdate panggilan yang berlaku yang akan mengecualikan jendela ini. Nilai ini digunakan untuk menggambar selama pelacakan.

  • DCX_PARENTCLIPMenggunakan wilayah jendela induk yang terlihat dan mengabaikan bit gaya dan WS_PARENTDC jendela WS_CLIPCHILDREN induk. Nilai ini mengatur asal konteks perangkat ke sudut kiri atas CWnd 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_CLASSDCgaya , , CS_OWNDCatau 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 DataSourceproperti , , PasswordUserName, 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_hWndCOleControlSiteOrWnd diatur ke HWND kontrol, dan m_pSite anggota menunjuk ke kontrol COleControlSite.
Kontrol ActiveX Tanpa Jendela HWNDTidak berisi . Anggota m_pSite menunjuk COleControlSiteOrWnd ke kontrol COleControlSite, dan m_hWnd anggotanya adalah NULL.
Jendela standar Hanya HWNDberisi . Anggota m_hWndCOleControlSiteOrWnd 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 GetWindowkepemilikan .

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 .NULLthis

HWND GetSafeHwnd() const;

Tampilkan Nilai

Mengembalikan handel jendela untuk jendela. Mengembalikan NULL jika CWnd tidak dilampirkan ke jendela atau jika digunakan dengan NULLCWnd 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. Anggota m_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_TRACKPOSdan 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::AppendMenufungsi , , CMenu::InsertMenuatau CMenu::ModifyMenu untuk mengubah menu Kontrol.

Menu Kontrol awalnya berisi item yang diidentifikasi dengan berbagai nilai ID seperti SC_CLOSE, , SC_MOVEdan 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 CFrameWndobjek -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 jendela CWnd anak pertama.

  • GW_HWNDFIRST Jika CWnd adalah jendela anak, mengembalikan jendela saudara pertama. Jika tidak, ini mengembalikan jendela tingkat atas pertama dalam daftar.

  • GW_HWNDLAST Jika CWnd 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 pemilik CWnd .

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 WINDOWPLACEMENTSW_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 Menafsirkan nIDHiliteItem sebagai ID item menu (interpretasi default).

  • MF_BYPOSITION Menafsirkan nIDHiliteItem 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 CWndanak ; 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 GetDCfungsi , , GetDCExatau 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
Stop or X icon, consisting of a red circle with a white x in the middle. MB_ICONHAND, MB_ICONSTOP, dan MB_ICONERROR
Help or question mark icon, consisting of a thought bubble icon with a question mark in it. MB_ICONQUESTION
Important or exclamation point icon, consisting of a yellow triangle with a black exclamation point in it. MB_ICONEXCLAMATION dan MB_ICONWARNING
Information or letter I icon, consiting of a thought bubble with a lowercase letter i in it. 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 CWndkiri .

y
Menentukan posisi baru bagian CWndatas .

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 , NULLdan 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. TRUECWnd berarti sedang diaktifkan. FALSECWnd 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 cmdlParam parameter WM_APPCOMMAND.

nDevice
[di] Perangkat input yang menghasilkan peristiwa input. Untuk daftar nilai yang mungkin, lihat perangkat di bawah bagian uDevicelParam 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 dwKeyslParam 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 oleh nUIElement) harus disembunyikan.

  • UIS_INITIALIZE Elemen status UI (ditentukan oleh nUIElement) harus diubah berdasarkan peristiwa input terakhir. Untuk informasi selengkapnya, lihat bagian Keterangan dari WM_CHANGEUISTATE.

  • UIS_SET Elemen status UI (ditentukan oleh nUIElement) 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 tombol

  • CTLCOLOR_DLG Kotak dialog

  • CTLCOLOR_EDIT Edit kontrol

  • CTLCOLOR_LISTBOX Kontrol kotak daftar

  • CTLCOLOR_MSGBOX Kotak pesan

  • CTLCOLOR_SCROLLBAR Kontrol bilah gulir

  • CTLCOLOR_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::ResetContentatau 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:

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_CLIENTbendera , 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 itemActionDRAWITEMSTRUCT 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 CButtonobjek , , CMenu, CListBoxatau 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 DragFinishfungsi , 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_DIALOGBOXatau 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_HASSETSELEM_SETSEL Pesan.

  • DLGC_UNDEFPUSHBUTTON Tidak ada pemrosesan tombol dorong default. (Aplikasi dapat menggunakan bendera ini dengan DLGC_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_WANTCHARSWM_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 oleh nPos parameter .

  • SB_THUMBTRACK Seret kotak gulir ke posisi yang ditentukan. Posisi saat ini ditentukan oleh nPos 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 dalam nPos.

  • 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_DBLCLKSWNDCLASS 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_LBUTTONUPWM_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_DBLCLKSWNDCLASS 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_MBUTTONUPWM_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 CMenuobjek , 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, , SubclassDlgItematau 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_POPUPMF_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 Aktifkan CWnd objek.

  • MA_NOACTIVATE Jangan aktifkan CWnd objek.

  • MA_ACTIVATEANDEAT Aktifkan CWnd objek dan buang peristiwa mouse.

  • MA_NOACTIVATEANDEAT Jangan aktifkan CWnd 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_DELTAyaitu 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 bCalcValidRectsnilai , 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 PostNcDestroyanggota 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 CWndnonkelola .

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 CWndnonkelola .

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 dalam WM_NOTIFY pesan. Pesan ini dikirim dari kontrol ke jendela induknya selama pembuatan kontrol, dan sebagai respons terhadap NF_REQUERY bentuk pesan ini.
  • NF_REQUERY - Pesan adalah permintaan kontrol untuk mengirim NF_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 dalam WM_NOTIFY pesan. nCommand Jika parameter adalah NF_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 messageurutan 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 messageWM_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 juga SIZE_MINIMIZEDSIZE_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_CLOSECWnd Tutup objek.

  • SC_HOTKEY Aktifkan objek yang CWnd terkait dengan hot key yang ditentukan aplikasi. Kata berurutan lParam rendah mengidentifikasi HWND jendela untuk diaktifkan.

  • SC_HSCROLL Gulir secara horizontal.

  • SC_KEYMENU Ambil menu melalui penekanan tombol.

  • SC_MAXIMIZE (atau SC_ZOOM) Memaksimalkan CWnd objek.

  • SC_MINIMIZE (atau SC_ICON) Minimalkan CWnd objek.

  • SC_MOUSEMENU Ambil menu melalui klik mouse.

  • SC_MOVE Pindahkan CWnd 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] file SYSTEM.INI .

  • SC_SIZECWnd 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. Kata lParam urutan rendah mengidentifikasi jendela untuk diaktifkan.

  • SC_SCREENSAVEJalankan 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 GetSystemMenufungsi anggota , , InsertMenuAppendMenu, 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. Parameter dwActionData 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 jendela

  • uId = (UINT)hWndChild Menangani ke jendela anak

  • uFlags |= TTF_IDISHWND Handel alat

  • lpszText = 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 oleh nUIElement) harus disembunyikan.

  • UIS_INITIALIZE Elemen status UI (ditentukan oleh nUIElement) harus diubah berdasarkan peristiwa input terakhir. Untuk informasi selengkapnya, lihat bagian Keterangan dari WM_UPDATEISTATE.

  • UIS_SET Elemen status UI (ditentukan oleh nUIElement) 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 dalam nPos.

  • SB_THUMBTRACK Seret kotak gulir ke posisi yang ditentukan. Posisi saat ini disediakan dalam nPos.

  • 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 dalam nPos.

  • 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 csthis 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 jendela WM_ERASEBKGND .

  • Jika PRF_CLIENT ditentukan, kirim pesan ke jendela WM_PRINTCLIENT .

  • Jika PRF_CHILDREN diatur, kirim setiap jendela anak yang terlihat pesan WM_PRINT .

  • Jika PRF_OWNED diatur, kirim setiap jendela yang dimiliki yang terlihat pesan WM_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 pesan WM_ERASEBKGND ketika jendela dicat ulang. Bendera RDW_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 menerima WM_NCPAINT pesan. RDW_INVALIDATE Bendera juga harus ditentukan; jika tidakRDW_FRAME, bendera tidak berpengaruh.

  • RDW_INTERNALPAINT Menyebabkan pesan WM_PAINT diposting ke jendela terlepas dari apakah jendela berisi wilayah yang tidak valid.

  • RDW_INVALIDATE Tidak valid lpRectUpdate atau prgnUpdate (hanya satu yang mungkin tidak NULL). Jika keduanya adalah NULL, seluruh jendela tidak valid.

Bendera berikut digunakan untuk memvalidasi jendela:

  • RDW_NOERASE Menyembunyikan pesan yang tertunda WM_ERASEBKGND .

  • RDW_NOFRAME Menyembunyikan pesan yang tertunda WM_NCPAINT . Bendera ini harus digunakan dengan RDW_VALIDATE dan biasanya digunakan dengan RDW_NOCHILDREN. Opsi ini harus digunakan dengan hati-hati, karena dapat mencegah bagian-bagian jendela melukis dengan benar.

  • RDW_NOINTERNALPAINT Menekan pesan internal WM_PAINT yang tertunda. Bendera ini tidak memengaruhi WM_PAINT pesan yang dihasilkan dari area yang tidak valid.

  • RDW_VALIDATE Memvalidasi lpRectUpdate atau prgnUpdate (hanya satu yang mungkin tidak NULL). Jika keduanya adalah NULL, seluruh jendela divalidasi. Bendera ini tidak memengaruhi pesan internal WM_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 oleh RDW_ALLCHILDREN bendera dan RDW_NOCHILDREN ) untuk menerima WM_NCPAINT dan WM_ERASEBKGND pesan, jika perlu, sebelum fungsi kembali. WM_PAINT pesan ditangguhkan.

  • RDW_UPDATENOW Menyebabkan jendela yang terpengaruh (seperti yang ditentukan oleh RDW_ALLCHILDREN bendera dan RDW_NOCHILDREN ) untuk menerima WM_NCPAINT, , WM_ERASEBKGNDdan WM_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::InvalidateRgnCWnd::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 berupa NULL.

  • CWnd::reposQuery Tata letak bilah kontrol tidak dilakukan; sebaliknya diinisialisasi dengan ukuran area klien, seolah-olah lpRectParam tata letak benar-benar telah dilakukan.

  • CWnd::reposExtra Menambahkan nilai lpRectParam ke area nIDLast 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 mengirim WM_ENTERIDLE pesan ke induk.

  • MLF_NOKICKIDLE Jangan kirim WM_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 ScrollWindowNULL.

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 dengan SW_INVALIDATE, menghapus wilayah yang baru divalidasi dengan mengirim WM_ERASEBKGND pesan ke jendela.

  • SW_INVALIDATE Membatalkan validasi wilayah yang diidentifikasi dengan prgnUpdate setelah menggulir.

  • SW_SCROLLCHILDREN Menggulir semua jendela anak yang beririsan persegi panjang yang ditujukkan oleh lpRectScroll jumlah piksel yang ditentukan dalam dx dan dy. Windows mengirim pesan WM_MOVE ke semua jendela anak yang bersinggungan lpRectScroll, 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, , lpRectUpdatelpRectClip, 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_DRAWCLIPBOARDpesan , , WM_CHANGECBCHAINdan 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 TRUEnValue 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_SYSKEYDOWNatau 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 GetWindowkepemilikan .

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. Anggota m_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 ini CWnd 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 pesan WM_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 pengaturan pWndInsertAfter 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 (mengabaikan x parameter dan y ).

  • 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 seperti SWP_NOOWNERZORDER.

  • SWP_NOSENDCHANGING Mencegah jendela menerima WM_WINDOWPOSCHANGING pesan.

  • SWP_NOSIZE Mempertahankan ukuran saat ini (mengabaikan cx parameter dan cy ).

  • SWP_NOZORDER Mempertahankan pengurutan saat ini (mengabaikan pWndInsertAfter).

  • 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 dalam pWndInsertAfter 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 &wndTopMostdengan 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 hRgnwilayah . 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 CWndpeta pesan dan memanggil penangan pesan di CWndkelas 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 CWndpeta pesan dan memanggil penangan pesan di CWndkelas 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::OnInitDialogbSaveAndValidate 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 , TRUEmaka 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();

Keterangan

Baca juga

CCmdTarget Kelas
Bagan Hierarki
CFrameWnd Kelas
CView Kelas