控制台下创建窗口和WinMain入口创建窗口简单程序
来源:互联网 发布:淘宝店铺名称搜索排行 编辑:程序博客网 时间:2024/06/03 21:40
控制台创建窗口(同时有控制台窗口和新创建的窗口)(项目类型:控制台应用程序)
#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 Draw;Draw.cbClsExtra = 0;Draw.cbWndExtra = 0;Draw.hCursor = LoadCursor(hInstance, IDC_ARROW);;Draw.hIcon = LoadIcon(hInstance, IDI_APPLICATION);;Draw.lpszMenuName = NULL;Draw.style = CS_HREDRAW | CS_VREDRAW;Draw.hbrBackground = (HBRUSH)COLOR_WINDOW;Draw.lpfnWndProc = WindowProc;Draw.lpszClassName = _T("DDraw");Draw.hInstance = hInstance;RegisterClass(&Draw);HWND hwnd = CreateWindow(_T("DDraw"), //上面注册的类名,要完全一致 L"绘制", //窗口标题文字 WS_OVERLAPPEDWINDOW, //窗口外观样式 38, //窗口相对于父级的X坐标 20, //窗口相对于父级的Y坐标 640, //窗口的宽度 480, //窗口的高度 NULL, //没有父窗口,为NULL NULL, //没有菜单,为NULL hInstance, //当前应用程序的实例句柄 NULL); //没有附加数据,为NULL // 显示窗口 ShowWindow(hwnd, SW_SHOW);// 更新窗口 UpdateWindow(hwnd);// 消息循环 MSG msg;while (GetMessage(&msg, NULL, 0, 0)){TranslateMessage(&msg);DispatchMessage(&msg);}}// 消息处理函数的实现 LRESULT CALLBACK WindowProc(_In_ HWND hwnd,_In_ UINT uMsg,_In_ WPARAM wParam,_In_ LPARAM lParam){switch (uMsg){case WM_DESTROY:{ PostQuitMessage(0); return 0;}}return DefWindowProc(hwnd, uMsg, wParam, lParam);}
WinMain入口下创建窗口(只有新创建的窗口)(项目类型:windows应用程序)
#include <windows.h>#include "TCHAR.h" #include <stdio.h>LRESULT CALLBACK WindowProc(HWND hwnd, // handle to windowUINT uMsg, // message identifierWPARAM wParam, // first message parameterLPARAM lParam // second message parameter);int WINAPI WinMain(HINSTANCE hInstance, // handle to current instanceHINSTANCE hPrevInstance, // handle to previous instanceLPSTR lpCmdLine, // command lineint nCmdShow // show state){WNDCLASS wndcls;wndcls.cbClsExtra = 0;wndcls.cbWndExtra = 0;wndcls.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);wndcls.hCursor = LoadCursor(NULL, IDC_CROSS);wndcls.hIcon = LoadIcon(NULL, IDI_ERROR);wndcls.hInstance = hInstance;wndcls.lpfnWndProc = WindowProc;wndcls.lpszClassName = _T("Hello");wndcls.lpszMenuName = NULL;wndcls.style = CS_HREDRAW | CS_VREDRAW;RegisterClass(&wndcls);HWND hwnd;hwnd = CreateWindow(_T("Hello"), L"World", WS_OVERLAPPEDWINDOW,0, 0, 600, 400, NULL, NULL, hInstance, NULL);ShowWindow(hwnd, SW_SHOWNORMAL);UpdateWindow(hwnd);MSG msg;while (GetMessage(&msg, NULL, 0, 0)){TranslateMessage(&msg);DispatchMessage(&msg);}return 0;}// 消息处理函数的实现 LRESULT CALLBACK WindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam){switch (uMsg){case WM_DESTROY:{ PostQuitMessage(0); return 0;}}return DefWindowProc(hwnd, uMsg, wParam, lParam);}
0 0
- 控制台下创建窗口和WinMain入口创建窗口简单程序
- QT创建窗口程序、消息循环和WinMain函数
- 通过WinMain函数创建窗口
- QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
- 详解QT源码之QT创建窗口程序、消息循环和WinMain函数
- QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
- QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
- QT源码之QT创建窗口程序、消息循环和WinMain函数
- QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数
- 简单的窗口创建
- EasyUI 创建简单窗口
- 手动创建窗口程序
- Windows创建窗口程序
- 创建程序窗口
- 创建进程并控制窗口
- 窗口创建和销毁
- 窗口创建和关系
- 创建和显示窗口
- js 页面智能判断浏览器版本
- linux系统工程师面试题(附答案)
- IOS控件
- Linux网络驱动程序
- 分享一个很屌的eazyui二开demo
- 控制台下创建窗口和WinMain入口创建窗口简单程序
- 黑马程序员——OC—类方法及匿名类
- 黑马程序员————第二十天
- Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析
- Android中实现带有头部的GridView(HeaderGridView)
- Android卸载程序之后跳转到指定的反馈页面
- c之字符串分配
- ZOJ - 3494 BCD Code(AC自动机+数位DP)
- 解决网页右侧空白的方法