//调用api函数创建窗口

//示例:

#include

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);//窗口过程函数

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)

{

static TCHAR szAppName[] = TEXT("MyWindows");//定义窗口类名

HWND hwnd;//窗口句柄

MSG msg; //

WNDCLASS wndclass;  //窗口类

wndclass.style = CS_HREDRAW | CS_VREDRAW;//指定窗口类型,各种“类风格”(详见下方↓)可以使用按位或操作符组合起来

wndclass.lpfnWndProc = WndProc;//指定窗口过程(必须是回调函数)

wndclass.cbClsExtra = 0;//预留的额外空间,一般为 0

wndclass.cbWndExtra = 0;//预留的额外空间,一般为 0

wndclass.hInstance = hInstance;//应用程序的实例句柄

wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);//为所有基于该窗口类的窗口设定一个图标

wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);//为所有基于该窗口类的窗口设定一个鼠标指针

wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);//指定窗口背景色

wndclass.lpszMenuName = NULL;//指定窗口菜单

wndclass.lpszClassName = szAppName;//指定窗口类名

if (!RegisterClass(&wndclass))//注册窗口

{

MessageBox(NULL, TEXT("这个程序需要在 Windows NT 才能执行!"), szAppName, MB_ICONERROR);

return 0;

}

hwnd = CreateWindow(szAppName,      //创建窗口

TEXT("windows"),

WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT,

CW_USEDEFAULT,

CW_USEDEFAULT,

CW_USEDEFAULT,

NULL,

NULL,

hInstance,

NULL);

ShowWindow(hwnd, iCmdShow);  //显示窗口

UpdateWindow(hwnd);      //更新窗口,重绘

while (GetMessage(&msg, NULL, 0, 0)) //获得消息

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

return msg.wParam;

}

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)//回调函数

{

HDC hdc;

PAINTSTRUCT ps;

RECT rect;

switch (message)

{

case WM_PAINT:

hdc = BeginPaint(hwnd, &ps);

GetClientRect(hwnd, &rect);

DrawText(hdc, TEXT("第一个C语言窗口程序!"), -1, &rect,

DT_SINGLELINE | DT_CENTER | DT_VCENTER);

EndPaint(hwnd, &ps);

return 0;

case WM_DESTROY:

PostQuitMessage(0);

return 0;

}

return DefWindowProc(hwnd, message, wParam, lParam);

}

c语言建立可视化窗口,如何用C语言编程出可视化界面?相关推荐

  1. c语言n阶方阵,如何用C语言编出一个N阶螺旋方阵?

    如何用C语言编出一个N阶螺旋方阵? 來源:互聯網  2009-06-01 10:17:07  評論 分類: 電腦/網絡 >> 程序設計 >> 其他編程語言 問題描述: 例如:1 ...

  2. python可视化窗口打印信息,【python】Tkinter可视化窗口(一)

    因为想给自己的毕设要做个可视化,而不是简单地黑框框,就试着学了学Tkinter,发现上手起来是真的简单,在此,推荐给大家! Tkinter是什么 Tkinter是使用 python 进行窗口视窗设计的 ...

  3. c语言字符的计数器,如何用C语言编写计数器.docx

    如何用C语言编写计数器 难怪很多前辈说调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言.不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件.?我以前接触的程序大多是有比较成形 ...

  4. c语言烟花程序视频,如何用c语言编写动态烟花

    用c语言编写动态烟花的方法:首先绘制菜单界面显示文字:然后设置烟花有上升阶段和爆炸阶段,定义烟花和烟花弹结构体:最后初始化数据,加载资源贴图,随机发射数目随机. 用c语言编写动态烟花的方法: 效果展示 ...

  5. c语言编译器怎窗口怎么执行,c语言编译(c语言编译执行详解)

    大家一般都用的是什么软件呢? 1.C语言编程软件有哪些:Mcrosoft Visual C++ .Microsoft Visual Studio. DEV C++.Code::Blocks.Borla ...

  6. c语言之多线程函数,如何用C语言实现多线程

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Windows操作系统,C语言实现多线程: #include #include DWORD APIENTRY ThreadOne ( LPVOID thr ...

  7. c语言改变doss窗口的颜色,C语言第三次模拟练习题部分解答

    <C语言第三次模拟练习题部分解答>由会员分享,可在线阅读,更多相关<C语言第三次模拟练习题部分解答(20页珍藏版)>请在装配图网上搜索. 1.单项选择1. 题号:13334若有 ...

  8. c语言如何关闭线程,如何用C语言实现多线程

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Windows操作系统,C语言实现多线程: #include #include DWORD APIENTRY ThreadOne ( LPVOID thr ...

  9. c语言多线程怎么写,如何用C语言实现多线程

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Windows操作系统,C语言实现多线程: #include #include DWORD APIENTRY ThreadOne ( LPVOID thr ...

最新文章

  1. android操作系统优势,Android操作系统平台最大的优势
  2. matlab 的excel 对象,MATLAB 中的 COM 对象
  3. gitlab clone需要密码_搭建gitlab服务器最详教程
  4. 以太坊上Dex交易量环比下降15%
  5. linux 空闲物理内存 很少,linux系统free查看内存,发现可用物理内存很少,但是查看进程却发现没进程占用大内存...
  6. 济南清北学堂游记 Day 6.
  7. Get value from agent failed: cannot connect to [[192.168.186.130]:10050]: [113]No route to host
  8. 用计算机刻录光盘,图文详解怎么用电脑刻录光盘
  9. Docker基础(三)—配置镜像加速器
  10. pyecharts qq聊天记录数据可视化
  11. RxJava 与 Retrofit 结合的最佳实践
  12. 第二届华东架构师大会成功召开
  13. web后台管理系统框架
  14. 捕获海康威视IPCamera图像,转成OpenCV能够处理的图像(二)
  15. 健美运动员赛前脱水断碳_就金刚狼的问题,谈谈健美比赛前的控水脱水
  16. eclispe如何运行jsp文件
  17. Codeforces Round #594 (Div. 2) Ivan the Fool and the Probability Theory(DP)
  18. android 轻松实现在线即时聊天【图片、语音、表情、文字】等!含源码!
  19. word 文档图标变成记事本啦!(菜鸟记录)
  20. 登录界面实现动态背景

热门文章

  1. 解决邮件客户端QQ Mail及Thunderbird无法登入Outlook的问题
  2. 对fiber的一点了解
  3. 概论_第8章_假设检验的基本步骤__假设检验的类型
  4. Visual Studio帮助文档安装以及设置(内置msdn)
  5. 00_简单常识介绍——NOIP/NOI/IOI(信息学奥林匹克竞赛)
  6. 技术总监和总工的差异
  7. [VB.NET]VB的vbFromUnicode、vbUnicode在vb.net中怎么使用
  8. 如何控制QQ好友访问空间?
  9. std::tuple、std::tie(可用于结构体大小比较)、std::pair用法
  10. tp6静态.htaccess