代码:

//回调函数
LRESULT CALLBACK WinProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{switch (uMsg){case WM_CREATE:break;case WM_DESTROY:{PostQuitMessage(0);}break;}return DefWindowProc(hWnd, uMsg, wParam, lParam);
}// 全局变量:
HINSTANCE hInst;                                // 当前实例
WCHAR szTitle[MAX_LOADSTRING];                  // 标题栏文本
WCHAR szWindowClass[MAX_LOADSTRING];            // 主窗口类名// 此代码模块中包含的函数的前向声明:
ATOM                MyRegisterClass(HINSTANCE hInstance);
BOOL                InitInstance(HINSTANCE, int);
LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM);
INT_PTR CALLBACK    About(HWND, UINT, WPARAM, LPARAM);int APIENTRY wWinMain(_In_ HINSTANCE hInstance,_In_opt_ HINSTANCE hPrevInstance,_In_ LPWSTR    lpCmdLine,_In_ int       nCmdShow)
{HWND hWnd = 0;MSG nMsg = {0};//创建窗口类WNDCLASS cs = { 0 };//窗口类cs.cbClsExtra = 0;cs.cbWndExtra = 0;cs.hbrBackground = (HBRUSH)(COLOR_WINDOW + 2);cs.hCursor = NULL;cs.hIcon = NULL;cs.hInstance = hInstance;cs.lpfnWndProc = (WNDPROC)WinProc; //回调函数,相当于自定义窗体事件cs.lpszClassName = L"Main";cs.lpszMenuName = NULL;cs.style = CS_VREDRAW | CS_HREDRAW;//注册窗口类RegisterClass(&cs);//实现注册类//创建窗口hWnd = CreateWindow(L"Main", L"Windows", WS_OVERLAPPEDWINDOW, 200, 200, 500, 500, NULL, NULL, hInstance, NULL);//显示窗口(在界面上显示)ShowWindow(hWnd, SW_SHOW);//更新窗口UpdateWindow(hWnd);//消息循环MSG msg;while (GetMessage(&msg, NULL, 0, 0)){TranslateMessage(&msg);DispatchMessage(&msg);}//销毁窗体、注销类DestroyWindow(hWnd);hWnd = NULL;//UnregisterClass();return 0;
}

运行效果如下:

创建流程:

1.创建窗口类

2.设置回调函数(用于监听事件或者相应对应事件)

3.注册窗口类

4.创建窗口

5.显示窗口

6.更新窗口

7.消息循环

8.销毁窗口,注销类

利用WindowsAPI创建窗体(c++)相关推荐

  1. java添加窗体中_java中利用JFrame创建窗体 【转】

    Java代码 publicclassTest(){ publicstaticvoidmain(String[] args){ JFrame frame = newJFrame(); JPanel pa ...

  2. java jframe创建窗体_Java中利用JFrame创建窗体

    1. 一个简单例子: Java代码   public class Test(){ public static void main(String[] args){ JFrame frame = new  ...

  3. 开始VC之路--创建窗体

    第一讲 用Create()方法新建一个窗体应用程序 一般来讲,大多数Windows应用程序的界面都是由一个或数个窗体构成. 而VC++中提供了丰富的类库,用于创建Windows窗体应用程序. 我们一般 ...

  4. 利用委托 实现窗体间通信,非原创

    copy自:https://www.cnblogs.com/hugoNB/p/7130562.html,这个作者写的浅显易懂,就复制下来自己看 实现过程: 这里主要是用到委托实现,所以主要描述一下委托 ...

  5. win 32 APP 项目简单创建窗体

    /*Win 32 项目创建窗体的过程 *创建窗体主要分为这么几个过程 *1. 声明一个窗体类,并完成窗体基本元素(包括窗体背景颜色,光标等)的设置 *2. 注册这个窗体类 *3. 创建这个窗体 *4. ...

  6. Java归去来第2集:利用Eclipse创建Maven Web项目

    一.前言 如果还不了解剧情,请返回第一集的剧情          Java归去来第1集:手动给Eclipse配置Maven环境 二.利用Eclipse创建Maven Web项目 选择File-New- ...

  7. Linux Namespace系列(09):利用Namespace创建一个简单可用的容器

    本文将演示如何利用namespace创建一个完整的容器,并在里面运行busybox.如果对namespace不是很熟悉,请先参考前面几遍介绍不同类型namespace的文章. busybox是一个Li ...

  8. C#WindowsForm之创建窗体

    在平常写WinForm程序时,都是使用Visual Studio 的向导功能,选中项目类型为Windows Form Application,IDE就会为我们生成好代码框架.这无疑使非常方便的,但是却 ...

  9. 利用API实现窗体淡入淡出特效

    #region 利用API实现窗体淡入淡出特效 //窗体淡入淡出特效 public const Int32 AW_HOR_POSITIVE = 0x00000001; // 从左到右打开窗口 publ ...

最新文章

  1. 2017软件工程第一次作业
  2. 【JUC并发编程01】JUC概述
  3. 项目经理如何理解定位技术
  4. 启动php出现的错误
  5. mysql oracle 表空间大小_Oracle各种空间大小及占用大小
  6. php面试编程题_一位资深php程序员在北京的面试30个题目
  7. 从零搭建美团饿了么外卖红包CPS小程序教程
  8. 东芝2303am维护清零_东芝复印机维修代码大全
  9. 精益求精, ePub 电子书制作手记
  10. 云服务器的1m带宽是多少kbps
  11. EXCEL常用技巧总结
  12. 免费高性能计算机平台,北京大学高性能计算平台
  13. 路由-策略Policy(路由重分发、路由过滤、路由策略)
  14. 入冬的寒冷让人更精神
  15. Java EXCEL 表格导入导出(带下拉选-带VLOOKUP函数封装)
  16. 演练VC中的common一族
  17. 小学二年级计算机课游戏,小学二年级适合玩的课堂游戏
  18. 三段式与四段式耳机插头的区别
  19. getsockopt和setsockopt
  20. imx6 添加matrix keypad

热门文章

  1. retrun, 集合操作的转化思想,while()回到指定位置的巧妙应用
  2. matlab图像分类器,Matlab 基于svm的图像物体分类
  3. 双系统(win10 1803+deepin 15.7)安装问题
  4. 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络模型 (一)
  5. (4.32)自定义函数整理大全
  6. 【Codeforces 63C】Bulls and Cows
  7. bzoj 4002: [JLOI2015]有意义的字符串
  8. [LeetCode][JavaScript]Power of Three
  9. css 相对单位rem详解
  10. 80端口未占用,apache无法启动解决办法