首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Windows Mobile >

请教之间窗体怎么转发单选按钮消息

2012-02-10 
请问之间窗体如何转发单选按钮消息?是这样的,我用C/C++ code//创建选择是否启动采集提示单选按钮组m_check

请问之间窗体如何转发单选按钮消息?
是这样的,我用

C/C++ code
            //创建选择是否启动采集提示单选按钮组            m_checkbox_usenotified1 = CreateWindow (                TEXT ("BUTTON"),                L"启用",                 BS_AUTORADIOBUTTON |    WS_VISIBLE | WS_CHILD | WS_GROUP,                10 + (0 * 85),                 100,                80,                 23,                 m_notehelp_Hwnd,                 (HMENU)(IDC_RADIOBTNS_USENOTIFIED),                hInstance,                NULL);            SendMessage(m_checkbox_usenotified1, BM_SETCHECK, 1, 0);//设置为默认选中选项            ShowWindow(m_checkbox_usenotified1, SW_HIDE); //隐藏窗体


的方式创建了一组 互斥单选按钮
其父窗体为 HWND m_notehelp_Hwnd

也就是说 BN_CLICKED 发给了 m_notehelp_Hwnd

但是程序中 对消息的响应 是 HWND m_hwnd;



一级窗体 二级窗体 三级窗体  
m_hwnd m_notehelp_Hwnd m_checkbox_usenotified1
主消息处理  


这样,我想怎么能让 m_notehelp_Hwnd 把接收到的单选按钮消息转发给 m_hwnd 来处理?

或者怎么才捕获单选按钮发出的消息呢?



[解决办法]
如果你能处理 m_notehelp_Hwnd 的消息循环,就直接用WM_USER转发给m_hwnd,
如果你不能处理 m_notehelp_Hwnd 的消息循环,就需要让m_checkbox_usenotified1 接到消息后再用WM_USER转发给m_hwnd。
[解决办法]
他的意思是你自定义一个消息 WM_USER+(随便一个数1000或者2000),然后在你单选的时候,发送这个消息去主窗口,sendmessage(hwnd,(你自定义的消息),0,0),然后在你的主窗口的消息响应函数里,加上这个消息的处理就可以,其实就是多加一个case wm_user+xxx:.
[解决办法]
如果你两个窗口消息循环都不能获得的话,就必须用SetWindowLong子类化他们的窗口过程,然后自己处理消息。

热点排行