按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
invoke CreateWindowEx;WS_EX_CLIENTEDGE;
addr szClass;NULL;WS_CHILD or WS_VISIBLE or
ES_MULTILINE or ES_WANTRETURN or WS_VSCROLL or
ES_AUTOHSCROLL;
0;0;0;0;hWnd;ID_EDIT;hInstance;NULL
来源:电子工业出版社 作者:罗云彬 上一页 回书目 下一页
上一页 回书目 下一页
第9章 通用控件
9。2 使用状态栏(2)
mov hWinEdit;eax
call _Resize
invoke SetTimer;hWnd;1;300;NULL
;********************************************************************
。elseif eax WM_MAND
mov eax;wParam
。if ax IDM_EXIT
invoke EndDialog;hWnd;NULL
。elseif ax ID_EDIT
invoke GetWindowTextLength;hWinEdit
invoke wsprintf;addr @szBuffer;
addr szFormat1;eax
invoke SendMessage;hWinStatus;SB_SETTEXT;
1;addr @szBuffer
。endif
;********************************************************************
。elseif eax WM_MENUSELECT
invoke MenuHelp;WM_MENUSELECT;wParam;lParam;
lParam;hInstance;hWinStatus;offset dwMenuHelp
。elseif eax WM_SIZE
call _Resize
;********************************************************************
; 检测用户在第3栏的按鼠标动作并将文字在“插入”和“改写”之间切换
;********************************************************************
。elseif eax WM_NOTIFY
。if wParam ID_STATUSBAR
mov eax;lParam
mov eax;'eax + NMHDRde'
。if eax NM_CLICK
;********************************************************************
invoke GetCursorPos;addr @stPoint
invoke GetWindowRect;hWinStatus;addr @stRect
mov eax;@stRect。left
mov ecx;eax
add eax;140
add ecx;172
。if (@stPoint。x 》= eax) && (@stPoint。x 》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
start:
invoke InitmonControls
invoke GetModuleHandle;NULL
mov hInstance;eax
invoke DialogBoxParam;hInstance;DLG_MAIN;
NULL;offset _ProcDlgMain;NULL
invoke ExitProcess;NULL
;》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
end start
资源脚本文件StatusBar。rc的内容如下:
//》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
#include
//》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
#define ICO_MAIN 1000
#define DLG_MAIN 1000
#define IDM_MAIN 1000
#define IDM_OPEN 1101
#define IDM_SAVE AS 1102
#define IDM_PAGESETUP 1103
#define IDM_EXIT 1104
#define IDM_FIND 1201
#define IDM_REPLACE 1202
#define IDM_SELFONT 1203
#define IDM_SELCOLOR 1204
#define IDM_MENUHELP 1300
//》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
ICO_MAIN ICON 〃Main。ico〃
//》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
DLG_MAIN DIALOG 150; 180; 250; 130
MENU IDM_MAIN
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION |
WS_SYSMENU | WS_THICKFRAME
CAPTION 〃状态栏示例〃
FONT 9; 〃宋体〃
{
}
//》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
IDM_MAIN menu discardable
BEGIN
popup 〃文件(&F)〃
BEGIN
menuitem 〃打开文件(&O)。。。〃;IDM_OPEN
menuitem 〃文件另存为(&C)。。。〃;IDM_SAVEAS
menuitem separator
menuitem 〃页面设置(&P)。。。〃;IDM_PAGESETUP
menuitem separator
menuitem 〃退出(&X)〃;IDM_EXIT
END
popup 〃查看(&V)〃
BEGIN
menuitem 〃查找字符串(&S)。。。〃;IDM_FIND
menuitem 〃替换字符串(&R)。。。〃;IDM_REPLACE
menuitem separator
menuitem 〃选择字体(&F)。。。〃;IDM_SELFONT
menuitem 〃选择颜色(&B)。。。〃;IDM_SELCOLOR
END
END
//》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
stringtable discardable
BEGIN
IDM_MENUHELP 〃包含文件操作的命令〃
IDM_MENUHELP+1 〃包含操作视图的命令〃
IDM_OPEN 〃打开需要编辑的文件〃
IDM_SAVEAS 〃以另外一个文件名保存文件〃
IDM_PAGESETUP 〃选择打印机以及设置页边距、纸张大小等打印参数〃
IDM_EXIT 〃退出本程序〃
IDM_FIND 〃在窗口中搜索文字〃
IDM_REPLACE 〃在窗口中搜索文字并替换〃
IDM_SELFONT 〃选择窗口中文字使用的字体〃
IDM_SELCOLOR 〃选择窗口的背景颜色〃
END
//》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
来源:电子工业出版社 作者:罗云彬 上一页 回书目 下一页
上一页 回书目 下一页
第9章 通用控件
9。2 使用状态栏(3)
上述程序的结构和8。1节中演示通用对话框的例子几乎一模一样,使用的对话框和菜单都没有改变,但是源程序中将处理菜单项的代码全部去掉了,在菜单中保留这些菜单项仅为了演示在状态栏上显示菜单提示信息的功能,菜单提示信息字符串被定义在资源文件的字符串表中。
程序在初始化对话框的WM_INITDIALOG消息(如果建立的是窗口而不是对话框应该是W