c语言建立可视化窗口,如何用C语言编程出可视化界面?
//调用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语言编程出可视化界面?相关推荐
- c语言n阶方阵,如何用C语言编出一个N阶螺旋方阵?
如何用C语言编出一个N阶螺旋方阵? 來源:互聯網 2009-06-01 10:17:07 評論 分類: 電腦/網絡 >> 程序設計 >> 其他編程語言 問題描述: 例如:1 ...
- python可视化窗口打印信息,【python】Tkinter可视化窗口(一)
因为想给自己的毕设要做个可视化,而不是简单地黑框框,就试着学了学Tkinter,发现上手起来是真的简单,在此,推荐给大家! Tkinter是什么 Tkinter是使用 python 进行窗口视窗设计的 ...
- c语言字符的计数器,如何用C语言编写计数器.docx
如何用C语言编写计数器 难怪很多前辈说调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言.不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件.?我以前接触的程序大多是有比较成形 ...
- c语言烟花程序视频,如何用c语言编写动态烟花
用c语言编写动态烟花的方法:首先绘制菜单界面显示文字:然后设置烟花有上升阶段和爆炸阶段,定义烟花和烟花弹结构体:最后初始化数据,加载资源贴图,随机发射数目随机. 用c语言编写动态烟花的方法: 效果展示 ...
- c语言编译器怎窗口怎么执行,c语言编译(c语言编译执行详解)
大家一般都用的是什么软件呢? 1.C语言编程软件有哪些:Mcrosoft Visual C++ .Microsoft Visual Studio. DEV C++.Code::Blocks.Borla ...
- c语言之多线程函数,如何用C语言实现多线程
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Windows操作系统,C语言实现多线程: #include #include DWORD APIENTRY ThreadOne ( LPVOID thr ...
- c语言改变doss窗口的颜色,C语言第三次模拟练习题部分解答
<C语言第三次模拟练习题部分解答>由会员分享,可在线阅读,更多相关<C语言第三次模拟练习题部分解答(20页珍藏版)>请在装配图网上搜索. 1.单项选择1. 题号:13334若有 ...
- c语言如何关闭线程,如何用C语言实现多线程
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Windows操作系统,C语言实现多线程: #include #include DWORD APIENTRY ThreadOne ( LPVOID thr ...
- c语言多线程怎么写,如何用C语言实现多线程
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Windows操作系统,C语言实现多线程: #include #include DWORD APIENTRY ThreadOne ( LPVOID thr ...
最新文章
- android操作系统优势,Android操作系统平台最大的优势
- matlab 的excel 对象,MATLAB 中的 COM 对象
- gitlab clone需要密码_搭建gitlab服务器最详教程
- 以太坊上Dex交易量环比下降15%
- linux 空闲物理内存 很少,linux系统free查看内存,发现可用物理内存很少,但是查看进程却发现没进程占用大内存...
- 济南清北学堂游记 Day 6.
- Get value from agent failed: cannot connect to [[192.168.186.130]:10050]: [113]No route to host
- 用计算机刻录光盘,图文详解怎么用电脑刻录光盘
- Docker基础(三)—配置镜像加速器
- pyecharts qq聊天记录数据可视化
- RxJava 与 Retrofit 结合的最佳实践
- 第二届华东架构师大会成功召开
- web后台管理系统框架
- 捕获海康威视IPCamera图像,转成OpenCV能够处理的图像(二)
- 健美运动员赛前脱水断碳_就金刚狼的问题,谈谈健美比赛前的控水脱水
- eclispe如何运行jsp文件
- Codeforces Round #594 (Div. 2) Ivan the Fool and the Probability Theory(DP)
- android 轻松实现在线即时聊天【图片、语音、表情、文字】等!含源码!
- word 文档图标变成记事本啦!(菜鸟记录)
- 登录界面实现动态背景
热门文章
- 解决邮件客户端QQ Mail及Thunderbird无法登入Outlook的问题
- 对fiber的一点了解
- 概论_第8章_假设检验的基本步骤__假设检验的类型
- Visual Studio帮助文档安装以及设置(内置msdn)
- 00_简单常识介绍——NOIP/NOI/IOI(信息学奥林匹克竞赛)
- 技术总监和总工的差异
- [VB.NET]VB的vbFromUnicode、vbUnicode在vb.net中怎么使用
- 如何控制QQ好友访问空间?
- std::tuple、std::tie(可用于结构体大小比较)、std::pair用法
- tp6静态.htaccess