C语言创建windows窗口实例_C 语言

耐得住寂寞,禁得起诱惑,这就是程序人生

步骤:
1.在WinMain中定义各种变量
2.注册窗口类RegisterClass
3.创建窗口CreateWindow
4.显示窗口和更新窗口

复制代码 代码如下:

ShowWindow (hwnd, iCmdShow) ;
     UpdateWindow (hwnd) ;

5.消息循环

复制代码 代码如下:

while (GetMessage (&msg, NULL, 0, 0))
     {
          TranslateMessage (&msg) ;
          DispatchMessage (&msg) ;
     }

完整代码:

复制代码 代码如下:

#include <windows.h> 
 
LRESULT CALLBACK MyProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam); 
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ) 

     MSG      msg; 
     HWND     hwnd; 
     static TCHAR szAppName[] = "hl"; 
 
     WNDCLASS wndclass; 
     wndclass.style        = CS_HREDRAW | CS_VREDRAW; 
     wndclass.cbClsExtra   = 0; 
     wndclass.cbWndExtra   = 0; 
     wndclass.lpfnWndProc  = MyProc; 
     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("error"),TEXT("title"),MB_ICONERROR); 
          return 0; 
     } 
     hwnd = CreateWindow(szAppName, 
                              TEXT("Hello"), 
                              WS_OVERLAPPEDWINDOW, 
                              CW_USEDEFAULT, 
                              CW_USEDEFAULT, 
                              CW_USEDEFAULT, 
                              CW_USEDEFAULT, 
                              NULL, 
                              NULL, 
                              hInstance, 
                              NULL 
                              ); 
     ShowWindow(hwnd,nShowCmd); 
     UpdateWindow(hwnd); 
 
     while(GetMessage(&msg,hwnd,0,0)) 
     { 
          TranslateMessage(&msg); 
          DispatchMessage(&msg); 
     } 
     return msg.wParam; 

 
LRESULT CALLBACK MyProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam) 

 
     switch(message) 
     { 
     case WM_DESTROY: 
          PostQuitMessage(0); 
          return 0; 
     } 
     return DefWindowProc(hwnd,message,wParam,lParam); 

时间: 2024-10-28 19:51:18

C语言创建windows窗口实例_C 语言的相关文章

linux下基于C语言的信号编程实例_C 语言

本文实例讲述了linux下基于C语言的信号编程方法.分享给大家供大家参考.具体如下: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <unistd.h> #include <signal.h> void sig_handler(int sig_no, siginfo_t *info, void *ctext){ printf("receive si

C语言十进制转二进制代码实例_C 语言

用C语言实现将十进制转化为二进制,并统计转换后的二进制码中1的个数. #include <stdio.h> int binaryNum[16]; //存放转换后得到的二进制码 int count=0; //计数十进制整数被2除的次数 int oneCount=0; //得到的二进制码中1的个数 void main(){ int num; printf("输入一个十进制的整数:"); scanf("%d",&num); while( (num/2)

C++归并算法实例_C 语言

本文实例讲述了C++归并算法.分享给大家供大家参考.具体如下: /* 归并算法:把两个或两个以上的线性表合并在一起,形成一个新的线性表 函数模版的基本使用 程序意图:将两个相同类型的线性表元素排好序,然后将他们组合成一个排好的线性表 */ #include <iostream> using namespace std; const int n = 5; //5个元素 //输出数据元素 template <class T1> void OutPut(T1 out[(2*n)]) {

C语言输出旋转后数组中的最小数元素的算法原理与实例_C 语言

  问题描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个排好序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1.      思路:这道题最直观的解法并不难.从头到尾遍历数组一次,就能找出最小的元素,时间复杂度显然是O(n).但这个思路没有利用输入数组的特性.既然有时间复杂度更小的算法,我们容易想到二分查找,因为它的时间复杂度为O(logn).这个问题是否可以运用二分查找呢

阿里云如何创建 Windows 系统实例

  步骤 2:创建 Windows 系统实例 这里只介绍新购实例.如果您有镜像,可以使用自定义镜像创建实例. 新购实例操作步骤: 登录 云服务器管理控制台. 输入账号登录.如果尚未注册,单击 免费注册 . 定位到 云服务器ECS > 实例 .单击 创建实例 . 选择付费方式:包年包月 或 按量付费 .关于两种付费方式的区别,请参见 计费模式. 如果选择 按量付费 ,请确保账户余额至少有 100元 .如无余额,请进入 充值页面 充值后再开通. 选择地域.有时候也被称为"节点",是指

C语言实现Linux下的socket文件传输实例_C 语言

本文实例讲述了C语言实现Linux下的socket文件传输.分享给大家供大家参考.具体如下: server.c如下: //////////////////////////////////// //服务器代码 /////////////////////////////////// //本文件是服务器的代码 #include <netinet/in.h> // for sockaddr_in #include <sys/types.h> // for socket #include &

C++读写INI配置文件的类实例_C 语言

本文实例讲述了C++读写INI配置文件的类.分享给大家供大家参考.具体如下: 1. IniReader.h文件: #ifndef INIREADER_H #define INIREADER_H #include <windows.h> class CIniReader { public: CIniReader(LPCTSTR szFileName); int ReadInteger(LPCTSTR szSection, LPCTSTR szKey, int iDefaultValue); fl

C语言编程中实现二分查找的简单入门实例_C 语言

架设有一个数组 v 已经按升序排列了,数组 v 有 n=20 个元素.数组中有个元素 x,如何知道 x 位于该数组的第几位呢? 解决这个问题的一个普遍方法就是二分查找法.下面是程序: #include <stdio.h> int binsearch(int x, int v[], int n); main() { int i, result, n; int wait; int x = 17; // 需要查找的数值 int v[19]; // 定义一个数组 // 给数组赋值 for(i = 0;

C基础 mariadb处理的简单实例_C 语言

引言 MariaDB 是一款灰常不错开源数据库. 这里直接用它来解决业务问题. 业务需求: 现在数据库中表示按照天分表的. 突然我们需要按照月来处理数据. 例如输入一个玩家id, 查找这个玩家这个月内看了一件事几次. 我们先搭建一个环境. 操作系统: Linux version 4.4.0-22-generic (buildd@lgw01-41) (gcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2) ) #40-Ubuntu SMP Thu M