![]() |
#2
rjsp2020-10-25 15:42
|
在WndProc的WM_COMMAND中的消息处理中,我加入了判断这两个Button是否被点击并弹出MessageBox的代码,但是并没有反应。我尝试把按钮的父窗口改成主窗口的句柄,有反应,个人推测应该把判断的代码加到GroupBox的WndProc中(子类化),尝试了,但是仍然没有反应。
请问如何实现对GroupBox内部,或者其他的子窗口中的子窗口控件的响应?
我用来在WM_COMMAND判断按钮单机的代码模板:

switch (Message)
{
case WM_COMMAND:
{
if (HIWORD(wParam) == BN_CLICKED)
{
switch (LOWORD(wParam))
{
{
case WM_COMMAND:
{
if (HIWORD(wParam) == BN_CLICKED)
{
switch (LOWORD(wParam))
{
(在LOWORD(wParam)中的控件ID值是没有错的,这个本人检查了好几次)
我用来子类化的模板:
OldWndProc = (WNDPROC)::GetWindowLongA(hGroupBox, GWL_WNDPROC);
::SetWindowLongA(hGroupBox, GWL_WNDPROC, (long)NewWndProc);
::SetWindowLongA(hGroupBox, GWL_WNDPROC, (long)NewWndProc);
是否是代码出现了问题,还是实现的方法出现了问题?谢谢各位朋友和老师的教导~
[此贴子已经被作者于2020-10-25 14:07编辑过]