Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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 OnMessage CWnd yang tepat. Anda mengambil alih fungsi anggota OnMessage untuk menangani pesan khusus anggota di kelas turunan Anda.
Kelas ini CWnd juga memungkinkan Anda membuat jendela anak Windows untuk aplikasi Anda. Dapatkan kelas dari CWnd, lalu tambahkan variabel anggota ke kelas turunan untuk menyimpan data khusus untuk aplikasi Anda. Terapkan fungsi anggota penangan pesan dan peta pesan di kelas turunan untuk menentukan apa yang terjadi ketika pesan diarahkan ke jendela.
Anda membuat jendela anak dalam dua langkah. Pertama, panggil konstruktor CWnd untuk membuat CWnd objek, lalu panggil Create fungsi anggota untuk membuat jendela anak dan melampirkannya ke CWnd objek.
Saat pengguna mengakhiri jendela anak Anda, menghancurkan CWnd objek, atau memanggil DestroyWindow fungsi anggota untuk menghapus jendela dan menghancurkan struktur datanya.
Dalam Pustaka Kelas Microsoft Foundation, kelas lebih lanjut berasal dari CWnd untuk menyediakan jenis jendela tertentu. Banyak dari kelas-kelas ini, termasuk CFrameWnd, , 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
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::GetDesktopWindow pAlternateOwner.
Contoh
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CenterWindow();
return TRUE;
}
CWnd::ChangeClipboardChain
CWnd Menghapus dari rantai penampil Clipboard dan membuat jendela yang ditentukan oleh hWndNext turunan CWnd leluhur dalam rantai.
BOOL ChangeClipboardChain(HWND hWndNext);
Parameter
hWndNext
Mengidentifikasi jendela yang mengikuti CWnd dalam rantai Penampil Clipboard.
Tampilkan Nilai
Bukan nol jika berhasil; jika tidak, 0.
CWnd::CheckDlgButton
Memilih (menempatkan tanda centang di samping) atau menghapus (menghapus tanda centang dari) tombol, atau mengubah status tombol tiga status.
void CheckDlgButton(
int nIDButton,
UINT nCheck);
Parameter
nIDButton
Menentukan tombol yang akan dimodifikasi.
nCheck
Menentukan tindakan yang akan diambil. Jika nCheck bukan nol, CheckDlgButton fungsi anggota menempatkan tanda centang di samping tombol; jika 0, tanda centang akan dihapus. Untuk tombol tiga status, jika nCheck adalah 2, status tombol tidak ditentukan.
Keterangan
Fungsi CheckDlgButton mengirim pesan BM_SETCHECK ke tombol yang ditentukan.
Contoh
// Sets 3 check buttons in various ways. Note BST_INDETERMINATE
// requires BS_3STATE or BS_AUTO3STATE in the button's style.
void CMyDlg::OnMarkButtons()
{
CheckDlgButton(IDC_CHECK1, BST_UNCHECKED); // 0
CheckDlgButton(IDC_CHECK2, BST_CHECKED); // 1
CheckDlgButton(IDC_CHECK3, BST_INDETERMINATE); // 2
}
CWnd::CheckRadioButton
Memilih (menambahkan tanda centang ke) tombol radio tertentu dalam grup dan menghapus (menghapus tanda centang dari) semua tombol radio lainnya dalam grup.
void CheckRadioButton(
int nIDFirstButton,
int nIDLastButton,
int nIDCheckButton);
Parameter
nIDFirstButton
Menentukan pengidentifikasi bilangan bulat tombol radio pertama dalam grup.
nIDLastButton
Menentukan pengidentifikasi bilangan bulat dari tombol radio terakhir dalam grup.
nIDCheckButton
Menentukan pengidentifikasi bilangan bulat tombol radio yang akan diperiksa.
Keterangan
Fungsi mengirim CheckRadioButton pesan BM_SETCHECK ke tombol radio yang ditentukan.
Contoh
// Of the 4 radio buttons, selects radio button 3.
void CMyDlg::OnMarkRadio()
{
CheckRadioButton(IDC_RADIO1, IDC_RADIO4, IDC_RADIO3);
}
CWnd::ChildWindowFromPoint
Menentukan mana, jika ada, dari jendela anak milik CWnd berisi titik yang ditentukan.
CWnd* ChildWindowFromPoint(POINT point) const;
CWnd* ChildWindowFromPoint(
POINT point,
UINT nFlags) const;
Parameter
point
Menentukan koordinat klien dari titik yang akan diuji.
nflags
Menentukan jendela turunan mana yang akan dilewati. Parameter ini bisa menjadi kombinasi dari nilai berikut:
| Nilai | Makna |
|---|---|
CWP_ALL |
Jangan lewati jendela anak |
CWP_SKIPINVISIBLE |
Lewati jendela anak yang tidak terlihat |
CWP_SKIPDISABLED |
Lewati jendela anak yang dinonaktifkan |
CWP_SKIPTRANSPARENT |
Lewati jendela anak transparan |
Tampilkan Nilai
Mengidentifikasi jendela anak yang berisi titik. Ini adalah NULL jika titik yang diberikan terletak di luar area klien. Jika titik berada dalam area klien tetapi tidak terkandung dalam jendela anak apa pun, CWnd dikembalikan.
Fungsi anggota ini akan mengembalikan jendela anak tersembunyi atau dinonaktifkan yang berisi titik yang ditentukan.
Lebih dari satu jendela mungkin berisi titik yang diberikan. Namun, fungsi ini hanya 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 CPoint CRect ditunjuk oleh lpPoint atau lpRect untuk menghitung koordinat layar baru; kemudian mengganti koordinat dalam struktur dengan koordinat baru. Koordinat layar baru relatif terhadap sudut kiri atas tampilan sistem.
Fungsi ClientToScreen anggota mengasumsikan bahwa titik atau persegi panjang yang diberikan berada dalam koordinat klien.
Contoh
// resize dialog to client's size
void CMyDlg::OnSizeToClient()
{
CRect myRect;
GetClientRect(&myRect);
ClientToScreen(myRect);
MoveWindow(myRect.left, myRect.top,
myRect.Width(), myRect.Height());
}
CWnd::CloseWindow
Meminimalkan jendela.
void CloseWindow();
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi CloseWindow, seperti yang dijelaskan dalam Windows SDK.
CWnd::ContinueModal
Fungsi anggota ini dipanggil oleh RunModalLoop untuk menentukan kapan status modal harus keluar.
virtual BOOL ContinueModal();
Tampilkan Nilai
Nonzero jika perulangan modal akan dilanjutkan; 0 ketika EndModalLoop dipanggil.
Keterangan
Secara default, mengembalikan bukan nol hingga EndModalLoop dipanggil.
CWnd::Create
Membuat jendela anak yang ditentukan dan melampirkannya ke CWnd objek.
virtual BOOL Create(
LPCTSTR lpszClassName,
LPCTSTR lpszWindowName,
DWORD dwStyle,
Const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext = NULL);
Parameter
lpszClassName
[di] Penunjuk ke string null-terminated yang berisi nama kelas jendela sistem terdaftar; atau nama kelas jendela sistem yang telah ditentukan sebelumnya.
lpszWindowName
[di] Penunjuk ke string null-terminated yang berisi nama tampilan jendela; jika tidak NULL untuk tidak ada nama tampilan jendela.
dwStyle
[di] Kombinasi bitwise (OR) dari gaya jendela. Opsi WS_POPUP ini bukan gaya yang valid.
rect
[di] Ukuran dan lokasi jendela relatif terhadap sudut kiri atas jendela induk.
pParentWnd
[di] Penunjuk ke jendela induk.
nID
[di] ID jendela.
pContext
[di] Penunjuk ke CCreateContext struktur yang digunakan untuk menyesuaikan arsitektur tampilan dokumen untuk aplikasi.
Tampilkan Nilai
TRUE jika metode berhasil; jika tidak FALSE.
Keterangan
Peringatan
CWnd::PreCreateWindow sekarang menetapkan hMenu anggota parameternya CREATESTRUCT ke this penunjuk jika menu dan NULL gaya berisi WS_CHILD. Untuk fungsionalitas yang tepat, pastikan kontrol dialog Anda memiliki ID yang bukan NULL.
Perubahan ini memperbaiki crash dalam skenario interop terkelola/asli. Pernyataan TRACE dalam CWnd::Create memperingatkan pengembang masalah.
AfxRegisterWndClass Gunakan fungsi untuk mendaftarkan kelas jendela. Kelas jendela yang ditentukan pengguna tersedia dalam modul tempat kelas tersebut didaftarkan.
Metode CWnd::OnCreate ini dipanggil sebelum Create metode kembali, dan sebelum jendela terlihat.
Contoh
// Dynamically create static control using CWnd::Create,
// instead of with CStatic::Create, which doesn't
// need the "STATIC" class name.
void CMyDlg::OnCreateStatic()
{
// m_pWndStatic is a CWnd* member of CMyDlg
m_pWndStatic = new CWnd;
m_pWndStatic->Create(_T("STATIC"), _T("Hi"), WS_CHILD | WS_VISIBLE,
CRect(0, 0, 20, 20), this, 1234);
}
CWnd::CreateAccessibleProxy
Membuat proksi Aksesibilitas Aktif untuk objek yang ditentukan.
virtual HRESULT CreateAccessibleProxy(
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parameter
wParam
Mengidentifikasi objek yang diakses oleh proksi Aksesibilitas Aktif. Bisa menjadi salah satu nilai berikut
| Nilai | Makna |
|---|---|
OBJID_CLIENT |
Mengacu pada area klien jendela. |
lParam
Menyediakan informasi tambahan yang bergantung pada pesan.
pResult
Pointer ke yang LRESULT menyimpan kode hasil.
Keterangan
Membuat proksi Aksesibilitas Aktif untuk objek yang ditentukan.
CWnd::CreateCaret
Membuat bentuk baru untuk tanda sisipan sistem dan mengklaim kepemilikan tanda sisipan.
void CreateCaret(CBitmap* pBitmap);
Parameter
pBitmap
Mengidentifikasi bitmap yang menentukan bentuk tanda sisipan.
Keterangan
Bitmap sebelumnya harus dibuat oleh CBitmap::CreateBitmap fungsi anggota, CreateDIBitmap fungsi Windows, atau CBitmap::LoadBitmap fungsi anggota.
CreateCaret secara otomatis menghancurkan bentuk tanda sisipan sebelumnya, jika ada, terlepas dari jendela mana yang memiliki tanda sisipan. Setelah dibuat, tanda sisipan awalnya disembunyikan. Untuk menampilkan tanda sisipan, ShowCaret fungsi anggota harus dipanggil.
Tanda sisipan sistem adalah sumber daya bersama. CWnd harus membuat tanda sisipan hanya ketika memiliki fokus input atau aktif. Ini harus menghancurkan caret sebelum kehilangan fokus input atau menjadi tidak aktif.
Contoh
// Changes the caret of the edit control in this dialog box
void CMyDlg::OnChangeCaret()
{
m_pBitmapCaret = new CBitmap;
m_pBitmapCaret->LoadBitmap(IDB_HAPPY_BITMAP);
m_MyEdit.CreateCaret(m_pBitmapCaret);
m_MyEdit.ShowCaret();
}
CWnd::CreateControl
Gunakan fungsi anggota ini untuk membuat kontrol ActiveX yang akan diwakili dalam program MFC oleh CWnd objek.
BOOL CreateControl(
LPCTSTR pszClass,
LPCTSTR pszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL);
BOOL CreateControl(
REFCLSID clsid,
LPCTSTR pszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL);
BOOL CreateControl(
REFCLSID clsid,
LPCTSTR pszWindowName,
DWORD dwStyle,
const POINT* ppt,
const SIZE* psize,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL);
Parameter
pszClass
String ini mungkin berisi OLE "nama pendek" (ProgID) untuk kelas . Contohnya,"CIRC3.Circ3Ctrl.1". Nama harus cocok dengan nama yang sama yang didaftarkan oleh kontrol. Atau, string mungkin berisi bentuk string dari CLSID, yang terkandung dalam kurung kurawal. Contohnya,"{9DBAFCCF-592F-101B-85CE-00608CEC297B}". Dalam kedua kasus, CreateControl mengonversi string ke ID kelas yang sesuai.
pszWindowName
Penunjuk ke teks yang akan ditampilkan dalam kontrol. Mengatur nilai properti Teks atau Teks kontrol (jika ada). Jika NULL, properti Teks atau Teks kontrol tidak diubah.
dwStyle
Gaya Windows. Gaya yang tersedia tercantum di bawah Keterangan.
rect
Menentukan ukuran dan posisi kontrol. Ini bisa berupa CRect objek atau RECT struktur.
ppt
Menunjuk ke POINT struktur atau CPoint objek yang berisi sudut kiri atas kontrol.
pSize
Menunjuk ke SIZE struktur atau CSize objek yang berisi ukuran kontrol
pParentWnd
Menentukan jendela induk kontrol. Ini tidak boleh NULL.
nID
Menentukan ID kontrol.
pPersist
Penunjuk ke yang CFile berisi status persisten untuk kontrol. Nilai defaultnya adalah NULL, menunjukkan bahwa kontrol menginisialisasi dirinya sendiri tanpa memulihkan statusnya dari penyimpanan persisten apa pun. Jika tidak NULL, itu harus menjadi penunjuk ke 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_VISIBLEMembuat jendela yang awalnya terlihat. Diperlukan jika Anda ingin kontrol terlihat segera, seperti jendela biasa.WS_DISABLEDMembuat jendela yang awalnya dinonaktifkan. Jendela yang dinonaktifkan tidak dapat menerima input dari pengguna. Dapat diatur jika kontrol memiliki properti Diaktifkan.WS_BORDERMembuat jendela dengan batas garis tipis. Dapat diatur jika kontrol memilikiBorderStyleproperti.WS_GROUPMenentukan kontrol pertama dari sekelompok kontrol. Pengguna dapat mengubah fokus keyboard dari satu kontrol dalam grup ke kontrol berikutnya dengan menggunakan tombol arah. Semua kontrol yang ditentukan denganWS_GROUPgaya setelah kontrol pertama milik grup yang sama. Kontrol berikutnya denganWS_GROUPgaya mengakhiri grup dan memulai grup berikutnya.WS_TABSTOPMenentukan kontrol yang dapat menerima fokus keyboard saat pengguna menekan tombol TAB. Menekan tombol TAB mengubah fokus keyboard ke kontrolWS_TABSTOPgaya 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_READWRITEFile data baca-tulis tanpa atribut tambahan.DDL_READONLYFile baca-saja.DDL_HIDDENFile tersembunyi.DDL_SYSTEMFile sistem.DDL_DIRECTORYDirektori.DDL_ARCHIVEArsip.DDL_POSTMSGSLB_DIRbendera.LB_DIRJika bendera diatur, Windows menempatkan pesan yang dihasilkan olehDlgDirListdalam antrean aplikasi; jika tidak, bendera dikirim langsung ke prosedur kotak dialog.DDL_DRIVESDrive.DDL_DRIVESJika bendera diatur,DDL_EXCLUSIVEbendera diatur secara otomatis. Oleh karena itu, untuk membuat daftar direktori yang menyertakan drive dan file, Anda harus memanggilDlgDirListdua kali: sekali denganDDL_DRIVESset bendera dan sekali dengan bendera untuk sisa daftar.DDL_EXCLUSIVEBit 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_READWRITEFile data baca-tulis tanpa atribut tambahan.DDL_READONLYFile baca-saja.DDL_HIDDENFile tersembunyi.DDL_SYSTEMFile sistem.DDL_DIRECTORYDirektori.DDL_ARCHIVEArsip.DDL_POSTMSGSCB_DIRbendera.CB_DIRJika bendera diatur, Windows menempatkan pesan yang dihasilkan olehDlgDirListComboBoxdalam antrean aplikasi; jika tidak, bendera dikirim langsung ke prosedur kotak dialog.DDL_DRIVESDrive.DDL_DRIVESJika bendera diatur,DDL_EXCLUSIVEbendera diatur secara otomatis. Oleh karena itu, untuk membuat daftar direktori yang menyertakan drive dan file, Anda harus memanggilDlgDirListComboBoxdua kali: sekali denganDDL_DRIVESset bendera dan sekali dengan bendera untuk sisa daftar.DDL_EXCLUSIVEBit 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 CMDIFrameWnd WM_DROPFILES mendapatkan pesan. Pesan ini tidak dikirim ke semua jendela yang terbuka CMDIChildWnd . Agar jendela CMDIChildWnd menerima pesan ini, Anda harus memanggil DragAcceptFiles dengan penunjuk CMDIChildWnd jendela.
Untuk menghentikan penerimaan file yang diseret, panggil fungsi anggota dengan bAccept diatur ke FALSE.
CWnd::DragDetect
Mengambil mouse dan melacak gerakannya hingga pengguna melepaskan tombol kiri, menekan tombol ESC, atau memindahkan mouse ke luar persegi panjang seret di sekitar titik yang ditentukan.
BOOL DragDetect(POINT pt) const;
Parameter
pt
Posisi awal mouse, dalam koordinat layar. Fungsi menentukan koordinat persegi panjang seret dengan menggunakan titik ini.
Tampilkan Nilai
Jika pengguna memindahkan mouse ke luar persegi panjang seret sambil menahan tombol kiri, nilai yang dikembalikan bukan nol.
Jika pengguna tidak memindahkan mouse ke luar persegi panjang seret sambil menahan tombol kiri, nilai yang dikembalikan adalah nol.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi DragDetect, seperti yang dijelaskan dalam Windows SDK.
CWnd::DrawAnimatedRects
Menggambar persegi panjang bingkai kawat dan menganimasikannya untuk menunjukkan pembukaan ikon atau meminimalkan atau memaksimalkan jendela.
BOOL DrawAnimatedRects(
int idAni,
CONST RECT* lprcFrom,
CONST RECT* lprcTo);
Parameter
idAni
Menentukan tipe animasi. Jika Anda menentukan IDANI_CAPTION, keterangan jendela akan menganimasikan dari posisi yang ditentukan oleh lprcFrom ke posisi yang ditentukan oleh lprcTo. Efeknya mirip dengan meminimalkan atau memaksimalkan jendela.
lprcFrom
Penunjuk ke struktur yang RECT menentukan lokasi dan ukuran ikon atau jendela yang diminimalkan.
lprcTo
Penunjuk ke struktur yang RECT menentukan lokasi dan ukuran jendela yang dipulihkan
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi DrawAnimatedRects, seperti yang dijelaskan dalam Windows SDK.
CWnd::DrawCaption
Menggambar keterangan jendela.
BOOL DrawCaption(
CDC* pDC,
LPCRECT lprc,
UINT uFlags);
Parameter
pDC
Penunjuk ke konteks perangkat. Fungsi menarik keterangan jendela ke dalam konteks perangkat ini.
lprc
Penunjuk ke RECT struktur yang menentukan persegi panjang pembatas untuk keterangan jendela.
uFlags
Menentukan opsi menggambar. Untuk daftar lengkap nilai, lihat DrawCaption.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi DrawCaption, seperti yang dijelaskan dalam Windows SDK.
CWnd::DrawMenuBar
Mengurai ulang bilah menu.
void DrawMenuBar();
Keterangan
Jika bilah menu diubah setelah Windows membuat jendela, panggil fungsi ini untuk menggambar bilah menu yang diubah.
Contoh
Lihat contoh untuk CWnd::GetMenu.
CWnd::EnableActiveAccessibility
Mengaktifkan fungsi Aksesibilitas Aktif yang ditentukan pengguna.
void EnableActiveAccessibility();
Keterangan
Dukungan Aksesibilitas Aktif default MFC cukup untuk jendela dan kontrol standar, termasuk kontrol ActiveX; namun, jika kelas turunan Anda 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_BOTHMengaktifkan atau menonaktifkan panah bilah gulir horizontal dan vertikal yang terkait dengan jendela.SB_HORZMengaktifkan atau menonaktifkan panah bilah gulir horizontal yang terkait dengan jendela.SB_VERTMengaktifkan 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_BOTHMengaktifkan kedua panah bilah gulir (default).ESB_DISABLE_LTUPMenonaktifkan panah kiri bilah gulir horizontal atau panah atas bilah gulir vertikal.ESB_DISABLE_RTDNMenonaktifkan panah kanan bilah gulir horizontal atau panah bawah bilah gulir vertikal.ESB_DISABLE_BOTHMenonaktifkan 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_CACHEMengembalikan konteks perangkat dari cache daripada jendelaOWNDCatauCLASSDC. Mengambil alihCS_OWNDCdanCS_CLASSDC.DCX_CLIPCHILDRENMengecualikan wilayah yang terlihat dari semua jendela anak diCWndbawah jendela.DCX_CLIPSIBLINGSMengecualikan wilayah yang terlihat dari semua jendela saudara di atasCWndjendela.DCX_EXCLUDERGNMengecualikan wilayah kliping yang diidentifikasi olehprgnClipdari wilayah yang terlihat dari konteks perangkat yang dikembalikan.DCX_INTERSECTRGNBerpotongan wilayah kliping yang diidentifikasi olehprgnClipdalam wilayah yang terlihat dari konteks perangkat yang dikembalikan.DCX_LOCKWINDOWUPDATEMemungkinkan gambar bahkan jika adaLockWindowUpdatepanggilan 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 danWS_PARENTDCjendelaWS_CLIPCHILDRENinduk. Nilai ini mengatur asal konteks perangkat ke sudut kiri atasCWndjendela.DCX_WINDOWMengembalikan 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_hWnd COleControlSiteOrWnd 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_hWnd COleControlSiteOrWnd diatur ke HWND jendela, dan m_pSite anggotanya adalah NULL. |
CWnd::GetNextDlgTabItem
Mengambil penunjuk ke kontrol pertama yang dibuat dengan WS_TABSTOP gaya dan yang mendahului atau mengikuti kontrol yang ditentukan.
CWnd* GetNextDlgTabItem(
CWnd* pWndCtl,
BOOL bPrevious = FALSE) const;
COleControlSiteOrWnd* GetNextDlgTabItem(
COleControlSiteOrWnd* pCurSiteOrWnd,
BOOL bPrevious) const;
Parameter
pWndCtl
Mengidentifikasi kontrol yang akan digunakan sebagai titik awal untuk pencarian.
pCurSiteOrWnd
COleControlSiteOrWnd Mengidentifikasi kontrol. Untuk informasi selengkapnya tentang COleControlSiteOrWnd, lihat CWnd::GetNextDlgGroupItem.
bPrevious
Menentukan bagaimana fungsi untuk mencari kotak dialog. Jika TRUE, fungsi mencari kontrol sebelumnya dalam kotak dialog; jika FALSE, fungsi mencari kontrol berikutnya.
Tampilkan Nilai
Penunjuk ke kontrol sebelumnya atau berikutnya yang memiliki WS_TABSTOP gaya, jika fungsi anggota berhasil.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Untuk informasi selengkapnya tentang COleControlSiteOrWnd, lihat CWnd::GetNextDlgGroupItem.
CWnd::GetNextWindow
Mencari jendela berikutnya (atau sebelumnya) di daftar manajer jendela.
CWnd* GetNextWindow(UINT nFlag = GW_HWNDNEXT) const;
Parameter
nFlag
Menentukan apakah fungsi mengembalikan penunjuk ke jendela berikutnya atau jendela sebelumnya. Ini bisa berupa GW_HWNDNEXT, yang mengembalikan jendela yang mengikuti CWnd objek pada daftar manajer jendela, atau GW_HWNDPREV, yang mengembalikan jendela sebelumnya pada daftar manajer jendela.
Tampilkan Nilai
Mengidentifikasi jendela berikutnya (atau sebelumnya) dalam daftar manajer jendela jika fungsi anggota berhasil.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
Keterangan
Daftar manajer jendela berisi entri untuk semua jendela tingkat atas, jendela anak terkait, dan jendela anak dari jendela anak mana pun.
Jika CWnd adalah jendela tingkat atas, fungsi mencari jendela tingkat atas berikutnya (atau sebelumnya) ; jika CWnd adalah jendela anak, fungsi mencari jendela anak berikutnya (atau sebelumnya).
CWnd::GetOleControlSite
Mengambil situs kustom untuk kontrol ActiveX yang ditentukan.
COleControlSite* GetOleControlSite(UINT idControl) const;
Parameter
idControl
ID kontrol ActiveX.
CWnd::GetOpenClipboardWindow
Mengambil handel jendela yang saat ini membuka Papan Klip.
static CWnd* PASCAL GetOpenClipboardWindow();
Tampilkan Nilai
Handel jendela yang saat ini membuka Clipboard jika fungsi berhasil; jika tidak NULL.
CWnd::GetOwner
Mengambil penunjuk ke pemilik jendela.
CWnd* GetOwner() const;
Tampilkan Nilai
Penunjuk ke CWnd objek.
Keterangan
Jika jendela tidak memiliki pemilik, maka penunjuk ke objek jendela induk dikembalikan secara default. Perhatikan bahwa hubungan antara pemilik dan yang dimiliki berbeda dari aspek induk-anak dalam beberapa aspek penting. Misalnya, jendela dengan induk terbatas pada area klien jendela induknya. Jendela yang dimiliki dapat digambar di lokasi mana pun di desktop.
Konsep kepemilikan fungsi ini berbeda dari konsep 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 NULL CWnd penunjuk.
Contoh
Lihat contoh untuk CWnd::SubclassWindow.
CWnd::GetSafeOwner
Panggil fungsi anggota ini untuk mengambil jendela pemilik yang harus digunakan untuk kotak dialog atau jendela modal lainnya.
static CWnd* GetSafeOwner(
CWnd* pParent = NULL,
HWND* pWndTop = NULL);
Parameter
pParent
Penunjuk ke jendela induk CWnd . Mungkin NULL.
pWndTop
Penunjuk ke jendela yang saat ini berada di atas. Mungkin NULL.
Tampilkan Nilai
Penunjuk ke pemilik aman untuk jendela yang diberikan.
Keterangan
Pemilik aman adalah jendela induk non-anak pertama dari pParent. Jika pParent adalah NULL, jendela utama utas (diambil melalui AfxGetMainWnd) digunakan untuk menemukan pemilik.
Catatan
Kerangka kerja itu sendiri menggunakan fungsi ini untuk menentukan jendela pemilik yang benar untuk kotak dialog dan lembar properti di mana pemilik tidak ditentukan.
CWnd::GetScrollBarCtrl
Panggil fungsi anggota ini untuk mendapatkan penunjuk ke bilah gulir saudara yang ditentukan atau jendela pemisah.
virtual CScrollBar* GetScrollBarCtrl(int nBar) const;
Parameter
nBar
Menentukan tipe bilah gulir. Parameter dapat mengambil salah satu nilai berikut:
SB_HORZMengambil posisi bilah gulir horizontal.SB_VERTMengambil 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_CTLMengambil parameter untuk kontrol bilah gulir. Anggotam_hWnddata harus menjadi handel kontrol bilah gulir.SB_HORZMengambil parameter untuk bilah gulir horizontal standar jendela.SB_VERTMengambil 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_HORZMengambil batas gulir bilah gulir horizontal.SB_VERTMengambil 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_HORZMengambil posisi bilah gulir horizontal.SB_VERTMengambil 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_HORZMengambil posisi bilah gulir horizontal.SB_VERTMengambil 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:
SIMPLEREGIONWilayah ini tidak memiliki batas yang tumpang tindih.COMPLEXREGIONWilayah ini memiliki batas yang tumpang tindih.NULLREGIONWilayah kosong.ERRORTidak 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_CHILDMengidentifikasi jendelaCWndanak pertama.GW_HWNDFIRSTJikaCWndadalah jendela anak, mengembalikan jendela saudara pertama. Jika tidak, ini mengembalikan jendela tingkat atas pertama dalam daftar.GW_HWNDLASTJikaCWndadalah jendela anak, mengembalikan jendela saudara terakhir. Jika tidak, ini mengembalikan jendela tingkat atas terakhir dalam daftar.GW_HWNDNEXTMengembalikan jendela berikutnya pada daftar manajer jendela.GW_HWNDPREVMengembalikan jendela sebelumnya pada daftar manajer jendela.GW_OWNERMengidentifikasi pemilikCWnd.
Tampilkan Nilai
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
CWnd::GetWindowContextHelpId
Panggil fungsi anggota ini untuk mengambil pengidentifikasi konteks bantuan, jika ada, yang terkait dengan jendela.
DWORD GetWindowContextHelpId() const;
Tampilkan Nilai
Pengidentifikasi konteks bantuan. Mengembalikan 0 jika jendela tidak memilikinya.
CWnd::GetWindowedChildCount
Panggil fungsi anggota ini untuk mengambil jumlah jendela anak terkait.
long GetWindowedChildCount();
Tampilkan Nilai
Jumlah jendela anak yang CWnd terkait dengan objek.
CWnd::GetWindowDC
Mengambil konteks tampilan untuk seluruh jendela, termasuk bilah keterangan, menu, dan bilah gulir.
CDC* GetWindowDC();
Tampilkan Nilai
Mengidentifikasi konteks tampilan untuk jendela yang diberikan jika fungsi berhasil; jika tidak NULL.
Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti. ReleaseDC harus dipanggil sekali untuk setiap panggilan yang berhasil ke GetWindowDC.
Keterangan
Konteks tampilan jendela mengizinkan pengecatan di mana saja di CWnd, karena asal konteks adalah sudut kiri atas alih-alih CWnd area klien.
Atribut default ditetapkan ke konteks tampilan setiap kali mengambil konteks. Atribut sebelumnya hilang.
GetWindowDC dimaksudkan untuk digunakan untuk efek lukisan khusus di CWnd dalam area nonkelola. Pengecatan di area nonkelola dari jendela apa pun tidak disarankan.
Fungsi GetSystemMetrics Windows dapat digunakan untuk mengambil dimensi berbagai bagian area nonkelola, seperti bilah keterangan, menu, dan bilah gulir.
Setelah lukisan selesai, ReleaseDC fungsi anggota harus dipanggil untuk merilis konteks tampilan. Kegagalan untuk merilis konteks tampilan akan secara serius memengaruhi lukisan yang diminta oleh aplikasi karena keterbatasan jumlah konteks perangkat yang dapat terbuka pada saat yang sama.
CWnd::GetWindowInfo
Mengambil informasi tentang jendela.
BOOL GetWindowInfo(PWINDOWINFO pwi) const;
Parameter
pwi
Penunjuk ke WINDOWINFO struktur.
Keterangan
Fungsi anggota ini menimulasi fungsionalitas fungsi GetWindowInfo, seperti yang dijelaskan dalam Windows SDK.
CWnd::GetWindowlessChildCount
Mengambil jumlah jendela anak tanpa jendela terkait.
long GetWindowlessChildCount();
Tampilkan Nilai
Jumlah jendela anak tanpa jendela yang CWnd terkait dengan objek.
CWnd::GetWindowPlacement
Mengambil status pertunjukan dan posisi normal (dipulihkan), diminimalkan, dan dimaksimalkan dari jendela.
BOOL GetWindowPlacement(WINDOWPLACEMENT* lpwndpl) const;
Parameter
lpwndpl
Menunjuk ke WINDOWPLACEMENT struktur yang menerima informasi status acara dan posisi.
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Anggota flags struktur yang WINDOWPLACEMENT diambil oleh fungsi ini selalu 0. Jika CWnd dimaksimalkan, showCmd anggota adalah WINDOWPLACEMENT SW_SHOWMAXIMIZED. Jika jendela diminimalkan, itu adalah SW_SHOWMINIMIZED. Hal ini SW_SHOWNORMAL sebaliknya.
CWnd::GetWindowRect
Menyalin dimensi persegi panjang CWnd pembatas objek ke struktur yang ditujukkan oleh lpRect.
void GetWindowRect(LPRECT lpRect) const;
Parameter
lpRect
Arahkan ke CRect objek atau RECT struktur yang akan menerima koordinat layar sudut kiri atas dan kanan bawah.
Keterangan
Dimensi diberikan dalam koordinat layar relatif terhadap sudut kiri atas layar tampilan. Dimensi bilah keterangan, batas, dan gulir, jika ada, disertakan.
CWnd::GetWindowRgn
Panggil fungsi anggota ini untuk mendapatkan wilayah jendela jendela.
int GetWindowRgn(HRGN hRgn)const;
Parameter
hRgn
Handel ke wilayah jendela.
Tampilkan Nilai
Nilai pengembalian menentukan jenis wilayah yang diperoleh fungsi. Jenis dapat berupa salah satu dari nilai berikut:
NULLREGIONWilayah kosong.SIMPLEREGIONWilayah ini adalah persegi panjang tunggal.COMPLEXREGIONWilayah ini lebih dari satu persegi panjang.ERRORTerjadi 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_BYCOMMANDMenafsirkannIDHiliteItemsebagai ID item menu (interpretasi default).MF_BYPOSITIONMenafsirkannIDHiliteItemsebagai offset berbasis nol dari item menu.MF_HILITEMenyoroti item. Jika nilai ini tidak diberikan, sorotan akan dihapus dari item.MF_UNHILITEMenghapus 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 |
|---|---|
![]() |
MB_ICONHAND, MB_ICONSTOP, dan MB_ICONERROR |
![]() |
MB_ICONQUESTION |
![]() |
MB_ICONEXCLAMATION dan MB_ICONWARNING |
![]() |
MB_ICONASTERISK dan MB_ICONINFORMATION |
Contoh
void CMainFrame::OnDisplayErrorMessage()
{
// This displays a message box with the title "Error"
// and the message "Help, Something went wrong."
// The error icon is displayed in the message box, along with
// an OK button.
MessageBox(_T("Help, Something went wrong."), _T("Error"),
MB_ICONERROR | MB_OK);
}
CWnd::ModifyStyle
Panggil fungsi anggota ini untuk mengubah gaya jendela.
BOOL ModifyStyle(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags = 0);
Parameter
dwRemove
Menentukan gaya jendela yang akan dihapus selama modifikasi gaya.
dwAdd
Menentukan gaya jendela yang akan ditambahkan selama modifikasi gaya.
nFlags
Bendera yang akan diteruskan ke SetWindowPos, atau nol jika SetWindowPos tidak boleh dipanggil. Defaultnya adalah nol. Lihat bagian Komentar untuk daftar bendera prasetel.
Tampilkan Nilai
Bukan nol jika gaya berhasil dimodifikasi; jika tidak, 0.
Keterangan
Gaya yang akan ditambahkan atau dihapus dapat dikombinasikan dengan menggunakan operator bitwise OR (|). Lihat topik Gaya Jendela dan CreateWindow di Windows SDK untuk informasi tentang gaya jendela yang tersedia.
Jika nFlags bukan nol, ModifyStyle memanggil fungsi SetWindowPos Windows API dan menggambar ulang jendela dengan menggabungkan nFlags dengan empat bendera prasetel berikut:
SWP_NOSIZEMempertahankan ukuran saat ini.SWP_NOMOVEMempertahankan posisi saat ini.SWP_NOZORDERMempertahankan urutan Z saat ini.SWP_NOACTIVATETidak 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_NOSIZEMempertahankan ukuran saat ini.SWP_NOMOVEMempertahankan posisi saat ini.SWP_NOZORDERMempertahankan urutan Z saat ini.SWP_NOACTIVATETidak 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_INACTIVEJendela sedang dinonaktifkan.WA_ACTIVEJendela sedang diaktifkan melalui beberapa metode selain klik mouse (misalnya, dengan menggunakan antarmuka keyboard untuk memilih jendela).WA_CLICKACTIVEJendela 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 cmd lParam parameter WM_APPCOMMAND.
nDevice
[di] Perangkat input yang menghasilkan peristiwa input. Untuk daftar nilai yang mungkin, lihat perangkat di bawah bagian uDevice lParam parameter WM_APPCOMMAND.
nKey
[di] Menunjukkan tombol virtual apa pun yang tidak berfungsi, seperti tombol CTRL atau tombol mouse kiri. Untuk daftar nilai yang mungkin, lihat kunci di bawah bagian dwKeys lParam parameter WM_APPCOMMAND. Untuk informasi selengkapnya, lihat subjudul "Parameter Pesan" di Tentang Input Mouse.
Keterangan
Metode ini menerima WM_APPCOMMAND pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnAskCbFormatName
Kerangka kerja memanggil fungsi anggota ini ketika Clipboard berisi handel data untuk CF_OWNERDISPLAY format (yaitu, ketika pemilik Clipboard akan menampilkan konten Clipboard).
afx_msg void OnAskCbFormatName(
UINT nMaxCount,
LPTSTR lpszString);
Parameter
nMaxCount
Menentukan jumlah maksimum byte yang akan disalin.
lpszString
Arahkan ke buffer tempat salinan nama format akan disimpan.
Keterangan
Pemilik Clipboard harus memberikan nama untuk formatnya.
Ambil alih fungsi anggota ini dan salin nama CF_OWNERDISPLAY format ke dalam buffer yang ditentukan, tidak melebihi jumlah maksimum byte yang ditentukan.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnCancelMode
Kerangka kerja memanggil fungsi anggota ini untuk menginformasikan CWnd untuk membatalkan mode internal apa pun.
afx_msg void OnCancelMode();
Keterangan
CWnd Jika objek memiliki fokus, fungsi anggotanya OnCancelMode dipanggil saat kotak dialog atau kotak pesan ditampilkan. Ini memberikan CWnd kesempatan untuk membatalkan mode seperti pengambilan mouse.
Implementasi default merespons dengan memanggil ReleaseCapture fungsi Windows. Ambil alih fungsi anggota ini di kelas turunan Anda untuk menangani mode lain.
CWnd::OnCaptureChanged
Kerangka kerja memanggil fungsi anggota ini untuk memberi tahu jendela yang kehilangan tangkapan mouse.
afx_msg void OnCaptureChanged(CWnd* pWnd);
Parameter
pWnd
Penunjuk ke jendela untuk mendapatkan tangkapan mouse
Keterangan
Jendela menerima pesan ini bahkan jika memanggil ReleaseCapture dirinya sendiri. Aplikasi tidak boleh mencoba mengatur tangkapan mouse sebagai respons terhadap pesan ini. Ketika menerima pesan ini, jendela harus menggambar ulang dirinya sendiri, jika perlu, untuk mencerminkan status pengambilan mouse baru.
Lihat Windows SDK untuk informasi tentang ReleaseCapture fungsi Windows.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnChangeCbChain
Kerangka kerja memanggil fungsi anggota ini untuk setiap jendela dalam rantai Penampil Clipboard untuk memberi tahunya bahwa jendela sedang dihapus dari rantai.
afx_msg void OnChangeCbChain(
HWND hWndRemove,
HWND hWndAfter);
Parameter
hWndRemove
Menentukan handel jendela yang sedang dihapus dari rantai Penampil Clipboard.
hWndAfter
Menentukan handel jendela yang mengikuti jendela yang dihapus dari rantai Penampil Clipboard.
Keterangan
Setiap CWnd objek yang menerima OnChangeCbChain panggilan harus menggunakan SendMessage fungsi Windows untuk mengirim WM_CHANGECBCHAIN pesan ke jendela berikutnya dalam rantai Penampil Clipboard (handel yang dikembalikan oleh SetClipboardViewer). Jika hWndRemove adalah jendela berikutnya dalam rantai, jendela yang ditentukan oleh hWndAfter menjadi jendela berikutnya, dan pesan Clipboard diteruskan ke dalamnya.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnChangeUIState
Dipanggil ketika status antarmuka pengguna (UI) harus diubah.
afx_msg void OnChangeUIState(
UINT nAction,
UINT nUIElement);
Parameter
nAction
Menentukan tindakan yang akan diambil. Dapat berupa salah satu dari nilai berikut:
UIS_CLEARElemen status UI (ditentukan olehnUIElement) harus disembunyikan.UIS_INITIALIZEElemen status UI (ditentukan olehnUIElement) harus diubah berdasarkan peristiwa input terakhir. Untuk informasi selengkapnya, lihat bagian Keterangan dariWM_CHANGEUISTATE.UIS_SETElemen status UI (ditentukan olehnUIElement) harus terlihat.
nUIElement
Menentukan elemen status UI mana yang terpengaruh atau gaya kontrol. Dapat berupa salah satu dari nilai berikut:
UISF_HIDEACCELAkselerator keyboard.UISF_HIDEFOCUSIndikator fokus.UISF_ACTIVEWindows 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_BTNKontrol tombolCTLCOLOR_DLGKotak dialogCTLCOLOR_EDITEdit kontrolCTLCOLOR_LISTBOXKontrol kotak daftarCTLCOLOR_MSGBOXKotak pesanCTLCOLOR_SCROLLBARKontrol bilah gulirCTLCOLOR_STATICKontrol 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:
DBT_DEVICEARRIVALPerangkat telah disisipkan dan sekarang tersedia.DBT_DEVICEQUERYREMOVEIzin untuk menghapus perangkat diminta. Aplikasi apa pun dapat menolak permintaan ini dan membatalkan penghapusan.DBT_DEVICEQUERYREMOVEFAILEDPermintaan untuk menghapus perangkat telah dibatalkan.DBT_DEVICEREMOVEPENDINGPerangkat akan dihapus. Tidak dapat ditolak.DBT_DEVICEREMOVECOMPLETEPerangkat telah dihapus.DBT_DEVICETYPESPECIFICPeristiwa khusus perangkat.DBT_CONFIGCHANGEDKonfigurasi saat ini telah berubah.DBT_DEVNODES_CHANGEDSimpul perangkat telah berubah.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnDevModeChange
Kerangka kerja memanggil fungsi anggota ini untuk semua objek tingkat CWnd atas saat pengguna mengubah pengaturan mode perangkat.
afx_msg void OnDevModeChange(LPTSTR lpDeviceName);
Parameter
lpDeviceName
Arahkan ke nama perangkat yang ditentukan dalam file inisialisasi Windows, WIN.INI.
Keterangan
Aplikasi yang menangani WM_DEVMODECHANGE pesan dapat menginisialisasi ulang pengaturan mode perangkat mereka. Aplikasi yang menggunakan fungsi Windows ExtDeviceMode untuk menyimpan dan memulihkan pengaturan perangkat biasanya tidak memproses fungsi ini.
Fungsi ini tidak dipanggil ketika pengguna mengubah printer default dari Panel Kontrol. Dalam hal ini, fungsi dipanggil OnWinIniChange .
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnDrawClipboard
Kerangka kerja memanggil fungsi anggota ini untuk setiap jendela dalam rantai Penampil Clipboard saat konten Clipboard berubah.
afx_msg void OnDrawClipboard();
Keterangan
Hanya aplikasi yang telah bergabung dengan rantai penampil Clipboard dengan memanggil fungsi anggota yang SetClipboardViewer perlu merespons panggilan ini.
Setiap jendela yang menerima OnDrawClipboard panggilan harus memanggil SendMessage fungsi Windows untuk meneruskan WM_DRAWCLIPBOARD pesan ke jendela berikutnya di rantai Penampil Clipboard. Handel jendela berikutnya dikembalikan oleh SetClipboardViewer fungsi anggota; dapat dimodifikasi sebagai respons terhadap OnChangeCbChain panggilan fungsi anggota.
CWnd::OnDrawIconicThumbnailOrLivePreview
Dipanggil oleh kerangka kerja ketika perlu mendapatkan bitmap untuk ditampilkan pada gambar mini tab Windows 7, atau pada klien untuk mengintip aplikasi.
virtual void OnDrawIconicThumbnailOrLivePreview(
CDC& dc,
CRect rect,
CSize szRequiredThumbnailSize,
BOOL bIsThumbnail,
BOOL& bAlphaChannelSet);
Parameter
dc
Menentukan konteks perangkat.
rect
Menentukan persegi panjang batas area yang akan dirender.
szRequiredThumbnailSize
Menentukan ukuran gambar mini target. Harus diabaikan jika bIsThumbnail adalah FALSE.
bIsThumbnail
Menentukan apakah metode ini dipanggil untuk gambar mini ikonik atau pratinjau langsung (intip).
bAlphaChannelSet
[out] Atur ke TRUE jika implementasi Anda menginisialisasi saluran alfa bitmap yang dipilih di dc.
Keterangan
Ambil alih metode ini dalam kelas turunan dan gambar pada konteks perangkat yang ditentukan untuk menyesuaikan gambar mini dan mengintip. Jika bThumbnail adalah TRUE, szRequiredThumbnailSize dapat diabaikan. Dalam hal ini Anda harus menyadari bahwa Anda menggambar bitmap berukuran penuh (yaitu, bitmap yang mencakup seluruh area klien). Konteks perangkat (dc) dilengkapi dengan bitmap 32 bit yang dipilih. Implementasi default dikirim WM_PRINT ke jendela ini dengan PRF_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 itemAction DRAWITEMSTRUCT struktur mendefinisikan operasi menggambar yang akan dilakukan. Data dalam anggota ini memungkinkan pemilik kontrol untuk menentukan tindakan gambar apa yang diperlukan.
Sebelum kembali dari pemrosesan pesan ini, aplikasi harus memastikan bahwa konteks perangkat yang diidentifikasi oleh hDC anggota DRAWITEMSTRUCT struktur dipulihkan ke status default.
hwndItem Jika anggota milik 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_DIALOGBOXSistem menganggur karena kotak dialog sedang ditampilkan.MSGF_MENUSistem 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_BUTTONTombol (generik).DLGC_DEFPUSHBUTTONTombol dorong default.DLGC_HASSETSELEM_SETSELPesan.DLGC_UNDEFPUSHBUTTONTidak ada pemrosesan tombol dorong default. (Aplikasi dapat menggunakan bendera ini denganDLGC_BUTTONuntuk menunjukkan bahwa aplikasi memproses input tombol tetapi bergantung pada sistem untuk pemrosesan tombol dorong default.)DLGC_RADIOBUTTONTombol radio.DLGC_STATICKontrol statis.DLGC_WANTALLKEYSSemua input keyboard.DLGC_WANTARROWSTombol panah.DLGC_WANTCHARSWM_CHARPesan.DLGC_WANTMESSAGESemua input keyboard. Aplikasi meneruskan pesan ini ke kontrol.DLGC_WANTTABKunci 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_LEFTGulir ke paling kiri.SB_ENDSCROLLAkhiri gulir.SB_LINELEFTGulir ke kiri.SB_LINERIGHTGulir ke kanan.SB_PAGELEFTGulir satu halaman ke kiri.SB_PAGERIGHTGulir satu halaman ke kanan.SB_RIGHTGulir ke ujung kanan.SB_THUMBPOSITIONGulir ke posisi absolut. Posisi saat ini ditentukan olehnPosparameter .SB_THUMBTRACKSeret kotak gulir ke posisi yang ditentukan. Posisi saat ini ditentukan olehnPosparameter .
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_BOTTOMGulir ke kanan bawah.SB_ENDSCROLLAkhiri gulir.SB_LINEDOWNGulir satu baris ke bawah.SB_LINEUPGulir satu baris ke atas.SB_PAGEDOWNGulir satu halaman ke bawah.SB_PAGEUPGulir satu halaman ke atas.SB_THUMBPOSITIONGulir ke posisi absolut. Posisi saat ini disediakan dalamnPos.SB_TOPGulir 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_CONTROLAtur jika tombol CTRL tidak berfungsi.MK_LBUTTONAtur jika tombol mouse kiri tidak berfungsi.MK_MBUTTONAtur jika tombol mouse tengah tidak berfungsi.MK_RBUTTONAtur jika tombol kanan mouse tidak berfungsi.MK_SHIFTAtur jika tombol SHIFT tidak berfungsi.
point
Menentukan koordinat x dan y kursor. Koordinat ini selalu relatif terhadap sudut kiri atas jendela.
Keterangan
Hanya jendela yang memiliki gaya yang CS_DBLCLKS WNDCLASS akan menerima OnLButtonDblClk panggilan. Ini adalah default untuk jendela Kelas Microsoft Foundation. Windows memanggil OnLButtonDblClk ketika pengguna menekan, melepaskan, lalu menekan tombol mouse kiri lagi dalam batas waktu klik ganda sistem. Mengklik dua kali tombol mouse kiri benar-benar menghasilkan empat peristiwa: WM_LBUTTONDOWN, pesan, WM_LBUTTONDBLCLK panggilan, dan pesan lain WM_LBUTTONUP WM_LBUTTONUP saat tombol dirilis.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnLButtonDown
Kerangka kerja memanggil fungsi anggota ini ketika pengguna menekan tombol mouse kiri.
afx_msg void OnLButtonDown(
UINT nFlags,
CPoint point);
Parameter
nFlags
Menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini dapat berupa kombinasi apa pun dari nilai berikut:
MK_CONTROLAtur jika tombol CTRL tidak berfungsi.MK_LBUTTONAtur jika tombol mouse kiri tidak berfungsi.MK_MBUTTONAtur jika tombol mouse tengah tidak berfungsi.MK_RBUTTONAtur jika tombol kanan mouse tidak berfungsi.MK_SHIFTAtur 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_CONTROLAtur jika tombol CTRL tidak berfungsi.MK_MBUTTONAtur jika tombol mouse tengah tidak berfungsi.MK_RBUTTONAtur jika tombol kanan mouse tidak berfungsi.MK_SHIFTAtur 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_CONTROLAtur jika tombol CTRL tidak berfungsi.MK_LBUTTONAtur jika tombol mouse kiri tidak berfungsi.MK_MBUTTONAtur jika tombol mouse tengah tidak berfungsi.MK_RBUTTONAtur jika tombol kanan mouse tidak berfungsi.MK_SHIFTAtur jika tombol SHIFT tidak berfungsi.
point
Menentukan koordinat x dan y kursor. Koordinat ini selalu relatif terhadap sudut kiri atas jendela.
Keterangan
Hanya jendela yang memiliki gaya yang CS_DBLCLKS WNDCLASS akan menerima OnMButtonDblClk panggilan. Ini adalah default untuk semua jendela Kelas Microsoft Foundation. Windows menghasilkan OnMButtonDblClk panggilan ketika pengguna menekan, melepaskan, lalu menekan tombol mouse tengah lagi dalam batas waktu klik ganda sistem. Mengklik dua kali tombol mouse tengah benar-benar menghasilkan empat peristiwa: WM_MBUTTONDOWN dan pesan, WM_MBUTTONDBLCLK panggilan, dan pesan lain WM_MBUTTONUP WM_MBUTTONUP.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnMButtonDown
Kerangka kerja memanggil fungsi anggota ini ketika pengguna menekan tombol mouse tengah.
afx_msg void OnMButtonDown(
UINT nFlags,
CPoint point);
Parameter
nFlags
Menunjukkan apakah berbagai kunci virtual tidak berfungsi. Parameter ini dapat berupa kombinasi apa pun dari nilai berikut:
MK_CONTROLAtur jika tombol CTRL tidak berfungsi.MK_LBUTTONAtur jika tombol mouse kiri tidak berfungsi.MK_MBUTTONAtur jika tombol mouse tengah tidak berfungsi.MK_RBUTTONAtur jika tombol kanan mouse tidak berfungsi.MK_SHIFTAtur 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_CONTROLAtur jika tombol CTRL tidak berfungsi.MK_LBUTTONAtur jika tombol mouse kiri tidak berfungsi.MK_RBUTTONAtur jika tombol kanan mouse tidak berfungsi.MK_SHIFTAtur 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_BITMAPItem adalah bitmap.MF_CHECKEDItem dicentang.MF_DISABLEDItem dinonaktifkan.MF_GRAYEDItem diredupkan.MF_MOUSESELECTItem dipilih dengan mouse.MF_OWNERDRAWItem adalah item gambar pemilik.MF_POPUPItem berisi menu pop-up.MF_SEPARATORItem adalah pemisah item menu.MF_SYSMENUItem 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_ACTIVATEAktifkanCWndobjek.MA_NOACTIVATEJangan aktifkanCWndobjek.MA_ACTIVATEANDEATAktifkanCWndobjek dan buang peristiwa mouse.MA_NOACTIVATEANDEATJangan aktifkanCWndobjek 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_CONTROLAtur jika tombol CTRL tidak berfungsi.MK_LBUTTONAtur jika tombol mouse kiri tidak berfungsi.MK_MBUTTONAtur jika tombol mouse tengah tidak berfungsi.MK_RBUTTONAtur jika tombol kanan mouse tidak berfungsi.MK_SHIFTAtur 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_CONTROLAtur jika tombol CTRL tidak berfungsi.MK_LBUTTONAtur jika tombol mouse kiri tidak berfungsi.MK_MBUTTONAtur jika tombol mouse tengah tidak berfungsi.MK_RBUTTONAtur jika tombol kanan mouse tidak berfungsi.MK_SHIFTAtur 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 dalamWM_NOTIFYpesan. Pesan ini dikirim dari kontrol ke jendela induknya selama pembuatan kontrol, dan sebagai respons terhadapNF_REQUERYbentuk pesan ini.NF_REQUERY- Pesan adalah permintaan kontrol untuk mengirimNF_QUERYformulir pesan ini ke jendela induknya. Permintaan ini dikirim dari jendela induk, dan meminta kontrol untuk mengkueri kembali induk tentang jenis struktur yang akan digunakan dalamWM_NOTIFYpesan.nCommandJika parameter adalahNF_REQUERY, nilai yang dikembalikan adalah hasil dari operasi kueri ulang.
Tampilkan Nilai
| Nilai hasil | Makna |
|---|---|
NFR_ANSI |
Struktur ANSI harus digunakan dalam WM_NOTIFY pesan yang dikirim oleh kontrol. |
NFR_UNICODE |
Struktur Unicode harus digunakan dalam WM_NOTIFY pesan yang dikirim oleh kontrol. |
| 0 | Terjadi kesalahan. |
Keterangan
Metode ini menerima WM_NOTIFYFORMAT pemberitahuan, yang dijelaskan di Windows SDK. WM_NOTIFY pesan dikirim dari kontrol umum ke jendela induknya, dan dari jendela induk ke kontrol umum.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnPaint
Kerangka kerja memanggil fungsi anggota ini ketika Windows atau aplikasi membuat permintaan untuk mengecat ulang sebagian jendela aplikasi.
afx_msg void OnPaint();
Keterangan
Pesan WM_PAINT dikirim ketika UpdateWindow fungsi atau RedrawWindow anggota dipanggil.
Jendela mungkin menerima pesan cat internal sebagai akibat dari memanggil RedrawWindow fungsi anggota dengan RDW_INTERNALPAINT set bendera. Dalam hal ini, jendela mungkin tidak memiliki wilayah pembaruan. Aplikasi harus memanggil GetUpdateRect fungsi anggota untuk menentukan apakah jendela memiliki wilayah pembaruan. Jika GetUpdateRect mengembalikan 0, aplikasi tidak boleh memanggil BeginPaint fungsi anggota dan EndPaint .
Ini adalah tanggung jawab aplikasi untuk memeriksa pengecatan ulang internal atau pembaruan yang diperlukan dengan melihat struktur data internalnya untuk setiap WM_PAINT pesan karena pesan WM_PAINT mungkin disebabkan oleh area yang tidak valid dan panggilan ke RedrawWindow fungsi anggota dengan RDW_INTERNALPAINT set bendera.
Pesan internal WM_PAINT dikirim hanya sekali oleh Windows. Setelah pesan internal WM_PAINT dikirim ke jendela oleh UpdateWindow fungsi anggota, tidak ada pesan lebih lanjut WM_PAINT yang akan dikirim atau diposting hingga jendela tidak valid atau sampai RedrawWindow fungsi anggota dipanggil lagi dengan RDW_INTERNALPAINT set bendera.
Untuk informasi tentang penyajian gambar dalam aplikasi dokumen/tampilan, lihat CView::OnDraw.
Untuk informasi selengkapnya tentang menggunakan WM_Paint, lihat topik berikut ini di Windows SDK:
CWnd::OnPaintClipboard
Fungsi anggota pemilik OnPaintClipboard Clipboard dipanggil oleh penampil Clipboard ketika pemilik Clipboard telah menempatkan data di Clipboard dalam CF_OWNERDISPLAY format dan area klien penampil Clipboard perlu dicat ulang.
afx_msg void OnPaintClipboard(
CWnd* pClipAppWnd,
HGLOBAL hPaintStruct);
Parameter
pClipAppWnd
Menentukan penunjuk ke jendela Clipboard-application. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan untuk digunakan nanti.
hPaintStruct
PAINTSTRUCT Mengidentifikasi struktur data yang menentukan bagian apa dari area klien yang akan dicat.
Keterangan
Untuk menentukan apakah seluruh area klien atau hanya sebagian perlu pengecatan ulang, pemilik Clipboard harus membandingkan dimensi area gambar yang diberikan dalam rcpaint anggota PAINTSTRUCT struktur dengan dimensi yang diberikan dalam panggilan fungsi anggota terbaru OnSizeClipboard .
OnPaintClipboard harus menggunakan GlobalLock fungsi Windows untuk mengunci memori yang berisi PAINTSTRUCT struktur data dan membuka kunci memori tersebut GlobalUnlock dengan fungsi Windows sebelum keluar.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnPaletteChanged
Kerangka kerja memanggil fungsi anggota ini untuk semua jendela tingkat atas setelah jendela dengan fokus input telah mewujudkan palet logisnya, sehingga mengubah palet sistem.
afx_msg void OnPaletteChanged(CWnd* pFocusWnd);
Parameter
pFocusWnd
Menentukan penunjuk ke jendela yang menyebabkan palet sistem berubah. Penunjuk mungkin bersifat sementara dan tidak boleh disimpan.
Keterangan
Panggilan ini memungkinkan jendela tanpa fokus input yang menggunakan palet warna untuk mewujudkan palet logisnya dan memperbarui area kliennya.
Fungsi OnPaletteChanged anggota dipanggil untuk semua jendela tingkat atas dan tumpang tindih, termasuk yang mengubah palet sistem dan menyebabkan WM_PALETTECHANGED pesan dikirim. Jika ada jendela anak yang menggunakan palet warna, pesan ini harus diteruskan ke jendela tersebut.
Untuk menghindari perulangan tak terbatas, jendela tidak boleh menyadari paletnya kecuali menentukan bahwa pFocusWnd tidak berisi penunjuk ke dirinya sendiri.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnPaletteIsChanging
Kerangka kerja memanggil fungsi anggota ini untuk memberi tahu aplikasi bahwa aplikasi akan mewujudkan palet logisnya.
afx_msg void OnPaletteIsChanging(CWnd* pRealizeWnd);
Parameter
pRealizeWnd
Menentukan jendela yang akan mewujudkan palet logisnya.
Keterangan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnParentNotify
Fungsi anggota induk OnParentNotify dipanggil oleh kerangka kerja ketika jendela turunannya dibuat atau dihancurkan, atau ketika pengguna mengklik tombol mouse saat kursor berada di atas jendela anak.
afx_msg void OnParentNotify(
UINT message,
LPARAM lParam);
Parameter
message
Menentukan peristiwa yang diberitahukan induk dan pengidentifikasi jendela anak. Peristiwa ini adalah kata berurutan rendah dari message. Jika peristiwa adalah WM_CREATE atau WM_DESTROY, kata urutan tinggi adalah message pengidentifikasi jendela anak; jika tidak, kata urutan tinggi tidak ditentukan. Peristiwa (kata messageurutan rendah ) dapat berupa salah satu nilai ini:
WM_CREATEJendela anak sedang dibuat.WM_DESTROYJendela anak sedang dihancurkan.WM_LBUTTONDOWNPengguna telah menempatkan kursor mouse di atas jendela anak dan mengklik tombol mouse kiri.WM_MBUTTONDOWNPengguna telah menempatkan kursor mouse di atas jendela anak dan mengklik tombol mouse tengah.WM_RBUTTONDOWNPengguna telah menempatkan kursor mouse di atas jendela anak dan mengklik tombol kanan mouse.
lParam
Jika peristiwa (kata urutan rendah) adalah message WM_CREATE atau WM_DESTROY, lParam menentukan handel jendela jendela anak; jika tidak lParam , berisi koordinat x dan y kursor. Koordinat x berada dalam kata berurutan rendah dan koordinat y berada dalam kata berurutan tinggi.
Keterangan
Ketika jendela anak sedang dibuat, sistem memanggil OnParentNotify tepat sebelum Create fungsi anggota yang membuat jendela kembali. Ketika jendela anak sedang dihancurkan, sistem memanggil OnParentNotify sebelum pemrosesan apa pun terjadi untuk menghancurkan jendela.
OnParentNotify dipanggil untuk semua jendela leluhur jendela anak, termasuk jendela tingkat atas.
Semua jendela anak kecuali yang memiliki WS_EX_NOPARENTNOTIFY gaya mengirim pesan ini ke jendela induknya. Secara default, jendela anak dalam kotak dialog memiliki WS_EX_NOPARENTNOTIFY gaya kecuali jendela anak dibuat tanpa gaya ini dengan memanggil CreateEx fungsi anggota.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnPowerBroadcast
Kerangka kerja memanggil fungsi anggota ini ketika peristiwa manajemen daya terjadi.
afx_msg UINT OnPowerBroadcast(
UINT nPowerEvent,
UINT nEventData);
Parameter
nPowerEvent
[di] Peristiwa manajemen daya.
nEventData
[di] Data khusus peristiwa.
Tampilkan Nilai
Jika peristiwa adalah permintaan, kembali TRUE untuk memberikan permintaan, atau BROADCAST_QUERY_DENY untuk menolak permintaan.
Keterangan
Metode ini menerima WM_POWERBROADCAST pesan, yang dijelaskan dalam Windows SDK.
Parameter nPowerEvent menentukan peristiwa seperti daya baterai rendah, status daya telah berubah, izin untuk menangguhkan operasi diminta atau ditolak, operasi dilanjutkan secara otomatis setelah peristiwa, sistem menangguhkan operasi, atau operasi dilanjutkan setelah penangguhan. Parameter nEventData biasanya tidak digunakan. Untuk informasi selengkapnya, lihat wParam parameter WM_POWERBROADCAST dan lParam pesan.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnQueryDragIcon
Kerangka kerja memanggil fungsi anggota ini oleh jendela yang diminimalkan (ikon) yang tidak memiliki ikon yang ditentukan untuk kelasnya.
afx_msg HCURSOR OnQueryDragIcon();
Tampilkan Nilai
Nilai kata ganda yang berisi kursor atau handel ikon dalam kata berurutan rendah. Kursor atau ikon harus kompatibel dengan resolusi driver tampilan. Jika aplikasi mengembalikan NULL, sistem akan menampilkan kursor default. Nilai pengembalian default adalah NULL.
Keterangan
Sistem melakukan panggilan ini untuk mendapatkan kursor yang akan ditampilkan saat pengguna menyeret jendela yang diminimalkan. Jika aplikasi mengembalikan handel ikon atau kursor, sistem akan mengonversinya menjadi hitam-putih. Jika aplikasi mengembalikan handel, handel harus mengidentifikasi kursor atau ikon monokrom yang kompatibel dengan resolusi driver tampilan. Aplikasi dapat memanggil CWinApp::LoadCursor fungsi anggota atau CWinApp::LoadIcon untuk memuat kursor atau ikon dari sumber daya dalam file yang dapat dieksekusi dan untuk mendapatkan handel ini.
CWnd::OnQueryEndSession
Kerangka kerja memanggil fungsi anggota ini ketika pengguna memilih untuk mengakhiri sesi Windows atau ketika aplikasi memanggil ExitWindows fungsi Windows.
afx_msg BOOL OnQueryEndSession();
Tampilkan Nilai
Nonzero jika aplikasi dapat dimatikan dengan mudah; jika tidak, 0.
Keterangan
Jika ada aplikasi yang mengembalikan 0, sesi Windows tidak berakhir. Windows berhenti memanggil OnQueryEndSession segera setelah satu aplikasi mengembalikan 0 dan mengirim WM_ENDSESSION pesan dengan nilai FALSE parameter untuk aplikasi apa pun yang telah mengembalikan nonzero.
CWnd::OnQueryNewPalette
Kerangka kerja memanggil fungsi anggota ini ketika CWnd objek akan menerima fokus input, memberikan CWnd kesempatan untuk mewujudkan palet logisnya ketika menerima fokus.
afx_msg BOOL OnQueryNewPalette();
Tampilkan Nilai
Bukan nol jika CWnd menyadari palet logisnya; jika tidak, 0.
CWnd::OnQueryOpen
Kerangka kerja memanggil fungsi anggota ini ketika objek diminimalkan CWnd dan pengguna meminta agar CWnd dipulihkan ke ukuran dan posisi yang telah ditentukan sebelumnya.
afx_msg BOOL OnQueryOpen();
Tampilkan Nilai
Bukan nol jika ikon dapat dibuka, atau 0 untuk mencegah ikon dibuka.
Keterangan
Saat berada di OnQueryOpen, CWnd tidak boleh melakukan tindakan apa pun yang akan menyebabkan aktivasi atau perubahan fokus (misalnya, membuat kotak dialog).
CWnd::OnQueryUIState
Dipanggil untuk mengambil status antarmuka pengguna (UI) untuk jendela.
afx_msg UINT OnQueryUIState();
Tampilkan Nilai
Nilai yang dikembalikan adalah NULL jika indikator fokus dan akselerator keyboard terlihat. Jika tidak, nilai yang dikembalikan bisa berupa satu atau beberapa nilai berikut:
UISF_HIDEFOCUSIndikator fokus disembunyikan.UISF_HIDEACCELAkselerator keyboard tersembunyi.UISF_ACTIVEWindows 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_CONTROLAtur jika tombol CTRL tidak berfungsi.MK_LBUTTONAtur jika tombol kiri mouse tidak berfungsi.MK_MBUTTONAtur jika tombol mouse tengah tidak berfungsi.MK_RBUTTONAtur jika tombol kanan mouse tidak berfungsi.MK_SHIFTAtur 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_CONTROLAtur jika tombol CTRL tidak berfungsi.MK_LBUTTONAtur jika tombol kiri mouse tidak berfungsi.MK_MBUTTONAtur jika tombol mouse tengah tidak berfungsi.MK_RBUTTONAtur jika tombol kanan mouse tidak berfungsi.MK_SHIFTAtur 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_CONTROLAtur jika tombol CTRL tidak berfungsi.MK_LBUTTONAtur jika tombol kiri mouse tidak berfungsi.MK_MBUTTONAtur jika tombol mouse tengah tidak berfungsi.MK_SHIFTAtur 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_SETTINGCHANGEsaat menjalankan Windows NT 4.0 atau yang lebih baru, atau di bawah Windows 95/98.Gunakan
ON_WININICHANGEsaat 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_PARENTCLOSINGJendela induk ditutup (dibuat ikonik) atau jendela pop-up sedang disembunyikan.SW_PARENTOPENINGJendela 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_MAXIMIZEDJendela telah dimaksimalkan.SIZE_MINIMIZEDJendela telah diminimalkan.SIZE_RESTOREDJendela telah diubah ukurannya, tetapi tidak jugaSIZE_MINIMIZEDSIZE_MAXIMIZEDtidak berlaku.SIZE_MAXHIDEPesan dikirim ke semua jendela pop-up ketika beberapa jendela lain dimaksimalkan.SIZE_MAXSHOWPesan 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_EXSTYLEGaya jendela yang diperluas telah berubah.GWL_STYLEGaya 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_EXSTYLEGaya jendela yang diperluas telah berubah.GWL_STYLEGaya 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_CLOSECWndTutup objek.SC_HOTKEYAktifkan objek yangCWndterkait dengan hot key yang ditentukan aplikasi. Kata berurutanlParamrendah mengidentifikasiHWNDjendela untuk diaktifkan.SC_HSCROLLGulir secara horizontal.SC_KEYMENUAmbil menu melalui penekanan tombol.SC_MAXIMIZE(atauSC_ZOOM) MemaksimalkanCWndobjek.SC_MINIMIZE(atauSC_ICON) MinimalkanCWndobjek.SC_MOUSEMENUAmbil menu melalui klik mouse.SC_MOVEPindahkanCWndobjek.SC_NEXTWINDOWPindah ke jendela berikutnya.SC_PREVWINDOWPindah ke jendela sebelumnya.SC_RESTOREPulihkan jendela ke posisi dan ukuran normal.SC_SCREENSAVEMenjalankan aplikasi screen-saver yang ditentukan di bagian [boot] fileSYSTEM.INI.SC_SIZECWndUkuran objek.SC_TASKLISTJalankan atau aktifkan aplikasi Windows Task Manager.SC_VSCROLLGulir 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_HOTKEYAktifkan jendela yang terkait dengan hot key yang ditentukan aplikasi. KatalParamurutan 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:
IDABORTPengguna mengklik tombol Batalkan yang dapat ditulis.IDCANCELPengguna mengklik tombol Batal yang dapat diotorisasi.IDCLOSEPengguna menutup kartu pelatihan.IDHELPPengguna mengklik tombol Bantuan Windows yang dapat diotorisasi.IDIGNOREPengguna mengklik tombol Abaikan yang dapat diotorisasi.IDOKPengguna mengklik tombol OK yang dapat diotorisasi.IDNOPengguna mengklik tombol Tidak yang dapat ditulis.IDRETRYPengguna mengklik tombol Coba Lagi yang dapat ditulis.HELP_TCARD_DATAPengguna mengklik tombol yang dapat diotorisasi. ParameterdwActionDataberisi bilangan bulat panjang yang ditentukan oleh penulis bantuan.HELP_TCARD_NEXTPengguna mengklik tombol Berikutnya yang dapat ditulis.HELP_TCARD_OTHER_CALLERAplikasi lain telah meminta kartu pelatihan.IDYESPengguna 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_hWndMenangani ke jendelauId=(UINT)hWndChildMenangani ke jendela anakuFlags|=TTF_IDISHWNDHandel alatlpszText=LPSTR_TEXTCALLBACKPenunjuk 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_CLEARElemen status UI (ditentukan olehnUIElement) harus disembunyikan.UIS_INITIALIZEElemen status UI (ditentukan olehnUIElement) harus diubah berdasarkan peristiwa input terakhir. Untuk informasi selengkapnya, lihat bagian Keterangan dariWM_UPDATEISTATE.UIS_SETElemen status UI (ditentukan olehnUIElement) harus terlihat.
nUIElement
Menentukan elemen status UI mana yang terpengaruh atau gaya kontrol. Dapat berupa salah satu dari nilai berikut:
UISF_HIDEACCELAkselerator keyboard.UISF_HIDEFOCUSIndikator fokus.UISF_ACTIVEWindows 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_BOTTOMGulir ke bawah.SB_ENDSCROLLAkhiri gulir.SB_LINEDOWNGulir satu baris ke bawah.SB_LINEUPGulir satu baris ke atas.SB_PAGEDOWNGulir satu halaman ke bawah.SB_PAGEUPGulir satu halaman ke atas.SB_THUMBPOSITIONGulir ke posisi absolut. Posisi saat ini disediakan dalamnPos.SB_THUMBTRACKSeret kotak gulir ke posisi yang ditentukan. Posisi saat ini disediakan dalamnPos.SB_TOPGulir 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_BOTTOMGulir ke bawah.SB_ENDSCROLLAkhiri gulir.SB_LINEDOWNGulir satu baris ke bawah.SB_LINEUPGulir satu baris ke atas.SB_PAGEDOWNGulir satu halaman ke bawah.SB_PAGEUPGulir satu halaman ke atas.SB_THUMBPOSITIONGulir ke posisi absolut. Posisi saat ini disediakan dalamnPos.SB_TOPGulir ke atas.
nPos
Berisi posisi kotak gulir jika kode bilah gulir adalah SB_THUMBPOSITION; jika nPos tidak, tidak digunakan.
Keterangan
Pemilik harus menggulir gambar Clipboard, membatalkan bagian yang sesuai, dan memperbarui nilai bilah gulir.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnWindowMaximizedChanged
Kerangka kerja memanggil anggota ini ketika jendela saat ini dimaksimalkan, dan jendela terdiri dari Desktop Window Manager (DWM).
afx_msg void OnWindowMaximizedChanged(BOOL bIsMaximized);
Parameter
bIsMaximized
[di] TRUE jika jendela saat ini dimaksimalkan, dan FALSE jika tidak.
Keterangan
Metode ini menerima WM_DWMWINDOWMAXIMIZEDCHANGE pesan pemberitahuan, yang dijelaskan di Windows SDK.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnWindowPosChanged
Kerangka kerja memanggil fungsi anggota ini ketika ukuran, posisi, atau urutan Z telah berubah sebagai akibat dari panggilan ke SetWindowPos fungsi anggota atau fungsi manajemen jendela lainnya.
afx_msg void OnWindowPosChanged(WINDOWPOS* lpwndpos);
Parameter
lpwndpos
Menunjuk ke WINDOWPOS struktur data yang berisi informasi tentang ukuran dan posisi baru jendela.
Keterangan
Implementasi default mengirimkan WM_SIZE pesan dan WM_MOVE ke jendela. Pesan-pesan ini tidak dikirim jika aplikasi menangani OnWindowPosChanged panggilan tanpa memanggil kelas dasarnya. Lebih efisien untuk melakukan pemrosesan perubahan pemindahan atau ukuran selama panggilan ke OnWindowPosChanged tanpa memanggil kelas dasarnya.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnWindowPosChanging
Kerangka kerja memanggil fungsi anggota ini ketika ukuran, posisi, atau urutan Z akan berubah sebagai akibat dari panggilan ke SetWindowPos fungsi anggota atau fungsi manajemen jendela lainnya.
afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);
Parameter
lpwndpos
Menunjuk ke WINDOWPOS struktur data yang berisi informasi tentang ukuran dan posisi baru jendela.
Keterangan
Aplikasi dapat mencegah perubahan pada jendela dengan mengatur atau menghapus bit yang sesuai dalam flags anggota WINDOWPOS struktur.
Untuk jendela dengan WS_OVERLAPPED gaya atau WS_THICKFRAME , implementasi default mengirim WM_GETMINMAXINFO pesan ke jendela. Ini dilakukan untuk memvalidasi ukuran dan posisi baru jendela dan untuk menegakkan CS_BYTEALIGNCLIENT gaya klien dan CS_BYTEALIGN . Aplikasi dapat mengambil alih fungsionalitas ini dengan tidak memanggil kelas dasarnya.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnWinIniChange
Kerangka kerja memanggil fungsi anggota ini setelah perubahan dilakukan pada file inisialisasi Windows, WIN.INI.
afx_msg void OnWinIniChange(LPCTSTR lpszSection);
Parameter
lpszSection
Menunjuk ke string yang menentukan nama bagian yang telah berubah. (String tidak menyertakan tanda kurung siku yang menyertakan nama bagian.)
Keterangan
Fungsi SystemParametersInfo Windows memanggil OnWinIniChange setelah aplikasi menggunakan fungsi untuk mengubah pengaturan dalam WIN.INI file.
Untuk mengirim WM_WININICHANGE pesan ke semua jendela tingkat atas, aplikasi dapat menggunakan SendMessage fungsi Windows dengan parameternya hwnd diatur ke HWND_BROADCAST.
Jika aplikasi mengubah banyak bagian yang berbeda pada WIN.INI saat yang sama, aplikasi harus mengirim satu WM_WININICHANGE pesan dengan lpszSection diatur ke NULL. Jika tidak, aplikasi harus mengirim WM_WININICHANGE setiap kali membuat perubahan ke WIN.INI.
Jika aplikasi menerima OnWinIniChange panggilan dengan lpszSection diatur ke NULL, aplikasi harus memeriksa semua bagian di WIN. INI yang memengaruhi aplikasi.
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnWndMsg
Fungsi anggota ini dipanggil oleh WindowProc, atau dipanggil selama refleksi pesan.
virtual BOOL OnWndMsg(
UINT message,
WPARAM wParam,
LPARAM lParam,
LRESULT* pResult);
Parameter
message
Menentukan pesan yang akan dikirim.
wParam
Menentukan informasi tambahan yang bergantung pada pesan.
lParam
Menentukan informasi tambahan yang bergantung pada pesan.
pResult
Nilai yang dikembalikan dari WindowProc. Tergantung pada pesan; mungkin .NULL
Tampilkan Nilai
TRUE jika pesan ditangani; jika tidak FALSE.
Keterangan
OnWndMsg menentukan jenis pesan dan memanggil fungsi kerangka kerja yang sesuai (misalnya, OnCommand untuk WM_COMMAND) atau menemukan pesan yang sesuai di peta pesan.
Untuk informasi selengkapnya tentang refleksi pesan, lihat Menangani Pesan Tercermin.
CWnd::OnXButtonDblClk
Kerangka kerja memanggil fungsi anggota ini saat pengguna mengklik XBUTTON1 dua kali atau XBUTTON2 saat kursor berada di area klien jendela.
afx_msg void OnXButtonDblClk(
UINT nFlags,
UINT nButton,
CPoint point);
Parameter
nFlags
[di] Kombinasi bitwise (OR) bendera yang menunjukkan tombol pengubah mana yang ditekan. Misalnya, MK_CONTROL bendera menunjukkan bahwa tombol CTRL ditekan.
nButton
[di] Nilai XBUTTON1 jika tombol Microsoft Intellimouse X pertama diklik dua kali, atau XBUTTON2 jika tombol X kedua diklik dua kali.
point
[di] Objek CPoint yang menentukan x koordinat dan y kursor relatif terhadap sudut kiri atas area klien.
Keterangan
Metode ini menerima WM_XBUTTONDBLCLK pemberitahuan, yang dijelaskan di Windows SDK. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse.
Parameter nFlags dapat berupa kombinasi kunci pengubah yang tercantum dalam tabel berikut. Untuk informasi selengkapnya, lihat Tentang Input Mouse.
| Kunci Pengubah | Deskripsi |
|---|---|
MK_CONTROL |
Tombol CTRL ditekan. |
MK_LBUTTON |
Tombol mouse kiri ditekan. |
MK_MBUTTON |
Tombol mouse tengah ditekan. |
MK_RBUTTON |
Tombol kanan mouse ditekan. |
MK_SHIFT |
Tombol SHIFT ditekan. |
MK_XBUTTON1 |
Tombol XBUTTON1 mouse Microsoft IntelliMouse ditekan. |
MK_XBUTTON2 |
Tombol XBUTTON2 mouse Microsoft IntelliMouse ditekan. |
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnXButtonDown
Kerangka kerja memanggil fungsi anggota ini ketika pengguna menekan XBUTTON1 atau XBUTTON2 saat kursor berada di area klien jendela.
afx_msg void OnXButtonDown(
UINT nFlags,
UINT nButton,
CPoint point);
Parameter
nFlags
[di] Kombinasi bitwise (OR) bendera yang menunjukkan tombol pengubah mana yang ditekan. Misalnya, MK_CONTROL bendera menunjukkan bahwa tombol CTRL ditekan.
nButton
[di] Nilai XBUTTON1 jika tombol Microsoft Intellimouse X pertama diklik, atau XBUTTON2 jika tombol X kedua diklik.
point
[di] Objek CPoint yang menentukan x koordinat dan y kursor relatif terhadap sudut kiri atas area klien.
Keterangan
Metode ini menerima WM_XBUTTONDOWN pemberitahuan, yang dijelaskan di Windows SDK. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse.
Parameter nFlags dapat berupa kombinasi kunci pengubah yang tercantum dalam tabel berikut. Untuk informasi selengkapnya, lihat Tentang Input Mouse.
| Kunci Pengubah | Deskripsi |
|---|---|
MK_CONTROL |
Tombol CTRL ditekan. |
MK_LBUTTON |
Tombol mouse kiri ditekan. |
MK_MBUTTON |
Tombol mouse tengah ditekan. |
MK_RBUTTON |
Tombol kanan mouse ditekan. |
MK_SHIFT |
Tombol SHIFT ditekan. |
MK_XBUTTON1 |
Tombol XBUTTON1 mouse Microsoft IntelliMouse ditekan. |
MK_XBUTTON2 |
Tombol XBUTTON2 mouse Microsoft IntelliMouse ditekan. |
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OnXButtonUp
Kerangka kerja memanggil fungsi anggota ini saat pengguna merilis XBUTTON1 atau XBUTTON2 saat kursor berada di area klien jendela.
afx_msg void OnXButtonUp(
UINT nFlags,
UINT nButton,
CPoint point);
Parameter
nFlags
[di] Kombinasi bitwise (OR) bendera yang menunjukkan tombol pengubah mana yang ditekan. Misalnya, MK_CONTROL bendera menunjukkan bahwa tombol CTRL ditekan.
nButton
[di] Nilai XBUTTON1 jika tombol Microsoft Intellimouse X pertama diklik dua kali, atau XBUTTON2 jika tombol X kedua diklik dua kali.
point
[di] Objek CPoint yang menentukan x koordinat dan y kursor relatif terhadap sudut kiri atas area klien.
Keterangan
Metode ini menerima WM_XBUTTONUP pemberitahuan, yang dijelaskan di Windows SDK. Jika mouse tidak diambil, pesan diposting ke jendela di bawah kursor. Jika tidak, pesan diposting ke jendela yang telah mengambil mouse.
Parameter nFlags dapat berupa kombinasi kunci pengubah yang tercantum dalam tabel berikut. Untuk informasi selengkapnya, lihat Tentang Input Mouse.
| Kunci Pengubah | Deskripsi |
|---|---|
MK_CONTROL |
Tombol CTRL ditekan. |
MK_LBUTTON |
Tombol mouse kiri ditekan. |
MK_MBUTTON |
Tombol mouse tengah ditekan. |
MK_RBUTTON |
Tombol kanan mouse ditekan. |
MK_SHIFT |
Tombol SHIFT ditekan. |
MK_XBUTTON1 |
Tombol XBUTTON1 mouse Microsoft IntelliMouse ditekan. |
MK_XBUTTON2 |
Tombol XBUTTON2 mouse Microsoft IntelliMouse ditekan. |
Catatan
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan aplikasi Anda menangani pesan Windows. Parameter yang diteruskan ke fungsi Anda mencerminkan parameter yang diterima oleh kerangka kerja saat pesan diterima. Jika Anda memanggil implementasi kelas dasar dari fungsi ini, implementasi tersebut akan menggunakan parameter yang awalnya diteruskan dengan pesan dan bukan parameter yang Anda berikan ke fungsi.
CWnd::OpenClipboard
Membuka Papan Klip.
BOOL OpenClipboard();
Tampilkan Nilai
Bukan nol jika Clipboard dibuka melalui CWnd, atau 0 jika aplikasi atau jendela lain membuka Clipboard.
Keterangan
Aplikasi lain tidak akan dapat mengubah Clipboard sampai CloseClipboard fungsi Windows dipanggil.
Objek saat ini CWnd tidak akan menjadi pemilik Papan Klip hingga EmptyClipboard fungsi Windows dipanggil.
Contoh
//handler for Edit | Copy menu
void CMdiView::OnEditCopy()
{
if (!OpenClipboard())
{
AfxMessageBox(_T("Cannot open the Clipboard"));
return;
}
// Remove the current Clipboard contents
if (!EmptyClipboard())
{
AfxMessageBox(_T("Cannot empty the Clipboard"));
return;
}
// Get the currently selected data, hData handle to
// global memory of data
CString str;
m_Edit.GetWindowText(str);
size_t cbStr = (str.GetLength() + 1) * sizeof(TCHAR);
HGLOBAL hData = GlobalAlloc(GMEM_MOVEABLE, cbStr);
memcpy_s(GlobalLock(hData), cbStr, str.LockBuffer(), cbStr);
GlobalUnlock(hData);
str.UnlockBuffer();
// For the appropriate data formats...
UINT uiFormat = (sizeof(TCHAR) == sizeof(WCHAR)) ? CF_UNICODETEXT : CF_TEXT;
if (::SetClipboardData(uiFormat, hData) == NULL)
{
AfxMessageBox(_T("Unable to set Clipboard data"));
CloseClipboard();
return;
}
CloseClipboard();
}
CWnd::operator HWND
Gunakan operator ini untuk mendapatkan handel ke CWnd objek.
operator HWND() const;
CWnd::operator !=
Membandingkan dua CWnd objek untuk menentukan apakah mereka tidak memiliki yang sama m_hWnd.
BOOL operator!=(const CWnd& wnd) const;
Parameter
wnd
Referensi ke CWnd objek.
Tampilkan Nilai
Bukan nol jika sama; jika tidak, 0.
CWnd::operator ==
Membandingkan dua CWnd objek untuk menentukan apakah mereka memiliki yang sama m_hWnd.
BOOL operator==(const CWnd& wnd) const;
Parameter
wnd
Referensi ke CWnd objek.
Tampilkan Nilai
Bukan nol jika sama; jika tidak, 0.
CWnd::PaintWindowlessControls
Menggambar kontrol tanpa jendela pada kontainer kontrol.
BOOL PaintWindowlessControls(CDC* pDC);
Parameter
pDC
Konteks perangkat untuk menggambar kontrol tanpa jendela.
Tampilkan Nilai
Mengembalikan TRUE jika ada kontainer kontrol dan kontrol tanpa jendela berhasil digambar, jika tidak FALSE.
CWnd::PostMessage
Tempatkan pesan dalam antrean pesan jendela lalu kembali tanpa menunggu jendela yang sesuai untuk memproses pesan.
BOOL PostMessage(
UINT message,
WPARAM wParam = 0,
LPARAM lParam = 0);
Parameter
message
Menentukan pesan yang akan diposting.
wParam
Menentukan informasi pesan tambahan. Konten parameter ini tergantung pada pesan yang diposting.
lParam
Menentukan informasi pesan tambahan. Konten parameter ini tergantung pada pesan yang diposting.
Tampilkan Nilai
Bukan nol jika pesan diposting; jika tidak, 0.
Keterangan
Pesan dalam antrean pesan diambil oleh panggilan ke GetMessage fungsi atau PeekMessage Windows.
Fungsi Windows PostMessage dapat digunakan untuk mengakses aplikasi lain.
Contoh
Lihat contoh untuk AfxGetMainWnd.
CWnd::PostNcDestroy
Dipanggil oleh fungsi anggota default OnNcDestroy setelah jendela dihancurkan.
virtual void PostNcDestroy();
Keterangan
Kelas turunan dapat menggunakan fungsi ini untuk pembersihan this kustom seperti penghapusan pointer.
CWnd::PreCreateWindow
Dipanggil oleh kerangka kerja sebelum pembuatan jendela Windows yang dilampirkan ke objek ini CWnd .
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
Parameter
cs
Sebuah CREATESTRUCT struktur.
Tampilkan Nilai
Bukan nol jika pembuatan jendela harus dilanjutkan; 0 untuk menunjukkan kegagalan pembuatan.
Keterangan
Peringatan
CWnd::PreCreateWindow sekarang menetapkan anggota hMenu ke cs this penunjuk jika menu adalah NULL dan gaya berisi WS_CHILD. Untuk fungsionalitas yang tepat, pastikan kontrol dialog Anda memiliki ID yang bukan NULL.
Perubahan ini memperbaiki crash dalam skenario interop terkelola/asli. Pernyataan TRACE dalam CWnd::Create memperingatkan pengembang masalah.
Jangan pernah memanggil fungsi ini secara langsung.
Implementasi default fungsi ini memeriksa NULL nama kelas jendela dan menggantikan default yang sesuai. Ambil alih fungsi anggota ini untuk mengubah CREATESTRUCT struktur sebelum jendela dibuat.
Setiap kelas yang berasal dari CWnd menambahkan fungsionalitasnya sendiri ke penimpaan PreCreateWindow. Secara desain, turunan PreCreateWindow ini tidak didokumentasikan. Untuk menentukan gaya yang sesuai untuk setiap kelas dan interdependensi di antara gaya, Anda dapat memeriksa kode sumber MFC untuk kelas dasar aplikasi Anda. Jika Anda memilih untuk mengambil alih PreCreateWindow, , Anda dapat menentukan apakah gaya yang digunakan di kelas dasar aplikasi Anda menyediakan fungsionalitas yang Anda butuhkan dengan menggunakan informasi yang dikumpulkan dari kode sumber MFC.
Untuk informasi selengkapnya tentang mengubah gaya jendela, lihat Mengubah Gaya Jendela yang Dibuat oleh MFC.
Contoh
// alter the styles of the mdi frame window
BOOL CMdiChildFrame::PreCreateWindow(CREATESTRUCT &cs)
{
// Create a window without min/max buttons or sizable border
cs.style |= WS_OVERLAPPED | WS_SYSMENU | WS_BORDER;
// Size the window to 1/3 screen size and center it
cs.cy = ::GetSystemMetrics(SM_CYSCREEN) / 3;
cs.cx = ::GetSystemMetrics(SM_CXSCREEN) / 3;
cs.y = ((cs.cy * 3) - cs.cy) / 2;
cs.x = ((cs.cx * 3) - cs.cx) / 2;
return CMDIChildWnd::PreCreateWindow(cs);
}
CWnd::PreSubclassWindow
Fungsi anggota ini dipanggil oleh kerangka kerja untuk memungkinkan subkelas lain yang diperlukan terjadi sebelum jendela disubkelas.
virtual void PreSubclassWindow();
Keterangan
Mengambil alih fungsi anggota ini memungkinkan subkelas kontrol dinamis. Ini adalah pengalih tingkat lanjut.
CWnd::PreTranslateMessage
Digunakan oleh kelas CWinApp untuk menerjemahkan pesan jendela sebelum dikirim ke TranslateMessage fungsi Windows dan DispatchMessage .
virtual BOOL PreTranslateMessage(MSG* pMsg);
Parameter
pMsg
Menunjuk ke MSG struktur yang berisi pesan yang akan diproses.
Tampilkan Nilai
Bukan nol jika pesan diterjemahkan dan tidak boleh dikirim; 0 jika pesan tidak diterjemahkan dan harus dikirim.
CWnd::Print
Panggil fungsi anggota ini untuk menggambar jendela saat ini dalam konteks perangkat yang ditentukan, yang paling umum dalam konteks perangkat printer.
void Print(
CDC* pDC,
DWORD dwFlags) const;
Parameter
pDC
Penunjuk ke konteks perangkat.
dwFlags
Menentukan opsi menggambar. Parameter ini dapat berupa satu atau beberapa bendera ini:
PRF_CHECKVISIBLEGambar jendela hanya jika terlihat.PRF_CHILDRENGambar semua jendela anak yang terlihat.PRF_CLIENTGambar area klien jendela.PRF_ERASEBKGNDHapus latar belakang sebelum menggambar jendela.PRF_NONCLIENTGambar area nonkelas jendela.PRF_OWNEDGambar semua jendela yang dimiliki.
Keterangan
CWnd::DefWindowProc fungsi memproses pesan ini berdasarkan opsi gambar mana yang ditentukan:
Jika
PRF_CHECKVISIBLEditentukan dan jendela tidak terlihat, jangan lakukan apa-apa.Jika
PRF_NONCLIENTditentukan, gambar area nonclient dalam konteks perangkat tertentu.Jika
PRF_ERASEBKGNDditentukan, kirim pesan ke jendelaWM_ERASEBKGND.Jika
PRF_CLIENTditentukan, kirim pesan ke jendelaWM_PRINTCLIENT.Jika
PRF_CHILDRENdiatur, kirim setiap jendela anak yang terlihat pesanWM_PRINT.Jika
PRF_OWNEDdiatur, kirim setiap jendela yang dimiliki yang terlihat pesanWM_PRINT.
CWnd::PrintClient
Panggil fungsi anggota ini untuk menggambar jendela apa pun dalam konteks perangkat yang ditentukan (biasanya konteks perangkat printer).
void PrintClient(
CDC* pDC,
DWORD dwFlags) const;
Parameter
pDC
Penunjuk ke konteks perangkat.
dwFlags
Menentukan opsi menggambar. Parameter ini dapat berupa satu atau beberapa bendera ini:
PRF_CHECKVISIBLEGambar jendela hanya jika terlihat.PRF_CHILDRENGambar semua jendela anak yang terlihat.PRF_CLIENTGambar area klien jendela.PRF_ERASEBKGNDHapus latar belakang sebelum menggambar jendela.PRF_NONCLIENTGambar area nonkelas jendela.PRF_OWNEDGambar 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_ERASEMenyebabkan jendela menerima pesanWM_ERASEBKGNDketika jendela dicat ulang. BenderaRDW_INVALIDATEjuga harus ditentukan; jika tidak, RDW_ERASE tidak berpengaruh.RDW_FRAMEMenyebabkan bagian mana pun dari area nonkelola jendela yang bersinggungan dengan wilayah pembaruan untuk menerimaWM_NCPAINTpesan.RDW_INVALIDATEBendera juga harus ditentukan; jika tidakRDW_FRAME, bendera tidak berpengaruh.RDW_INTERNALPAINTMenyebabkan pesanWM_PAINTdiposting ke jendela terlepas dari apakah jendela berisi wilayah yang tidak valid.RDW_INVALIDATETidak validlpRectUpdateatauprgnUpdate(hanya satu yang mungkin tidakNULL). Jika keduanya adalahNULL, seluruh jendela tidak valid.
Bendera berikut digunakan untuk memvalidasi jendela:
RDW_NOERASEMenyembunyikan pesan yang tertundaWM_ERASEBKGND.RDW_NOFRAMEMenyembunyikan pesan yang tertundaWM_NCPAINT. Bendera ini harus digunakan denganRDW_VALIDATEdan biasanya digunakan denganRDW_NOCHILDREN. Opsi ini harus digunakan dengan hati-hati, karena dapat mencegah bagian-bagian jendela melukis dengan benar.RDW_NOINTERNALPAINTMenekan pesan internalWM_PAINTyang tertunda. Bendera ini tidak memengaruhiWM_PAINTpesan yang dihasilkan dari area yang tidak valid.RDW_VALIDATEMemvalidasilpRectUpdateatauprgnUpdate(hanya satu yang mungkin tidakNULL). Jika keduanya adalahNULL, seluruh jendela divalidasi. Bendera ini tidak memengaruhi pesan internalWM_PAINT.
Bendera berikut mengontrol saat pengecatan ulang terjadi. Lukisan tidak dilakukan oleh RedrawWindow fungsi kecuali salah satu bit ini ditentukan.
RDW_ERASENOWMenyebabkan jendela yang terpengaruh (seperti yang ditentukan olehRDW_ALLCHILDRENbendera danRDW_NOCHILDREN) untuk menerimaWM_NCPAINTdanWM_ERASEBKGNDpesan, jika perlu, sebelum fungsi kembali.WM_PAINTpesan ditangguhkan.RDW_UPDATENOWMenyebabkan jendela yang terpengaruh (seperti yang ditentukan olehRDW_ALLCHILDRENbendera danRDW_NOCHILDREN) untuk menerimaWM_NCPAINT, ,WM_ERASEBKGNDdanWM_PAINTpesan, 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_ALLCHILDRENTermasuk jendela anak, jika ada, dalam operasi pengecatan ulang.RDW_NOCHILDRENMengecualikan 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::reposDefaultMelakukan tata letak bilah kontrol.lpRectParamtidak digunakan dan dapat berupaNULL.CWnd::reposQueryTata letak bilah kontrol tidak dilakukan; sebaliknya diinisialisasi dengan ukuran area klien, seolah-olahlpRectParamtata letak benar-benar telah dilakukan.CWnd::reposExtraMenambahkan nilailpRectParamke areanIDLastklien 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_NOIDLEMSGJangan mengirimWM_ENTERIDLEpesan ke induk.MLF_NOKICKIDLEJangan kirimWM_KICKIDLEpesan ke jendela.MLF_SHOWONIDLEPerlihatkan 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_ERASEKetika ditentukan denganSW_INVALIDATE, menghapus wilayah yang baru divalidasi dengan mengirimWM_ERASEBKGNDpesan ke jendela.SW_INVALIDATEMembatalkan validasi wilayah yang diidentifikasi denganprgnUpdatesetelah menggulir.SW_SCROLLCHILDRENMenggulir semua jendela anak yang beririsan persegi panjang yang ditujukkan olehlpRectScrolljumlah piksel yang ditentukan dalamdxdandy. Windows mengirim pesanWM_MOVEke semua jendela anak yang bersinggunganlpRectScroll, meskipun tidak berpindah. Tanda sisipan diposisikan ulang ketika jendela anak digulir dan persegi panjang kursor berpotingan persegi panjang gulir.
Tampilkan Nilai
Nilai yang dikembalikan adalah SIMPLEREGION (wilayah tidak valid persegi panjang), COMPLEXREGION (wilayah yang tidak valid nonrektangular; persegi panjang yang tumpang tindih), atau NULLREGION (tidak ada wilayah yang tidak valid), jika fungsi berhasil; jika tidak, nilai yang dikembalikan adalah ERROR.
Keterangan
Fungsi ini mirip ScrollWindow dengan fungsi , dengan beberapa fitur tambahan.
Jika SW_INVALIDATE dan SW_ERASE tidak ditentukan, ScrollWindowEx fungsi anggota tidak membatalkan area yang digulir menjauh. Jika salah satu bendera ini diatur, ScrollWindowEx membatalkan area ini. Area tidak diperbarui sampai aplikasi memanggil UpdateWindow fungsi anggota, memanggil RedrawWindow fungsi anggota (menentukan RDW_UPDATENOW atau RDW_ERASENOW), atau mengambil WM_PAINT pesan dari antrean aplikasi.
Jika jendela memiliki WS_CLIPCHILDREN gaya, area yang dikembalikan ditentukan oleh prgnUpdate dan lpRectUpdate mewakili area total jendela tergulir yang harus diperbarui, termasuk area apa pun di jendela anak yang perlu diperbarui.
SW_SCROLLCHILDREN Jika bendera ditentukan, Windows tidak akan memperbarui layar dengan benar jika bagian dari jendela anak digulir. Bagian dari jendela anak yang digulir yang terletak di luar persegi panjang sumber tidak akan dihapus dan tidak akan digambar ulang dengan benar di tujuan barunya. DeferWindowPos Gunakan fungsi Windows untuk memindahkan jendela anak yang tidak sepenuhnya terletak di lpRectScroll dalam persegi panjang. Kursor diposisikan ulang jika SW_SCROLLCHILDREN bendera diatur dan persegi panjang caret berpotangan persegi panjang gulir.
Semua koordinat input dan output (untuk lpRectScroll, , 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 TRUE nValue kurang dari 0, tanda minus ditempatkan sebelum digit pertama dalam string. Jika parameter ini adalah FALSE, nValue tidak ditandatangani.
Keterangan
SetDlgItemInt mengirim pesan WM_SETTEXT ke kontrol yang diberikan.
Contoh
Lihat contoh untuk CWnd::SetDlgItemText.
CWnd::SetDlgItemText
Mengatur keterangan atau teks kontrol yang dimiliki oleh jendela atau kotak dialog.
void SetDlgItemText(
int nID,
LPCTSTR lpszString);
Parameter
nID
Mengidentifikasi kontrol yang teksnya akan diatur.
lpszString
Menunjuk ke CString objek atau string yang dihentikan null yang berisi teks yang akan disalin ke kontrol.
Keterangan
SetDlgItemText mengirim pesan WM_SETTEXT ke kontrol yang diberikan.
Contoh
// The following code fragment is from CMyDlg::OnInitDialog
// CMyDlg is derived from CDialog.
// Initialize dialog controls
SetDlgItemText(IDC_EDITNAME, _T("Type in text"));
SetDlgItemInt(IDC_EDITNUM, 100);
CWnd::SetForegroundWindow
Menempatkan utas yang membuat jendela ke latar depan dan mengaktifkan jendela.
BOOL SetForegroundWindow();
Tampilkan Nilai
Bukan nol jika fungsi berhasil; jika tidak, 0.
Keterangan
Input keyboard diarahkan ke jendela, dan berbagai istimal visual diubah untuk pengguna. Jendela latar depan adalah jendela tempat pengguna saat ini bekerja. Jendela latar depan hanya berlaku untuk jendela tingkat atas (jendela bingkai atau kotak dialog).
Contoh
Lihat contoh untuk CWnd::FindWindow.
CWnd::SetFocus
Mengklaim fokus input.
CWnd* SetFocus();
Tampilkan Nilai
Penunjuk ke objek jendela yang sebelumnya memiliki fokus input. NULL Itu jika tidak ada jendela seperti itu. Penunjuk yang dikembalikan mungkin bersifat sementara dan tidak boleh disimpan.
Keterangan
Fokus input mengarahkan semua input keyboard berikutnya ke jendela ini. Jendela apa pun yang sebelumnya memiliki fokus input akan kehilangannya.
Fungsi SetFocus anggota mengirim WM_KILLFOCUS pesan ke jendela yang kehilangan fokus input dan WM_SETFOCUS pesan ke jendela yang menerima fokus input. Ini juga mengaktifkan jendela atau induknya.
Jika jendela saat ini aktif tetapi tidak memiliki fokus (yaitu, tidak ada jendela yang memiliki fokus), tombol apa pun yang ditekan akan menghasilkan pesan WM_SYSCHAR, , WM_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_CTLBerisi parameter untuk kontrol bilah gulir. Anggotam_hWnddata harus menjadi handel kontrol bilah gulir.SB_HORZMenentukan bahwa jendela adalah bilah gulir horizontal.SB_VERTMenentukan 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_HORZMengatur posisi kotak gulir di bilah gulir horizontal jendela.SB_VERTMengatur 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_HORZMengatur rentang bilah gulir horizontal jendela.SB_VERTMengatur 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:
wndBottomTempatkan jendela di bagian bawah urutan Z. Jika iniCWndadalah jendela paling atas, jendela kehilangan status paling atas; sistem menempatkan jendela di bagian bawah semua jendela lainnya.wndTopTempatkan jendela di bagian atas urutan Z.wndTopMostTempatkan jendela di atas semua jendela non-teratas. Jendela mempertahankan posisi paling atas bahkan ketika dinonaktifkan.wndNoTopMostMemposisikan 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_DRAWFRAMEMenggambar bingkai (didefinisikan ketika jendela dibuat) di sekitar jendela.SWP_FRAMECHANGEDMengirim pesanWM_NCCALCSIZEke jendela, meskipun ukuran jendela tidak diubah. Jika bendera ini tidak ditentukan,WM_NCCALCSIZEdikirim hanya ketika ukuran jendela sedang diubah.SWP_HIDEWINDOWMenyembunyikan jendela.SWP_NOACTIVATETidak mengaktifkan jendela. Jika bendera ini tidak diatur, jendela diaktifkan dan dipindahkan ke bagian atas grup paling atas atau non-teratas (tergantung pada pengaturanpWndInsertAfterparameter).SWP_NOCOPYBITSMembuang 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_NOMOVEMempertahankan posisi saat ini (mengabaikanxparameter dany).SWP_NOOWNERZORDERTidak mengubah posisi jendela pemilik dalam urutan Z.SWP_NOREDRAWTidak 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_NOREPOSITIONSama sepertiSWP_NOOWNERZORDER.SWP_NOSENDCHANGINGMencegah jendela menerimaWM_WINDOWPOSCHANGINGpesan.SWP_NOSIZEMempertahankan ukuran saat ini (mengabaikancxparameter dancy).SWP_NOZORDERMempertahankan pengurutan saat ini (mengabaikanpWndInsertAfter).SWP_SHOWWINDOWMenampilkan 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
&wndTopMostmaupun&wndNoTopMosttidak ditentukan dalampWndInsertAfterparameter.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_BOTHMenentukan bilah gulir horizontal dan vertikal jendela.SB_HORZMenentukan bahwa jendela adalah bilah gulir horizontal.SB_VERTMenentukan 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_HIDEMenyembunyikan jendela ini dan meneruskan aktivasi ke jendela lain.SW_MINIMIZEMeminimalkan jendela dan mengaktifkan jendela tingkat atas dalam daftar sistem.SW_RESTOREMengaktifkan dan menampilkan jendela. Jika jendela diminimalkan atau dimaksimalkan, Windows memulihkannya ke ukuran dan posisi aslinya.SW_SHOWMengaktifkan jendela dan menampilkannya dalam ukuran dan posisinya saat ini.SW_SHOWMAXIMIZEDMengaktifkan jendela dan menampilkannya sebagai jendela yang dimaksimalkan.SW_SHOWMINIMIZEDMengaktifkan jendela dan menampilkannya sebagai ikon.SW_SHOWMINNOACTIVEMenampilkan jendela sebagai ikon. Jendela yang saat ini aktif tetap aktif.SW_SHOWNAMenampilkan jendela dalam statusnya saat ini. Jendela yang saat ini aktif tetap aktif.SW_SHOWNOACTIVATEMenampilkan jendela dalam ukuran dan posisi terbarunya. Jendela yang saat ini aktif tetap aktif.SW_SHOWNORMALMengaktifkan 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();



