VC中控制台程序如何创建窗口

转载出至:http://blog.chinaunix.net/uid-13614124-id-3747923.html

在VC控制台程序中调用D3DVideoRender时,需要创建新的窗口控件显示图像


#include "windows.h"
#include "TCHAR.h"//声明自定义消息处理函数
LRESULT CALLBACK WindowProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);int _tmain(int argc, _TCHAR* argv[])
{HINSTANCE hInstance;hInstance = GetModuleHandle(NULL);	//获取一个应用程序或动态链接库的模块句柄WNDCLASS Render_WND;Render_WND.cbClsExtra = 0;Render_WND.cbWndExtra = 0;Render_WND.hCursor = LoadCursor(hInstance, IDC_ARROW);	//鼠标风格Render_WND.hIcon = LoadIcon(hInstance, IDI_APPLICATION);	//图标风格Render_WND.lpszMenuName = NULL;	//菜单名Render_WND.style = CS_HREDRAW | CS_VREDRAW;	//窗口的风格Render_WND.hbrBackground = (HBRUSH)COLOR_WINDOW;	//背景色Render_WND.lpfnWndProc = WindowProc;	//【关键】采用自定义消息处理函数,也可以用默认的DefWindowProcRender_WND.lpszClassName = _T("RenderWindow");	//【关键】该窗口类的名称Render_WND.hInstance = hInstance;	//【关键】表示创建该窗口的程序的运行实体代号RegisterClass(&Render_WND);HWND hwnd = CreateWindow(_T("RenderWindow"),           //【关键】上面注册的类名lpszClassName,要完全一致  L"Zombie",  //窗口标题文字  WS_OVERLAPPEDWINDOW, //窗口外观样式  0,             //窗口相对于父级的X坐标  0,             //窗口相对于父级的Y坐标  320,                //窗口的宽度  240,                //窗口的高度  NULL,               //没有父窗口,为NULL  NULL,               //没有菜单,为NULL  hInstance,          //当前应用程序的实例句柄  NULL);              //没有附加数据,为NULL  //去标题栏SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_CAPTION);//去边框SetWindowLong(hwnd, GWL_EXSTYLE, GetWindowLong(hwnd, GWL_EXSTYLE) & ~(WS_EX_WINDOWEDGE | WS_EX_DLGMODALFRAME));// 显示窗口  ShowWindow(hwnd, SW_SHOW);// 更新窗口  UpdateWindow(hwnd);// 消息循环  MSG msg;while (GetMessage(&msg, NULL, 0, 0)){TranslateMessage(&msg);DispatchMessage(&msg);}return 0;
}// 自定义消息处理函数的实现
LRESULT CALLBACK WindowProc(_In_  HWND hwnd,_In_  UINT uMsg,_In_  WPARAM wParam,_In_  LPARAM lParam)
{switch (uMsg){case WM_DESTROY:{PostQuitMessage(0);return 0;}case WM_KEYDOWN:{if (wParam == VK_ESCAPE)//按Esc键退出{PostQuitMessage(0);return 0;}}}return DefWindowProc(hwnd, uMsg, wParam, lParam);
}


 



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部