📄 toolbuild.asm
字号:
title Toolbar Build
.586
.model flat, stdcall
option casemap:none ; Case sensitive
include \MASM32V1\PROGRAMS\AsmEdit\include\Windows.inc
include \MASM32V1\PROGRAMS\AsmEdit\include\user32.inc
include \MASM32V1\PROGRAMS\AsmEdit\include\kernel32.inc
include \MASM32V1\PROGRAMS\AsmEdit\include\gdi32.inc
include \MASM32V1\PROGRAMS\AsmEdit\include\comctl32.inc
include \MASM32V1\PROGRAMS\AsmEdit\include\comdlg32.inc
include \MASM32V1\PROGRAMS\AsmEdit\include\advapi32.inc
include \MASM32V1\PROGRAMS\AsmEdit\include\DSPMACRO.asm
includelib \MASM32V1\PROGRAMS\AsmEdit\lib\user32.lib
includelib \MASM32V1\PROGRAMS\AsmEdit\lib\kernel32.lib
includelib \MASM32V1\PROGRAMS\AsmEdit\lib\gdi32.lib
includelib \MASM32V1\PROGRAMS\AsmEdit\lib\comctl32.lib
includelib \MASM32V1\PROGRAMS\AsmEdit\lib\comdlg32.lib
includelib \MASM32V1\PROGRAMS\AsmEdit\lib\advapi32.lib
;======================================================
; PROTO, MACRO, and Data section
;======================================================
WinMain PROTO :DWORD, :DWORD, :DWORD, :DWORD
GetData PROTO :DWORD, :DWORD, :DWORD
ToolBarDlg PROTO :DWORD, :DWORD, :DWORD, :DWORD
RichEditProc PROTO :DWORD, :DWORD, :DWORD, :DWORD
BuildR PROTO :DWORD
AsciiBase PROTO :DWORD, :DWORD
TBSep MACRO hTool
mov tbb.iBitmap, 0
mov tbb.idCommand, 0
mov tbb.fsState, TBSTATE_ENABLED
mov tbb.fsStyle, TBSTYLE_SEP
INVOKE SendMessage, hTool, TB_ADDBUTTONS, 1, addr tbb
ENDM
;TBButt MACRO hTool, BmpID, CmdID, Text
TBButt MACRO hTool, BmpID, CmdID, State, Text
mov tbb.iBitmap, BmpID ; Button image number
mov tbb.idCommand, CmdID ; Command ID number
mov tbb.fsState, State ; Button state
mov tbb.fsStyle, TBSTYLE_BUTTON
mov tbb.dwData, 0
mov tbb.iString, Text
INVOKE SendMessage, hTool, TB_ADDBUTTONS, 1, addr tbb
ENDM
MOVmd MACRO Var1, Var2
push Var2
pop Var1
ENDM
.const
IDM_NEW equ 1001
IDM_OPEN equ 1002
IDM_SAVE equ 1003
IDM_CUT equ 1004
IDM_COPY equ 1005
IDM_PASTE equ 1006
IDM_DELETE equ 1007
IDM_FIND equ 1008
IDM_FINDNEXT equ 1009
IDM_FINDPREV equ 1010
IDM_REPLACE equ 1011
IDM_EXIT equ 1012
IDM_SELALL equ 3001
IDM_TOOLBAR equ 8001
IDM_MENU equ 8002
IDM_TAB equ 8003
IDM_DIALOG equ 8040
IDD_DLG01 equ 7000
IDC_STATIC01 equ 7001
IDC_STATIC02 equ 7002
IDC_STATIC03 equ 7003
IDC_STATIC04 equ 7004
IDC_STATIC05 equ 7005
IDC_STATIC06 equ 7006
IDC_STATIC07 equ 7007
IDC_GRP01 equ 7008
IDC_GRP02 equ 7009
IDC_STATIC08 equ 7010
IDC_STATIC09 equ 7011
IDC_LISTBOX01 equ 2001
IDC_LISTBOX02 equ 2002
IDC_LISTBOX03 equ 2003
IDC_RITIMID equ 2004
IDC_RNAME equ 2005
IDC_BINSERT equ 2006
IDC_BADD equ 2007
IDC_BREMOVE equ 2008
IDC_BMOVEU equ 2009
IDC_BMOVED equ 2010
IDC_BSTYLESU equ 2011
IDC_BSTYLESR equ 2012
IDC_BRESTORE equ 2013
IDC_BBUILD equ 2014
IDC_BCHANGEW equ 2015
IDC_BCHANGEH equ 2016
IDC_CHK01 equ 2017
IDC_CHK02 equ 2018
IDC_CHK03 equ 2019
IDC_CHK04 equ 2020
IDC_CHK05 equ 2021
IDC_CHK06 equ 2022
IDC_CHK09 equ 2023
IDC_CHK10 equ 2024
IDC_ETOOLTEXT equ 2025
IDC_ETOOLTIP equ 2026
IDC_EIDNAME equ 2027
IDC_ESTARTID equ 2028
IDC_ECHANGEW equ 2029
IDC_ECHANGEH equ 2030
IDC_COMBO01 equ 2031
IDC_COMBO02 equ 2032
.data
AppName db 'Create Toolbar Control',0
ClassName db 'Toolbar Control',0
RichEdit db 'RichEdit20A',0
RichEdDLL db 'RICHED20.DLL',0
StatClass db 'msctls_statusbar32',0
ToolClass db 'ToolbarWindow32',0
FloatTBClass db 'FloatToolbar32',0
ListboxClass db 'listbox',0
FontNameCN db 'Courier New',0
FontNameAR db 'Arial',0 ;'MS Sans Serif',0
FontNameMS db 'MS Sans Serif',0
FontNameQT db 'Quick Type',0
szDividerE db ' **** Extended Styles **** ',0
szES01 db 'WS_EX_DLGMODALFRAME equ 00000001h',0
szES02 db 'WS_EX_WINDOWEDGE equ 00000100h',0
szES03 db 'WS_EX_CLIENTEDGE equ 00000200h',0
szES04 db 'WS_EX_STATICEDGE equ 00020000h',0
szDividerW db ' **** Window Styles **** ',0
szWS01 db 'WS_CHILD equ 40000000h',0
szWS02 db 'WS_VISIBLE equ 10000000h',0
szWS03 db 'WS_BORDER equ 00800000h',0
szWS04 db 'WS_TABSTOP equ 00010000h',0
szWS05 db 'WS_GROUP equ 00020000h',0
szDividerC db ' **** CCS Styles **** ',0
szCS01 db 'CCS_TOP equ 00000001h',0
szCS02 db 'CCS_NOMOVEY equ 00000002h',0
szCS03 db 'CCS_BOTTOM equ 00000003h',0
szCS04 db 'CCS_NORESIZE equ 00000004h',0
szCS05 db 'CCS_NOPARENTALIGN equ 00000008h',0
szCS06 db 'CCS_ADJUSTABLE equ 00000020h',0
szCS07 db 'CCS_NODIVIDER equ 00000040h',0
szCS08 db 'CCS_VERT equ 00000080h',0
szCS09 db 'CCS_LEFT equ 00000081h',0 ;CCS_VERT or CCS_TOP
szCS10 db 'CCS_RIGHT equ 00000083h',0 ;CCS_VERT or CCS_BOTTOM
szCS11 db 'CCS_NOMOVEX equ 00000082h',0 ;CCS_VERT or CCS_NOMOVEY
szDividerT db ' **** Control Styles **** ',0
szTS01 db 'TBSTYLE_BUTTON equ 00000000h',0
szTS02 db 'TBSTYLE_SEP equ 00000001h',0
szTS03 db 'TBSTYLE_CHECK equ 00000002h',0
szTS04 db 'TBSTYLE_GROUP equ 00000004h',0
szTS05 db 'TBSTYLE_CHECKGROUP equ 00000006h',0 ;TBSTYLE_GROUP or TBSTYLE_CHECK
szTS06 db 'TBSTYLE_TOOLTIPS equ 00000100h',0
szTS07 db 'TBSTYLE_WRAPABLE equ 00000200h',0
szTS08 db 'TBSTYLE_ALTDRAG equ 00000400h',0
szTS09 db 'TBSTYLE_FLAT equ 00000800h',0
szTS10 db 'TBSTYLE_LIST equ 00001000h',0
szTS11 db 'TBSTYLE_CUSTOMERASE equ 00002000h',0
szTS12 db 'TBSTYLE_REGISTERDROP equ 00004000h',0
szTS13 db 'TBSTYLE_TRANSPARENT equ 00008000h',0
MenuName db 'MainMenu',0
PopupMenu db 'PopupMenu',0
szMenu1 db 'Hide Dialog',0
szMenu2 db 'Show Dialog',0
szSep db 'Seperator',0
szPart1 db 'Part 1',0
szPart3 db 'Part 3',0
FontHeight dd -12
FontW dd 400
szCRLF db 0dh,0ah,0
szNull db 0
szSlashB db '\',0
szAll db '*.*',0
szClear db ' ',0
szSpace db ' ',0
szQuote db '"',0
szQuoteS db "'",0
szZero db '0',0
szComma db ',',0
szOR db ' or ',0
szSZ db 'sz',0
szDB db 'db ',0
szBmp db '.bmp',0
szIDM db 'IDM_',0
szM1 db '-1',0
szM2 db '-2',0
szNNNN dd 'NNNN',0
szWWWW dd 'WWWW',0
szHHHH dd 'HHHH',0
szLLLL dd 'LLLL',0
szTTTT dd 'TTTT',0
szRRRR dd 'RRRR',0
szBBBB dd 'BBBB',0
szTBLL db 'TBLL',0
szTBTT db 'TBTT',0
szTBWW db 'TBWW',0
szTBHH db 'TBHH',0
szOffset db ' offset ',0
szTemp db 'Temp.txt',0
szEqu db 'equ ',0
szTBSep db ' TBSep hWndTool',0
szTBButt db ' TBButt hWndTool, ',0
szTBButtF db ' TBButt hWndToolF, ',0
szResr1 db ' BITMAP DISCARDABLE "',0
szResr2 db 'Res',0
szFill db ' ',0
szToolbarRes db ';***** [Place in the Resource file (.rc)] *****',0dh,0ah,0
szDefine db '#define ',0
szToolbarTip db 'STRINGTABLE DISCARDABLE',0dh,0ah
db 'BEGIN',0dh,0ah
db '/* toolbar tips */',0dh,0ah,0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -