如图,我直接用VC++的向导生成了一个hello world 的应用程序(非MFC)然后写了个什么都默认的window proc作为子窗口的proc:
LRESULT CALLBACK WndProcDoNothing(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_NCACTIVATE:
OutputDebugString(TEXT("child_nc_activate\n"));
break;
}
return DefWindowProc(hWnd, message, wParam, lParam);
}再把子窗口给创建出来:
g_hwndChild = CreateWindow(TEXT("child_window"), TEXT(""), WS_CHILD|WS_VISIBLE|WS_OVERLAPPEDWINDOW|WS_CLIPSIBLINGS, 30, 30, 400, 300, hWnd, NULL, hInstance, NULL);发现能改变大小,能拖动,但就是一直处于非激活状态,WM_NCACTIVATE消息一直收不到,用spy++看也是这样,请问如何激活它?
oh,我尝试过SetActiveWindow,没用的,无论怎么点都没用,能响应其它消息,但就是不能激活。
如图所示:
LRESULT CALLBACK WndProcDoNothing(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_NCACTIVATE:
OutputDebugString(TEXT("child_nc_activate\n"));
break;
}
return DefWindowProc(hWnd, message, wParam, lParam);
}再把子窗口给创建出来:
g_hwndChild = CreateWindow(TEXT("child_window"), TEXT(""), WS_CHILD|WS_VISIBLE|WS_OVERLAPPEDWINDOW|WS_CLIPSIBLINGS, 30, 30, 400, 300, hWnd, NULL, hInstance, NULL);发现能改变大小,能拖动,但就是一直处于非激活状态,WM_NCACTIVATE消息一直收不到,用spy++看也是这样,请问如何激活它?
oh,我尝试过SetActiveWindow,没用的,无论怎么点都没用,能响应其它消息,但就是不能激活。
如图所示:
解决方案 »
- 内存映射后,调用UnmapViewOfFile后为什么会ERROR_ALREADY_EXISTS
- 用一张大图片做背景, 上面添加若干个小图片, .........
- 关于CListCtrl的一个问题
- vc++的程序能嵌入网页里吗?
- 我发现只有对话框可以设置字体,对话框上的文本控件不能设置字体格式,怎样设置不同字体
- 对话框未定义的错误,困扰
- 用ado对access数据库进行更新时出现的怪问题。
- 程序编译无错误 执行的时候有错误.求助~~实在找不到错在哪
- 有关于单片机通讯问题(救命)
- 关于vc工程对数据库支持
- 虚拟打印驱动 的 OEMStartPage()中是否可以获取打印文件名?
- MFC主窗口弹出另外窗口,关闭主窗口不影响弹出的窗口
SendMessage(hwndChild, WM_NCACTIVATE , wParam, lParam);
break;分数被收回可惜,奉上奉上