一个简单c语言windows程序的实现

来源:互联网 发布:新型微信网络传销模式 编辑:程序博客网 时间:2024/05/03 17:29
#include<windows.h>#include<stdio.h>LRESULT CALLBACK WinSunProc(       HWND hwnd,//handle to window       UINT uMsg,//message identifier       WPARAM wParam,//first message parameter       LPARAM lParam//second message parameter       );//写程序的入口点函数int WINAPI WinMain( HINSTANCE hInstance,             //handle to current instance HINSTANCE hPrevInstance,         //handle to previous instance LPSTR LpCmdLine,                 //commannd line int  nCmdShow                    //show state )//设计窗口类:{ WNDCLASS wndclass; wndclass.cbClsExtra=0;        //而外的类的附加字节数,不需要,赋值为0; wndclass.cbWndExtra=0;        //窗口而外的附加字节数,不需要,赋值为0; wndclass.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);  //背景设为黑色的画刷,背景用GetStockObject()这个函数,它返回的是一个hGDI            //的值,要进行强制类型转换. //光标可以用Loadcursor(),第一个参数是一个应用程序的实例号,如果我们用的是一个标准的光标,第一个参数设为NULL,后面的是光标的标实符, //如果我们记不住的话,可以查MSDN. wndclass.hCursor=LoadCursor(NULL,IDC_CROSS); //图标可以用LoadIcon()去获取,如果我们用的是一个标准的图标,第一个参数设为NULL,后面用一个error的图标. wndclass.hIcon=LoadIcon(NULL,IDI_ERROR); //应用程序实例号 wndclass.hInstance=hInstance; //窗口过程函数  wndclass.lpfnWndProc=WinSunProc; //窗口类名我们把它叫做Weixin2003 wndclass.lpszClassName="c语言"; //设置菜单的名字,因为在这我们不设菜单,所以在这我们将其设为NULL wndclass.lpszMenuName=NULL; //窗口类的类型,水平重画,垂直重画 wndclass.style=CS_HREDRAW | CS_VREDRAW; //注册窗口类, RegisterClass(&wndclass); //创建窗口,定义一个句柄,CreateWindow(),里面的参数第一个是我们的类名,记住不要写错了,窗口的名字可以叫做北京维新科学技术培训中心, //接下来的一个参数是窗口的类型,接下来的是水平坐标,垂直坐标,高度,宽度,可以自己设置,副窗口没有的话可以设为NULL,菜单没有就设为 //NULL,接下来的是实例句柄hInstance,接下来的窗口创建的数据也没有,设为NULL。 HWND hwnd; hwnd=CreateWindow("c语言","windows程序设计",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL); //接下来的话就要显示窗口ShowWindow() ShowWindow(hwnd,SW_SHOWNORMAL); //接下来的话可以更新一个窗口UpdateWindow() UpdateWindow(hwnd); //接下来的是我们的消息循环,将句柄设为空,我们想获取所有的消息,可以将其设为0,0 MSG msg; while(GetMessage(&msg,NULL,0,0)) {  //利用TranslateMessage进行转换  TranslateMessage(&msg);  DispatchMessage(&msg); } return 0;} //************************************************************************************ //********************接下来写窗口过程函数的代码************************************** //可以查MSDN,WNDCLASS,作一个函数原型的声明 //***************************接下来进行函数的定义************************************* LRESULT CALLBACK WinSunProc(       HWND hwnd,//handle to window       UINT uMsg,//message identifier       WPARAM wParam,//first message parameter       LPARAM lParam//second message parameter       ) {   //判断消息  switch(uMsg)  {  case WM_CHAR:   char szChar[20];   sprintf(szChar,"char is %d",wParam);   MessageBox(hwnd,szChar,"QQ1418913517",0);   break;  case WM_LBUTTONDOWN:   MessageBox(hwnd,"mouse clicked","c语言",0);   HDC hdc;   TextOut(hdc,0,50,"windows程序设计",strlen("windows程序设计"));   ReleaseDC(hwnd,hdc);   break;  case WM_PAINT:   HDC hDC;   PAINTSTRUCT ps;   hDC=BeginPaint(hwnd,&ps);   TextOut(hDC,0,0,"c程序",strlen("c程序"));   EndPaint(hwnd,&ps);   break;  case WM_CLOSE:   if(IDYES==MessageBox(hwnd,"是否真的结束?","QQ1418913517",MB_YESNO))   {    DestroyWindow(hwnd);   }   break;  case WM_DESTROY:   PostQuitMessage(0);   break;  default:   return DefWindowProc(hwnd,uMsg,wParam,lParam);  }  return 0; } 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一岁宝宝夏天爱哭不爱吃饭怎么办 合肥房子卖了户口没地方迁怎么办 忌作灶的日子新房装橱柜了怎么办 刮水泥浆的墙面刮不住腻子怎么办 小学二年级孩子偷钱 老师怎么办 发现自己读初中的儿子偷钱怎么办? 做错事了得不到亲人的原谅怎么办? 窗口 窗套与墙缝隙大怎么办 中班小孩还不会认1到10怎么办 母猫奶头被小猫咬伤了怎么办 口红不小心弄到衣服上怎么办 脖子后背疼的睡不着觉应该怎么办 君子兰用高锰酸钾泡浓度高了怎么办 五个月宝宝认人不要奶奶睡怎么办 幼儿小班安全卡鱼刺了怎么办教案 学籍在一年级学生在二年级怎么办 一岁多宝宝挑食不爱吃饭菜怎么办饭 换了新手机微信好友显示不全怎么办 朋友人在外地 联系不上怎么办 幼儿连字母都记不住该怎么办 车一边轮子掉农村路边小水沟怎么办 20个月小孩脾气急燥怎么办 给小孩上户口母亲是外国人怎么办 宝宝在学校不敢跟老师说话怎么办? 早教课上宝宝总爱乱跑怎么办? 20天大的宝宝4天不拉大便怎么办 还不会说话的小孩子脾气大怎么办 两岁的宝宝说话变的口吃怎么办 37周b超宝宝腿短怎么办 3岁的宝宝说话说不好怎么办 小儿说话晚的原因宝宝说话晚怎么办 22岁的儿子在家不说话怎么办 儿子2周4个月了不说话怎么办 三岁的宝宝还不会数数怎么办 2岁宝宝晚上不睡觉不听话怎么办 8个月的狗狗怕人不敢出门怎么办 狗太怕人了怎么办都不敢出门 媳妇和婆婆晚上都不想带孩子怎么办 婆婆和媳妇带孩子观念不一样怎么办 婆婆给媳妇买了不喜欢的家具怎么办 断奶后宝宝对奶粉很抗拒怎么办