- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C调用API做界面
首先,先建一个名叫“Win32应用程序”(Win32 Application)的工程。注意,千万不要误建成“Win32控制台应用程序”(Win32 Console Application)。然后,在“Win32应用程序”工程,新建一个.c的文件。键入如下代码,一个对话框就出来了。#include?windows.hint?WINAPI?WinMain?(HINSTANCE?hThisInstance,?HINSTANCE?hPrevInstance,?LPSTR?lpszArgument,?int?nFunsterStil){????MessageBox(?NULL,?这是一个普通的对话框。,?标题栏在这里,?MB_OK?);????return?0;}
下面来个稍微复杂一点的。同样,新建“Win32应用程序”。再建一个.c的文件,然后键入如下代码编译运行,于是一个正规的窗口出来了。#include?windows.h/*?使类名成为全局变量?*/TCHAR?szClassName[?]?=?TEXT(WindowsApp);/*?这个函数由Windows内部函数DispatchMessage()调用?*/LRESULT?CALLBACK?WindowProcedure?(HWND?hWnd,?UINT?message,?WPARAM?wParam,?LPARAM?lParam){????HDC?hdc?;????PAINTSTRUCT?ps?;????RECT?rect?;????switch?(message)??/*?处理信息?*/????{????case?WM_DESTROY:????????PostQuitMessage?(0);??/*?发送WM_QUIT到消息队列?*/????????break;????case?WM_PAINT:????????hdc?=?BeginPaint?(hWnd,?ps)?;????????GetClientRect?(hWnd,?rect)?;????????DrawText?(hdc,?TEXT?(我是一个Windows窗口噢),?-1,?rect,?DT_SINGLELINE?|?DT_CENTER?|?DT_VCENTER)?;????????EndPaint?(hWnd,?ps)?;????????break?;????default:??/*?不处理的消息?*/????????return?DefWindowProc?(hWnd,?message,?wParam,?lParam);????}????return?0;}/*?下面是主函数?*/int?WINAPI?WinMain?(?HINSTANCE?hThisInstance,?HINSTANCE?hPrevInstance,?LPSTR?lpCmdLine,?int?nFunsterStil?)?{????HWND?hWnd;?/*?这是窗口的句柄?*/????MSG?messages;/*?应用程序的消息保存在这里?*/????WNDCLASSEX?wincl;/*?窗口类的数据结构?*/????/*?窗口结构?*/????wincl.hInstance?=?hThisInstance;????wincl.lpszClassName?=?szClassName;????wincl.lpfnWndProc?=?WindowProcedure;/*?这个函数由Windows操作系统调用?*/
????wincl.style?=?CS_DBLCLKS;?/*?获取双击指令?*/????wincl.cbSize?=?sizeof?(WNDCLASSEX);????/*?使用默认图标和鼠标指针?*/????wincl.hIcon?=?LoadIcon?(NULL,?IDI_APPLICATION);????wincl.hIconSm?=?LoadIcon?(NULL,?IDI_APPLICATION);????wincl.hCursor?=?LoadCursor?(NULL,?IDC_ARROW);????wincl.lpszMenuName?=?NULL;?/*?没有菜单?*/????wincl.cbClsExtra?=?0;/*?窗口类后面没有多余的字节?*/????wincl.cbWndExtra?=?0;/*?结构或者窗口实例?*/????/*?使用窗口的默认颜色作为窗口的背景色?*/????wincl.hbrBackground?=?(HBRUSH)?COLOR_BACKGROUND;
原创力文档


文档评论(0)