请问之间窗体如何转发单选按钮消息?是这样的,我用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子类化他们的窗口过程,然后自己处理消息。