如题:大家好。一个单文档的程序,我想点击某一个菜单项后,生成并显示一个类似用win32 application完成的"hello world"那样的窗口,请各位说说看,我应该注意哪些问题,可行不可行?!是不是还得注册窗口类、显示窗口、等等sdk那一套?而且,我想让这个窗口就是一个显示的容器(无工具栏、无菜单、无状态栏),client rect中能显示图像就行,当然,这个窗口必须以我的主窗口为父窗口。而且,我想知道这样生成的窗口是相当于"模式对话框"还是"非模式对话框",就是说在显示这个窗口的时候,我可否操作我的主界面?
AllocConsole()
然后用ReadConsole/WriteConsole等来控制这个console
2、窗口的风格时可以在创建时确定的,你能看到的各种类型的窗口都可以,包括所谓“模式对话框"还是"非模式对话框"。
AllocConsole就挺好的,实现你的功能就可以了 ^_^
void CMyFrame::aHelloWorld()
{
....//这里头应该怎么写呢?
}
然后CreateWindow (szChildClass, NULL, WS_VISIBLE|WS_CHILD |WS_CAPTION| WS_SYSMENU|WS_THICKFRAME| WS_MINIMIZEBOX| WS_MAXIMIZEBOX,......
这样就可以了
windows程序设计里面有这种例子啊,
void CMainFrame::OnSnatchScreen()
{
WNDCLASSEX wcex;
HINSTANCE hInstance=AfxGetInstanceHandle();
wcex.cbSize = sizeof(WNDCLASSEX); wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = NULL;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = NULL;
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName = NULL;
wcex.lpszClassName = "Sdcer's Class";
wcex.hIconSm = NULL;
RegisterClassEx(&wcex);
HWND hWnd=CreateWindow("Sdcer's Class","Snatch",WS_VISIBLE|WS_CHILD ,
CW_USEDEFAULT,0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);
::ShowWindow(hWnd,SW_SHOW|SW_SHOWNORMAL);
}可是这样做为什么没有显示窗口呢?
wcex.lpfnWndProc = WndProc;
LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)
{
case WM_DESTROY:
DestroyWindow(hwnd);
break;
....
return DefWindowProc(hwnd,message,wParam,lParam);
}