![第7章资源在Windows编程中的应用_第1页](http://file4.renrendoc.com/view14/M0B/19/0C/wKhkGWZKcImAG8anAAEo_xfzzTo182.jpg)
![第7章资源在Windows编程中的应用_第2页](http://file4.renrendoc.com/view14/M0B/19/0C/wKhkGWZKcImAG8anAAEo_xfzzTo1822.jpg)
![第7章资源在Windows编程中的应用_第3页](http://file4.renrendoc.com/view14/M0B/19/0C/wKhkGWZKcImAG8anAAEo_xfzzTo1823.jpg)
![第7章资源在Windows编程中的应用_第4页](http://file4.renrendoc.com/view14/M0B/19/0C/wKhkGWZKcImAG8anAAEo_xfzzTo1824.jpg)
![第7章资源在Windows编程中的应用_第5页](http://file4.renrendoc.com/view14/M0B/19/0C/wKhkGWZKcImAG8anAAEo_xfzzTo1825.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章资源在Windows编程中
的应用
,加速键
位图
光标
资源<对话框
菜单
字符串
I工具条
1
7.1菜单和加速键资源及其应用
菜单由以下组成部分:
(1)窗口主菜单条
(2)下拉式菜单框
(3)菜单项热键标识
(4)菜单项加速键标识
(5)菜单项分隔线
2
7.L1菜单的创建过程
⑴定义菜单
菜单在资源描述文件中的定义形式为:
选项说明
字符串成IDISCARDABLE当不再需要菜单时可丢弃
1-655352IFIXED将菜单保存在内存中的固定位置
间的整数]LOADONCALL需要时加载菜单
MOVEABLE菜单在内存中可移动
4^^^LTRELOAD立即加载菜单
menuIDMENU[,载入特桂冠项]{菜单项列表}
POPUP语句
MENUITEM语句
POPUP语句定义弹出式菜单,其形式为:
POPUP"菜单项名”[,选项];
选项说明
MENUBARBREAK菜单项纵向分隔标志
CHECKED显示选中标志
INACTIVE禁止一个菜单项
GRAYED禁止并变灰显示
在菜单项名中加入符号"&”,以定义热键
定义弹出式菜单项“编辑”的形式如下:
POPUP,,编辑(&E)”;
4
MENUITEM用于定义菜单项,其形式为:
MENUITEM”菜单项名”菜单项标识(ID)[,
选项]
ID为菜单项标识,在WM_COMMAND消息
中字参数wParam中包含选中菜单项的标识。
每个菜单项的标识必须唯一,标识值常在
头文件中定义。
如:创建菜单中的水平分隔符:
MENUITEMSEPARATOR
5
该菜单在资源描述文件中的定义如下:
#include<windows.h>
#include''Menu.h''
〃菜单定义
MymenuMENUMOVEABLE
{POPUP〃文件(&F)〃
{MENUITEM〃新建(&N)〃,IDM_NEW
MENUITEM〃打开(&0)〃,IDM_OPEN
MENUITEM〃关闭(&C)〃,IDM_CLOSE
MENUITEM〃保存(&S)〃,IDM_SAVE
MENUITEM〃另存为(&A)〃,IDM_SAVEAS
MENUITEMSEPARATOR
MENUITEM“退出(&X)”,IDM_EXIT
}
}
6
menu,h文件中定义了菜单项标识所对应的
数值:
ttdefineIDM_NEW10
ttdefineIDM_0PEN11
ttdefineIDM_CL0SE12
ttdefineIDM_SAVE13
ttdefineIDM_SAVEAS14
ttdefineIDM_EXIT15
7
(2)加载菜单资源
(在窗口类中加载菜单
WNDCLASSwndclass;
•••
wndclass.lpszMenuName=lpszMenuName;
在创建窗口时加载菜单
<HWNDhwnd;HMENUhmenu;
hmenu=LoadMenu(hlnstance,nMy_menun);
hwnd=CreateWindow(hmenu,…);
动态加载菜单
hmenu2=LoadMenu(hlnstance,nMenu2n);
SetMenu(hwnd,hmenu2);
8
7.1.2操作菜单项
据dwEnable的取值,可为
1.禁止或激活菜单项
菜单项的ID值,也为该菜
BOOLEnableMenuItem单项在菜单中位置
(HMENUhmenu,
U1NTwIDEnableltem,//被禁止或激活的菜单项标识
UINTdwEnable
标识说明
MFBYCOMMAND以ID值标识菜单项
MFENABLED激活菜单项
MF^BYPOSITION表明以位置标识菜单项
MFZGRAYED禁止菜单项并使其变灰显示
MFDISABLED禁止菜单项
2.设置或取消选中标志
DWORDCheckMenuItem
(
HMENUhmenu,
UINTwIDCheckltem,//菜单项标识
UINTdwCheck//操作标识
标识说明一
MFCHECKED添加选中标志
MFUNCHECKED删除选中标志
10
3.增加菜单项
(1)在菜单的尾部增加菜单项
BOOLAppendMenu
(HMENUhmenu,
UINTdwFlags,//新加入的菜单项类型标识
UINTdwIDNewItem,//新加入菜单项的ID
LPCTSTRIpNewItem//新加入的菜单项内容
例如在“文件”菜单的末尾增加一项“关于”:
AppendMenu(hmenu,MF_ENABLED,IDM_ABOUT,“关于(&A)“);
ii
⑵在菜单中插入菜单项
调用函数InsertMenu在菜单中插入新的菜单
BOOLInsertMenu
(HMENUhmenu,//菜单句柄
UINTwPosition,//指定新菜单项插入的位置
UINTdwFlag,〃新加入的菜单项的信息
UINTdwIDNweltem,//新加入的菜单项的标识
LPCTSTRIpNewItem//新插入的菜单项的内容
)
例如,在“文件”菜单的“退出”项之前加入“打
印”菜单项;
InsertMenu(hmenu,IDMEXIT,
MF_BYCOMMAND|MF_ENABLED,
IDM_PRINT,〃打印(&P)〃);
12
4.删除菜单项
调用函数DeleteMenu删除菜单项:
BOOLDeleteMenu
(
HMENUhmenu,
UINTwPosition,〃要删除的菜单项的位置
UINTdwFlag〃对wPosition的解释
例如,删除“文件”菜单中的“另存为”菜单项:
DeleteMenu(hmenu,IDM_SAVEAS,MF_BYCOMMAND)
13
5.修改菜单项
调用函数ModifyMenu修改菜单中的某个项;
BOOLModifyMenu
(HMENUhmenu,
UINTwPosition,//指定需修改的菜单项位置
UINTdwFlag,
UINTdwIDNweltem,//修改后菜单项的标识
LPCTSTRIpNewItem//修改后的菜单项名
)
例如:修改“文件”菜单中“打开”项为“加载”
项:
ModifyMenu(hmenu,IDM_OPEN,MF_BYCOMMAND,
IDM_LOAD,〃加载(&L)〃).
7.1.3动态地创建菜单
动态地创建菜单可以使系统资源更加节省,
在应用程序中动态创建菜单分两个步骤:
1.调用函数CreateMemi创建空的弹出式菜单
HMENUCreateMenu(void)
2.调用函数AppendMenu或InsertMenu在该
菜单中加入菜单项。
15
7.1.4加速键资源
加速键资源是常伴随菜单使用的一种非常有用
的资源
(1)在资源描述文件中定义加速键资源
力口速键名ACCELERATORS
加速键标识(ID),
[类型]
[NOINVERT]〃使用加速键时,菜单项不高亮显示
[ALT][SHIFT][CONTROL]//组合键的组合方式
16
常用的加速键有两种形式:
DAchar9\id
例如:“文件”菜单中“保存”项的加速键可定义
为:
“人3”,IDMSAVE
②nCode,idVIRTKEY
使用虚拟键作为加速键。
例如将F1键定义为“帮助”菜单项的加速键,其
ID标识为IDM_HELP,其形式如下:
VKF1JDMHELP,VIRTKEY
17
2.加载加速键资源
调用函数LoadAccelerators加载加速键资源:
•••
HACCELhAccel;
•••
hAccel=LoadAccelerators
(
hlnstance,//当前程序实例句柄
IpAccelName//IpAccelName为加速键表名
18
3.翻译加速键
翻译操作经常在应用程序的消息循环中进行:
while(GetMessage(&Msg9NULL,0,0))
{if(!TranslateAccelerator(hwnd,hAccel,&Mag))
{TranslateMessage(&Msg);
DispatchMessage(&Msg);
函数TranslateAccelerator是翻译操作的
核心。其作用是对照加速键表,将相关的
按键消息WM_KEYDOWN和WM_KEYUP翻译成
WM_COMMAND豉WM_SYSCOMMAND消息。其特
点是将翻译后的消息直接发往窗口,不在
消息队列中等待。19
7.1.5创建菜单资源实例
【例7・1】创建一个窗口菜单的构架,单击“创
建统计计算菜单项”动态地创建“统计计算”
菜单,之后,“创建统计计算菜单项”变成
不可操作,而原先不可操作的“删除统计计
enu_Exampl
:项”变成可操作,执行“删
*JLW5I
五件里)编福旧帮助国।
新建S)Ctrl+H除统计计算菜单项”菜单
打开©)Ctrl+0命令删除“统计计算”菜
关闭©
inuExample
保存⑤)Ctrl+S
文件IJ)翁耨®)统计计篁ICI
另存为®
求和
创建统讨计算菜单项也)Ctrl+P万差
综前杼播菜隼项迎园表处」一
m।平均值
退出阴均方根20
ttinclude"windows.h〃
ttinclude〃7_1.h〃
HMENUhmenu,haddmenu;//定义菜单句柄
LRESULTCALLBACKWndProc(HWND,UINT,WPARAM,LPARAM);
intWINAPIWinMain(……)
i........
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
hAccel=LoadAccelerators(hlnstance,IpszMenuName);
while(GetMessage(&Msg,NULL,0,0))
{〃在消息循环中截获加速键消息
if(!TranslateAccelerator(hwnd,hAccel,&Msg))
{TranslateMessage(&Msg);
DispatchMessage(&Msg);
returnMsg.wParam;}
21
LRESULTCALLBACKWndProc(……)
{switch(message)
{caseWM.COMMAND:
switch(LOWORD(wParam))
caseIDM.ADDMENU://在主菜单中添加弹出式菜单
hmenu=GetMenu(hwnd);//获取主菜单句柄
haddmenu=CreateMenu();//动态创建菜单
//在创建的菜单中增加菜单项
AppendMenu(haddmenu,MF_ENABLED,IDM_qiuhe「求和”);
AppendMenujhaddmenu,MF_ENABLED,IDM_fangchaJ方嚏”);
AppendMenu(haddmenu,MF_ENABLEDJDM_pinjunzhiJ平均值");
AppendMenu(haddmenu,MF_ENABLED,IDM_junfanggen「均方根”);
//圈创建的弹出式菜单插入主菜单中
lnsertMenu(hmenu,2,MF_P0PUP|MF_BYP0SITI0N,
(UINT)haddmenuJ统计计算(&C)”);
〃相应改变菜单中有关绘图统并计算菜单项的属性
EnableMenultemfhmenuJDM.ADDMENU^F.GRAYED);
EnableMenultem(hmenu,IDM_DELMENU,MF_ENABLED);
DrawMenuBar(hwnd);//重新显示窗口菜单
22
break;
caselDM_DELMENU:
DeleteMenufhmenu^^F.BYPOSITION);〃删除统计计算菜单项
〃相应改变“文件”菜单中有关统计计算菜单项的属性
EnableMenultem(hmenu,IDM_ADDMENU,MF_ENABLED);
EnableMenultemfhmenuJDM.DELMENU^F.GRATED);
DrawMenuBar(hwnd);万重新显示窗口菜单
break;
caseIDM.EXIT:
SendMessage(hwnd,WM_DESTROY,0,0);
break;
}
break*
caseWM.DESTROY:
PostQuilMessage(O);
break;
default:returnDefWindowProc(hwnd,message,wParamJParam);
)
return0;
}23
本例程的头文件如下:
ttdefineIDM_ADDMENU15
ttdefineIDM_DELMENU16
ttdefineIDM_EXIT17
ttdefineIDM_HELP22
#defineIDMqiuhe23
#defineIDM_fangcha24
#defineIDMpinjunzhi25
#defineIDM_junfanggen26
24
本例程用到的资源文件源代码如下:
#include"c:\prog_book\7_1\7_1.h"
#include"windows.h"
MENUMENUDISCARDABLE
BEGIN
POPUP"文件(&F)”
BEGIN
MENUITEM”创建统计计算菜单项(&P)\tCtrl+P”,IDM_ADDMENU
MENUITEM”册ij除统计计算菜单项(&D)\tCtrl+D\IDM_DELMENU,GRAYED
MENUITEMSEPARATOR
MENUITEM”退出(&X)“,IDM_EXIT
END
MENUITEM”帮助(&H)“,IDM.HELP
END
MENUACCELERATORSMOVEABLEPURE
BEGIN
IIAPH,IDM_ADDMENU,ASCII
HADH,IDM_DELMENU,ASCII
END25
7.2位图资源及其应用
26
7.2.1位图概念
位图是一种数字化的图形表示形
式,位图中的每个像素点由位图文件
中的一位或多位数据表示。整个位图
的信息被细化为每个像素点的属性值。
位图数据量一般较大,为了提高
显示刷新速度,位图操作须在内存中
进行。
27
722位图的操作过程
位图操作过程:
•定义位图句柄:HBITMAPhBm;
•加载或创建
hBm=LoadBitmap(hlnstance,IpszName)
hBm=CreateCompatibleBitmap(hdc,nWidth,nHeight)
•选入内存设备环境
SelectObject(hdcmem,hBm);
•输出
BOOLBitBIt
(HDChdcDest,〃目的设备环境句柄
intXDest,intYDest,intnWidth,intnHeitght,〃位图系点及高宽
HDChdcSrc,intnXSrcJntnYsrc,〃源设卷环境句柄及位图基点
DWORDdwRop//标识位图显示方式
)28
在输出位图之前,经常需调用函数GetObject
获取位图的尺寸:
GetObject
(hBitmap,//为位图句柄
sizeof(BITMAP),//BITMAP结构的大小
(LPVOID)&bm//BITMAP结构的地址
应用程序调用函数GetObject后,将指定位图的
信息写入BITMAP结构中(结构见教材)
29
7.2.3位图操作实例
【例7・2】本例调用一幅坦克的图片,并在用户窗口区
上显示
LRESULTCALLBACKWndProc(……)
{PAINTSTRUCTps;
switch(message)
{caseWM.CREATE:
hdc=GetDC(hwnd);//获取设备环境句柄
hdcmem=CreateCompatibleDC(hdc);//内存设备环境句柄
ReleaseDC(hwnd,hdc);//释放设备环境句柄
caseWM.PAINT:
hdc=BeginPaint(hwnd,&ps);
SelectObject(hdcmem,hBm);//将位图选入内存设备环境
30
//将内存设备环境中的位图拷贝到设备环境中
BitBlt(hdc,180,80,bm.bmWidth,bm.bmHeightjhdcmem,0j0,SRCCOPY);
EndPaint(hwnd,&ps);〃释放设备环境句柄
break;
caseWM_DESTROY:
DeleteObject(hBm);//释放位图
PostQuitMessage(O);
break;
default:
returnDefWindowProc(hwnd,message,wParam,IParam);
)
return0;
)
本例的资源文件如下:
pic7BITMAPpic7_2.bmp〃定义位图资源31
7.3对话框资源及其应用
对话框是一个弹出式窗口,它一般用于
用户输入或与用户进行交互活动的场合
不允许用户在关闭对话框
二之前切换到应用程序的其
对他窗口
话
框允许用户在该对话框与应用程
序其他窗口之间的切换,非模
式对话框从WinMain函数的消
息循环中接收输入
7.3.1模式对话框的编程方法
1.定义对话框资源
一般的形式为:
对话框名DIALOG[载入特性选项]
33
2.调用函数DialogBox显示对话框
调用DialogBox函数在窗口中显示对话框:
intDialogBox
(HINSTANCEhlnstance,
LPCTSTRIpszDialogName,//对话框资源的名称
HWNDhwndParent,//拥有该对话框的窗口句柄
DLGPROCIpDialogFunc//对话框处理函数的地址
)
34
3.构造对话框消息处理函数
对话框消息处理函数的一般形式为:
BOOLCALLBACKDlgProc(HWNDhDIg,.
{switch(message)
{caseWMJNITDIALOG:
return1;
caseWM.COMMAND
switch(LOWORD(wParam))
{case...
■■■
break;
■■■
)
break;
)
return0;
)35
在对话框消息处理函数中主要常处理以下两
类消息:
(a)WMJNITDIALOG消息
对话框在响应消息WM_INITDIALOG消息
时完成其初始化操作,在功能上与主窗口
函数的WIVLCOMMAND消息相彳以。
(b)WIVLCOMMAND消息
对话框在响应消息WNLCOMMAND时,
通过查看消息字参数(wParam)中的低位
字节,与控件标识(ID)相比较,以确定
产生交互请求的控件并据此转入相应的处
理过程进行处理。
36
4.关闭对话框
调用函数EndDialog可以关闭对话框:
BOOLEndDialog(HWNDhdlg,INT_PTRnResult)
Windows消息框是模态对话框的一种特殊形式,应
用程序可通过调用函数MessageBox生成一些简单但
又常用的消息框:
intMessageBox
(HWNDhwnd,//拥有消息框的窗口
LPCTSTRIpszText,//消息框中显示的字符串
LPCTSTRIpszCaption,//作为标题的字符串
DWORDdwType//指定消息框的内容
)
37
dwType常用标识及其说明
MB_CANCELTRYCONTINUE
含有Cancel、TryAgain和Continue按钮的消息框
MBJCONEXCLAMATION,MBJCONWARNING
含有惊叹号图标的消息框
MBJCONQUESTION含有问号图标的消息框
MBJCONSTOP,MBJCONERROR,MBJCONHAND
含有停止图标的消息框
MB_OK含有一个OK按钮的消息框
MB_OKCANCEL含有0K和CANCEL按钮的消息框
MB_RETRYCANCEL含有RETRY和CANCEL按钮的消息本区
MB_YESNO含有YES和NO按钮的消息框
MB_YESNOCANCEL含YES、NO和CANCEL按钮的消息框
7.3.2模态对话框应用实例
LRESULTCALLBACKWndProc(…,…,…,…)
{switch(message)
{caseWM.COMMAND:
switch(LOWORD(wParam))
{caseIDM_OPEN:
MessageBox(hwnd」文件已经打开!文件打开
break;
caseIDM.SAVE:
MessageBox(hwndJ文件保存成功!7文件保存”,MB_OK);
break;
caseIDM.EXIT:
SendMessage(hwnd,WM_DESTROY,0,0);break;
caseIDM_ABOUT://创建对话框
DialogBox(hlnst「About”,hwnd,(DLdPROC)DlgProc);break;
}
break;
caseWM_DESTROY:PostQuitMessage(O);break;
default:returnDefWindowProc(hwnd,message,wParamJParam);
return0;}40
BOOLCALLBACKDlgProc(HWNDhdlg,
{switch(message)
{caseWMJNITDIALOG://初始化对话框
return1;
caseWM_COMMAND://处理对话框消息
switch(LOWORD(wParam))
{caseIDOK://关闭对话框
EndDialog(hdlg,0);return1;
)
break;
caseWM_CLOSE:
EndDialog(hdlg,0);return1;
)
return0;
)41
本例的资源程序代码如下:
#include<windows.h>
#include”7_3.h”
MenuMENUDISCARDABLE
(
POPUP”文件(&F)”
{MENUITEM”打开(&0)\tCtrl+O11,IDM_OPEN
MENUITEMSEPARATOR
MENUITEM”保存(&S)\tCtrl+S11,IDM_SAVE
MENUITEMSEPARATOR
MENUITEM”退出(&X)“,IDM.EXIT
)
POPUP”帮助(&H)”
(
MENUITEM11关于(&A),,二IDM.ABOUT
)
)42
MenuACCELERATORS
(
,,AOn,IDM_OPEN
“AS”,IDMSAVE
)
AboutDIALOG10,10,100,50
STYLEWS.POPUP|WS_CAPTION|WS_SYSMENU
CAPTION'俣于,,
FONT18J楷体,,//对话框中的文本字体类型及大小
(
CTEXT“Windows模态对话框>1,13,10,80,10
DEFPUSHBUTTON”确定”,IDOK,35,30,30,12
)
43
7.3.3非模态对话框的编程方法
非模态对话框在对话框的定义、对话框的创建及消息
处理上与模态对话框略有差别,方法如下:
1.定义对话框样式
非模态对话框的定义一般形式如下:
STYLEWS_POPUP|WS_CAPTION|WS_VISIBLE
样式中应包含WS_VISIBLE,否则无法在屏幕上显示
2.创建对话框函数
非模态对话框的创建由函数CreateDialog完成:
HWNDCreateDialog
(HINSTANCEhlnstance,//当前应用程序实例句柄
LPCTSTRIpszDialogName,//对话框名
HWNDhwndParent,//拥有该对话框的窗口句柄
DLGPROCIpDialogFunc)//对话框处理函数地址
3.消息循环部分的处理
由于非模态对话框并不禁止应用程序向其他窗口发
送消息,因此,在WinMain函数的消息循环中必须
包含截获发往非模态对话框的消息,并将其发往相
应的对话框处理函数进行处理。其消息循环过程的
一般形式为:
while(GetMessage(&Msg5NULL,0,0))
{if(!IsDialogMessage(hdlg,&Msg))
TranslateMessage(&Msg);
DispatchMessage(&Msg);
45
7.3.4非模态对话框应用实例
【例74]在“关于”窗口不关闭的前提下,
仍可以对“文件”下拉菜单进行操作,如选
“文件”菜单中的“创建”选项,即可弹出
“7*,,__I1________________________
[干IfITHKHQLI
;二「X
Windows对话框示例
确定
LRESULTCALLBACKWndProc(..)
{switch(message)
{caseWM.COMMAND:
switch(LOWORD(wParam))
{caseIDM.NEW:
MessageBoKhwrid,11文件仓ij建成功!”「文件创建”,MB_OK);
break;
caseIDM_OPEN:
MessageBox(hwnd」文件打开成功!文件打开'MB—OK);
break;
caseIDM.SAVE:
MessageBox(hwndJ文件保存成功!”「文件保存”,MB_OK);
break;
caseIDM.EXIT:
SendMessage(hwnd,WM_DESTROY5050);break;
caseIDM.ABOUT:
hdlg=CreateDialog(hlnst/<About",hwndj(DLGPROC)DlgProc);
break;
}47
BOOLCALLBACKDlgProc(HWNDhdlg,.......,...)
{switch(message)
{caseWMJNITDIALOG://初始化消息框
return1;
caseWM_COMMAND://处理消息框消息
switch(LOWORD(wParam))
{caseIDOK:
DestroyWindow(hdlg);//关闭消息框
return1;
)
break;
caseWM_CLOSE:
DestroyWindow(hdlg);return1;
)
return0;本例题的资源文件与
)上例类似,请见教材
7.4图标资源的应用
图标是代表应用程序的特殊
的最小位图。在图标上双击鼠标
就可以执行该应用程序,图标资
源可以由VC自带的图标资源编辑
器来创建
49
7.4.1图标资源的操作
图标资源的操作包括创建、定义和加载等过程
1.图标资源的创建
用户可通过图形编辑器自定义图标形式,并保存在
扩展名为.ico的文件中。Windows系统也提供了
标准图标。
标识形状
IDI_APPLICATION缺省图标
IDI_ASTERISK信息图标
IDI_EXCLAMATION惊叹号图标
IDI_HAND停止图标
IDI_QUESTION问号图标
50
2.在资源文件中定义图标资源
若采用自定义图标,要在资源文件中定义该图标:
图标名ICON图标文件名(.ico)
3.在应用程序中加载图标
调用函数Loadicon进行图标资源的加载的,此过程
经常是在定义窗口类时进行,其形式为:
WNDCLASSwndclass;
wndclass.hlcon=Loadlcon(hThislnst,IpszIconName);
51
742图标资源应用举例
【例7・5】程序所使用的图标文件名为tree.ico,
在为本例程序指定了这个图标后,在资源管
理器中就可以看到在可执行文件的文件名
15Debug
文件(E)稿辑(£)查看(匕收藏(公工具任)帮助(力
地址(3LjDebug链接
8_6,obj
孜行文伴8_6.pch
Debug上的图标
选定项目可以查看其说明
另请参阅8_6,pdbvc60.idbvc60.pdb
我的文档
网上邻居
我的电脑
52
8个对象|^36MfiTJ我的电脑
本例程序中使用的图标资源文件如下:
TREEICONd:\prog_book\7_5\tree.ico
在初始化窗口类时加载图标资源
BOOLlnitWindowsClass(HINSTANCEhlnstance)
{WNDCLASSWndClass;
WndCgss.hlcon=Loadlcon(NULLJTREE");
//加载图标资源
returnRegisterClassf&WndClass);
)
53
SuccesswithMoneyandJoy
附落人生心语
•成功是一种观念
•致富是一种义务
•快乐是一种权利
•每个人都有能力、有义
务、有权利办到成功
致富快乐
附赠人生心语
成成功不是打败别人
功成功不是超越别人
成功不是名、利、权的获得
致拥有健康的身体
丰足的物质生活
富平衡的心理状态
又才能拥有成功
快SuccesswithMoneyandJoy
战胜自己
乐贡献自己
扮演好自己的历史角色
才能超越自己
融入成功里
附赠人生心语
知人者智,自知者明,胜人者力,自
胜者强。
——老子
附赠人生心语
•成功必须靠百分之九十八的辛勤血
汗,加上百分之二的天才灵感。
•世界上注定只有百分之二十的人会成
功。
附赠人生心语
成犹太谚语中有一句名言,
功会伤人的东西有三个:苦恼、争吵、空的钱包。
其中最伤人的是——空的钱包。
致金钱本身并没有善恶,
但没有钱,
富却的确是一件不幸的事情。
又所以,我们必须学习
快SuccesswithMoneyandJoy
重视财富,
乐管理财富,
更重要的是栗学会
正确地
使用自己的财富。
附赠人生心语
重财---重视自己的财富
孔子说:“不义而富且贵于我如浮云。”只要
是正正当当的钱,都应该被珍惜、被重视。
附赠人生心语
理财-----管理自己的财富
在贫苦和缺钱里挣扎的人,都有一个共同的特
点,就是不会理财,甚至不懂什么是理财。
附磨人生心语
增贝才----增加自己的财富
劳务收入
收入卜
财务收入
附霜人生心语
守贝才-----保护自己的财富
守财三原则:
・不赌钱
・不借钱
•不投资做生意
附赠人生心语
成
功春有百花秋有月,夏有凉风冬有雪
致若无闲事挂
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木工装修合同
- 保健按摩店装修合同监管费
- 水利行业水资源管理与水生态修复方案
- 专利代理合同书年
- 三农村社会组织创新发展方案
- 留学服务合同
- 品牌营销策略及市场分析作业指导书
- 数字化工厂设计与实施作业指导书
- 旅游景点智能化管理系统的设计与实施计划书
- 三农地区基础设施建设规划方案
- 检验科医疗废物处置流程图52309
- 《念奴娇赤壁怀古》名量教学实录(特级教师程翔)
- 港股通知识点、港股通开通测评题及答案(全)
- 《直播电商平台运营》-教案全套 第1-8章 直播电商电商营销新风口-案例解析拆解典型直播成功秘诀
- 放射性肺炎诊治
- 即兴口语(姜燕)-课件-即兴口语第七章PPT-中国传媒大学
- 艾默生HipulseUPS操作手册
- 爱心树(绘本)
- NPI管理流程(精)
- 色卡 对照表 PANTONE-CMYK
- 海员(船员)体格检查表
评论
0/150
提交评论