VC中查詢視窗並向其傳送訊息

2021-07-10 02:11:07 字數 1311 閱讀 2278

1、查詢視窗控制代碼的方法:

方法1:findwindow方法,如下:

[cpp]view plain

copy

//先找到視窗

//假設要找視窗的名字為test

//根據視窗名來查詢

cwnd *pwnd = cwnd::findwindow(null,l"test"

);  

if(!pwnd)  

/***********還沒試驗成功**********************/

//->求救

//也可以根據視窗類來查詢

//假設要找的視窗類為ctest

cwnd *pwnd = cwnd::findwindow(ctest,null);  

if(!pwnd)    

方法2:如果知道視窗是父視窗那麼就可以用getparent()方法獲得視窗控制代碼

2、向視窗傳送訊息

[c-sharp]view plain

copy

pwnd->sendmessage(um_use_message, null, null);  

3、訊息的定義格式

首先定義um_use_message

[c-sharp]view plain

copy

#define um_use_message  wm_user+1

在.h檔案中宣告訊息:

[c-sharp]view plain

copy

afx_msg lresult onusemessage(wparam, lparam);  

在.cpp檔案中對映訊息

[cpp]view plain

copy

begin_message_map(ctest, cdialog)  

.......  

....  

on_message(um_use_message, &ctest::onusemessage)  

.....  

........  

end_message_map()  

在.cpp檔案中實現訊息函式

[cpp]view plain

copy

lpesult ctest::onusemessage(

wparam

wparam, 

lparam

lparam)    

VC 中MFC視窗物件的清除

對於vc 初學者來說,總覺得視窗物件的清除過程有些莫名其妙.在程式中看不到對delete的顯式呼叫,這似乎違反了c 中有關初始化和清除的規則.那麼,程式是怎樣取消乙個視窗物件?要消除視窗物件,必須清楚視窗物件的構成.在乙個通常的程式中,先建立c 視窗物件,然後由windows建立實際的視窗結構,並返...

VC 中MFC視窗物件的清除

對於vc 初學者來說 總覺得視窗物件的清除過程有些莫名其妙 在程式中看不到對 delete 的顯式呼叫 這似乎違反了 c 中有關初始化和清除的規則.那麼 程式是怎樣取消乙個視窗物件 要消除視窗物件 必須清楚視窗物件的構成 在乙個通常的程式中,先建立 c 視窗物件 然後由 windows 建立實際的視...

在VC中實現全屏視窗程式

原文http tech.ddvip.com 2008 12 1230262679103110.html 全屏顯示是一些應用軟體必不可少的功能。比如在用vc 編輯工程原始檔或編輯對話方塊等資源時,選擇選單 viewfull screen 即可進入全屏顯示狀態,按 esc 鍵後會退出全屏顯示狀態。1 在...