您的位置:首页 > 编程语言 > C语言/C++

《C语言到底能干什么》1.8 资源的初步深入

2010-01-31 17:52 363 查看
前面已经说了资源的基本概念,不过只是做了和很简单的介绍,这次我们来点狠的,深入的。前面我虽然也用了资源,

不过只是鼠标光标的,回忆下我们的程序,是那么的简陋。我们早就想把它给装点下了吧,不用着急,学完了这节后,

你就可以成为一个雕刻师了,想让你的窗口咋样基本都可以了(需要练习了,呵呵)。

代码

/***********MyMenu.cWrittenByXHK2009.3.3************/

#include<windows.h>

#defineICO_MAIN0X1000//图标
#defineIDM_MAIN0X2000//菜单
#defineIDA_MIAN0X2000//快捷键

//回调函数
LRESULTWINAPIWinProc(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam)
{
switch(Msg)//处理消息过程,什么是消息,下节再讲
{
caseWM_DESTROY://响应鼠标单击关闭按钮事件
PostQuitMessage(0);//退出消息队列,至于什么是消息队列,下节说
return0;//退出函数
}
returnDefWindowProc(hWnd,Msg,wParam,lParam);
}

//主函数
intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,int
nShowCmd)
{
char*cName="myWindow";
char*cCaption="带目录的窗口-MadeByXHK";
WNDCLASSEXwc;
HWNDhWnd;
MSGMsg;

wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.cbSize=sizeof(WNDCLASSEX);
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wc.hCursor=NULL;
wc.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(ICO_MAIN));//载入图标
wc.hIconSm=NULL;
wc.hInstance=hInstance;
wc.lpfnWndProc=WinProc;
wc.lpszClassName=(LPSTR)cName;
wc.lpszMenuName=NULL;
wc.style=CS_HREDRAW|CS_VREDRAW;

RegisterClassEx(&wc);

hWnd=CreateWindowEx(WS_EX_CLIENTEDGE,cName,cCaption,WS_OVERLAPPEDWINDOW,
200,100,300,200,NULL,LoadMenu(hInstance,MAKEINTRESOURCE
(IDM_MAIN)),hInstance,NULL);
if(hWnd==NULL)
{//容错处理
MessageBox(NULL,"There'sanError","Error
Title",MB_ICONEXCLAMATION|MB_OK);
return0;
}
ShowWindow(hWnd,nShowCmd);//显示窗口
UpdateWindow(hWnd);

while(GetMessage(&Msg,NULL,0,0))
{
TranslateMessage(&Msg);//翻译消息
DispatchMessage(&Msg);//分派消息
}
returnMsg.message;
}


把此编译为MyMenu.obj,再和MyMenu.res进行连接成MyMenu.exe,运行看看和我截的图一样不。当然你也可以定义自己想

要的界面,不过如果是初学者,可能没有那么高的悟性吧,不急,慢慢来,你会成为高手的。

本节又是长篇大论,可能劳您心烦,然资源这方面的知识,在网上也不太好找,想介绍简单点,怕大家日后碰到没见过而又

不好找,所以我尽量压缩篇幅,依然是冗余漫长。如果大家能够看到这里,说明您的耐力是很强的,是做大事者,相信您有如此

精神,一定会光宗耀祖,出人头地,成就一番辉煌的事业的。


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: