win32 application 如何创建子窗口
作者:未知 来源:网络 更新时间:2011/4/16
RT
---华软 网友回答---
CreateWindow
---华软网友回复---
CreateWindow(Ex) 如果你只需要创建对话框能够用DialogBox...
---华软网友回复---
你什么类型的子窗口呢?
---华软网友回复---
比如主窗口的某项菜单项被单击时,出现子窗口,这时当鼠标在子窗口区域内时,就由子窗口的窗口函数举行命令响应,鼠标出现在子窗口外区域时,由主窗口的窗口函数举行命令响应
---华软网友回复---
WM_COMMAND命令,响应菜单点击。
WM_MOUSEMOVE,或WM_MOUSEHOVER、WM_MOUSELEAVE,_TrackMouseEvent();
---华软网友回复---
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。
---华软 网友回答---
CreateWindow
---华软网友回复---
CreateWindow(Ex) 如果你只需要创建对话框能够用DialogBox...
---华软网友回复---
你什么类型的子窗口呢?
---华软网友回复---
比如主窗口的某项菜单项被单击时,出现子窗口,这时当鼠标在子窗口区域内时,就由子窗口的窗口函数举行命令响应,鼠标出现在子窗口外区域时,由主窗口的窗口函数举行命令响应
---华软网友回复---
WM_COMMAND命令,响应菜单点击。
WM_MOUSEMOVE,或WM_MOUSEHOVER、WM_MOUSELEAVE,_TrackMouseEvent();
---华软网友回复---
C++">
static HWND create_window(int w, int h)
{
WNDCLASS wc;
HINSTANCE hInstance = GetModuleHandle(NULL);
HWND hwnd;
RECT rect;
wc.style = 0 ;
wc.lpfnWndProc = (WNDPROC)WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = NULL;
wc.hIcon = NULL;
wc.hCursor = LoadCursor(hInstance, IDC_ARROW);
wc.hbrBackground = NULL;
wc.lpszMenuName = NULL;
wc.lpszClassName = "Test Window";
if(!RegisterClass(&wc))
{
/* already registred! */
}
rect.left=100;
rect.top=100;
rect.right=rect.left+w;
rect.bottom=rect.top+h;
if (!AdjustWindowRect(&rect,WS_OVERLAPPEDWINDOW|WS_VISIBLE /*WS_CAPTION WS_TILED|WS_BORDER*/,FALSE)){
MessageBox(NULL,"AdjustWindowRect failed.","Error",MB_OK);
}
hwnd=CreateWindow("Test Window", "Test window",
WS_OVERLAPPEDWINDOW /*WS_THICKFRAME*/ | WS_VISIBLE ,
CW_USEDEFAULT, CW_USEDEFAULT, rect.right-rect.left,rect.bottom-rect.top,
NULL, NULL, hInstance, NULL);
if (hwnd==NULL){
MessageBox(NULL,"Fail to create test window","Error",MB_OK);
}
return hwnd;
}
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。
- 上一篇文章: 请高手帮忙看看这个
- 下一篇文章: CAtlRegExp正则如何获取所有匹配字串