⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resedit.asm

📁 这是用win32汇编编写的资源编辑器
💻 ASM
📖 第 1 页 / 共 5 页
字号:
   title   ResEdit - DLL Normal Window With (.rc)
         comment '======================================================|'
         comment '* ResEdit v1.0                                        *'
         comment '* Copyright (r) Ewayne L. Wagner, All Rights Reserved.*'
         comment '* Unless you can improve on the program and send me   *'
         comment '* the changes. yooper@kalamazoo.net                   *'
         comment '======================================================|'
         .586
         .model flat, stdcall
         option   casemap: none   ; Case sensitive

            include  L:\AsmEdit\include\windows.inc
            include  user32.inc
            include  gdi32.inc
            include  kernel32.inc
            include  comdlg32.inc
            include  comctl32.inc
            include  advapi32.inc
            include  ole32.inc
            include  oleaut32.inc

   include  L:\AsmEdit\include\DSPMACRO.asm

         includelib  user32.lib
         includelib  gdi32.lib
         includelib  kernel32.lib
         includelib  comdlg32.lib
         includelib  comctl32.lib
         includelib  advapi32.lib
         includelib  ole32.lib
         includelib  oleaut32.lib

            include  ResEdit.inc

WinMain         PROTO  :DWORD, :DWORD, :DWORD, :DWORD
TabCtlDlg       PROTO  :DWORD, :DWORD, :DWORD, :DWORD
ResourceDlg     PROTO  :DWORD, :DWORD, :DWORD, :DWORD
MenuDlg         PROTO  :DWORD, :DWORD, :DWORD, :DWORD
DialogDlg       PROTO  :DWORD, :DWORD, :DWORD, :DWORD
ExtractDlg      PROTO  :DWORD, :DWORD, :DWORD, :DWORD
BuildDlg        PROTO  :DWORD, :DWORD, :DWORD, :DWORD
SampleDlg       PROTO  :DWORD, :DWORD, :DWORD, :DWORD
RichEditProc    PROTO  :DWORD, :DWORD, :DWORD, :DWORD
WorkProc        PROTO  :DWORD, :DWORD, :DWORD, :DWORD
FillBuffer      PROTO  :DWORD, :DWORD, :BYTE, :DWORD
REditP          PROTO  :DWORD, :DWORD, :DWORD, :DWORD
ControlButtP    PROTO  :DWORD, :DWORD, :DWORD, :DWORD
SizeDataProc    PROTO  :DWORD, :DWORD, :DWORD, :DWORD
StyleProc       PROTO  :DWORD, :DWORD, :DWORD, :DWORD
OptionsProc     PROTO  :DWORD, :DWORD, :DWORD, :DWORD
PosProc         PROTO  :DWORD, :DWORD, :DWORD, :DWORD
ListBoxProc     PROTO  :DWORD, :DWORD, :DWORD, :DWORD
ListPopProc     PROTO  :DWORD, :DWORD, :DWORD, :DWORD
SizeProc        PROTO  :DWORD, :DWORD, :DWORD, :DWORD
MultiProc       PROTO  :DWORD, :DWORD, :DWORD, :DWORD
MouseMUD        PROTO  :DWORD, :DWORD, :DWORD, :DWORD
BaseAscii       PROTO  :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
AsciiBase       PROTO  :DWORD, :DWORD
ControlRect     PROTO  :DWORD, :DWORD, :DWORD
GetOffset       PROTO  :DWORD
GetSizes        PROTO  :DWORD
LoadGrabbers    PROTO  :DWORD
MoveGrabbers    PROTO  :DWORD, :DWORD
CreateControls  PROTO  :DWORD, :DWORD
CreateWin       PROTO  :DWORD, :DWORD, :DWORD
SaticProcR      PROTO  :DWORD, :DWORD, :DWORD, :DWORD
SampleDlgS      PROTO  :DWORD, :DWORD, :DWORD, :DWORD
GetDefines      PROTO  :DWORD, :DWORD, :DWORD
ReloadCtrl      PROTO  :DWORD
ProcessMRUFiles PROTO  :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
GetRegPath      PROTO  :DWORD, :DWORD
ExtractRsrc     PROTO  :DWORD, :DWORD, :DWORD, :DWORD

;MoveSize        PROTO  :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, bID, cID, Text
           mov     tbb.iBitmap, bID    ; Button image number
           mov     tbb.idCommand, cID  ; Command ID number
           mov     tbb.fsState, TBSTATE_ENABLED
           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
EditID         equ 1
IDM_CUT        equ 1005
IDM_COPY       equ 1006
IDM_PASTE      equ 1007
IDM_DEL        equ 1008
IDM_SELALL     equ 1009
IDB_TOOL       equ 7002
IDB_TOOLS      equ 7003

.data
AppName        db  'Resource Editor',0
ClassName      db  'Resource Editor',0
WorkClass      db  'Work Window',0
SizeClassV     db  'SizeClassV',0
SizeClassH     db  'SizeClassH',0
MultiClass     db  'MultiClass',0

RichEdDLL      db  'RICHED20.DLL',0
GroupClass     db  'GroupClass',0

FormClass      db  'Form Builder',0
StaticClass    db  'static',0
ButtClass      db  'button',0
EditClass      db  'edit',0
RichEdit       db  'RichEdit20A',0
ComboClass     db  'combobox',0
ListboxClass   db  'listbox',0
TreeClass      db  'SysTreeView32',0   
ListViewClass  db  'SysListView32',0
ToolClass      db  'ToolbarWindow32',0
StatClass      db  'msctls_statusbar32',0
ScrollHClass   db  'SCROLLBAR',0
ScrollVClass   db  'SCROLLBAR',0
ProgressClass  db  'msctls_progress32',0
TrackbarClass  db  'msctls_trackbar32',0
UpDownClass    db  'msctls_updown32',0
TabCtrlClass   db  'SysTabControl32',0
SysMonthClass  db  'SysMonthCal32',0
SysPickClass   db  'SysDateTimePick32',0
BitmapClass    db  'static',0
IconClass      db  'static',0
IconAniClass   db  'static',0
AnimateClass   db  'SysAnimate32',0
IPAddressClass db  'SysIPAddress32',0
HotkeyClass    db  'msctls_hotkey32',0
CustClass      db  'CustClass',0
RichEdit44     db  'RichEdit44',0
DummyClass     db  'DummyClass',0

ClassArray     dd  FormClass,StaticClass,ButtClass,ButtClass,ButtClass,ButtClass,EditClass,RichEdit,
                   ComboClass,ListboxClass,TreeClass,ListViewClass,ToolClass,StatClass,
                   ScrollHClass,ScrollVClass,ProgressClass,TrackbarClass,UpDownClass,TabCtrlClass,
                   SysMonthClass,SysPickClass,BitmapClass,IconClass,IconAniClass,AnimateClass,
                   IPAddressClass,HotkeyClass,ButtClass,RichEdit44,DummyClass

MenuName       db  'MainMenu',0
PopupMenu      db  'PopupMenu',0
ResourceMenu   db  'ResourceMenu',0
FileMenu       db  'FileMenu',0

FontName       db  'Courier New',0
FontMS         db  'MS Sans Serif',0  ;'Arial',0
FontSYS        db  'System',0
FontMSD        db  '8, "MS Sans Serif"',0
szGlobe        db  'globe.ani',0
szAnimateAvi   db  'globe.avi',0

szRedit        db  'ResEdit',0
szREGSZ        db  'REG_SZ',0
szDlgD         db  'DefDlg',0
szStaD         db  'DefSta',0
szGrpD         db  'DefGrp',0
szRadD         db  'DefRad',0
szChkD         db  'DefChk',0
szButD         db  'DefBut',0
szEdiD         db  'DefEdi',0
szRedD         db  'DefRed',0
szCobD         db  'DefCob',0
szLibD         db  'DefLib',0
szTrvD         db  'DefTrv',0
szLivD         db  'DefLiv',0
szGridOn       db  'Show Grid',0
szGrid         db  'Size Grid',0
szSnapOn       db  'Snap To',0
szResL         db  'Last Resource',0

szError1       db  'The RICHED20.DLL was not found!',0
szError2       db  'There is a mismatch between the numbers',0dh,0ah
               db  ' of BEGIN and END statements',0
szError3       db  'The MAXIMUM number of controls has been reached',0
szError5       db  'The above dialog name already exists.',0dh,0ah
               db  '         Do you wish to replace it?',0

szSample       db  '\SampleRC.txt',0
szStyles       db  '\Res\Styles.sty',0
szWS           db  'WS_OVERLAPPED',0
szDS           db  'DS_ABSALIGN',0
szDivider      db  ' **** Control Styles ****',0

ddDlg          dd  0h,0h,0h,0h,0h,0h,0h,0h,10C80000h,00000080h
ddSta          dd  100h,0h,0h,0h,0h,0h,0h,0h,50000000h,00000000h
ddGrp          dd  7h,0h,0h,0h,0h,0h,0h,0h,50000000h,00000000h
ddRad          dd  9h,0h,0h,0h,0h,0h,0h,0h,50010000h,00000000h
ddChk          dd  3h,0h,0h,0h,0h,0h,0h,0h,50010000h,00000000h
ddBut          dd  0h,0h,0h,0h,0h,0h,0h,0h,50010000h,00000000h
ddEdi          dd  0h,0h,0h,0h,0h,0h,0h,0h,50010000h,00000000h
ddRed          dd  4h,0h,0h,0h,0h,0h,0h,0h,50310000h,00000200h
ddCob          dd  3h,100h,200h,400h,0h,0h,0h,0h,50200000h,00000000h
ddLib          dd  1h,40h,100h,0h,0h,0h,0h,0h,50200000h,00000000h
ddTrv          dd  1h,4h,20h,0h,0h,0h,0h,0h,50000000h,00000200h
ddLiv          dd  1h,8h,10h,0h,0h,0h,0h,0h,50000000h,00000200h
;Defs           dd  ddDlg,ddSta,ddGrp,ddRad,ddChk,ddBut,ddEdi,ddRed,ddCob,ddLib,ddTrv,ddLiv

ddDlgD         dd  10    dup(?)
ddStaD         dd  10    dup(?)
ddGrpD         dd  10    dup(?)
ddRadD         dd  10    dup(?)
ddChkD         dd  10    dup(?)
ddButD         dd  10    dup(?)
ddEdiD         dd  10    dup(?)
ddRedD         dd  10    dup(?)
ddCobD         dd  10    dup(?)
ddLibD         dd  10    dup(?)
ddTrvD         dd  10    dup(?)
ddLivD         dd  10    dup(?)
;DefsD          dd  ddDlgD,ddStaD,ddGrpD,ddRadD,ddChkD,ddButD,ddEdiD,ddRedD,ddCobD,ddLibD,ddTrvD,ddLivD

szOpenTitle    db  'Open A Resource File',0
szSaveTitle    db  'Save File As',0
szFilter       db  'RC Files',0,'*.rc',0,0
szRC           db  'xxxx.rc',0

szDlg          db  'IDD_DLG',0      ; 7501
szSta          db  'IDC_STATIC',0   ; 7502 static
szGrp          db  'IDC_GRP',0      ; 7503 button
szRad          db  'IDC_RAD',0      ; 7504 button
szChk          db  'IDC_CHK',0      ; 7505 button
szBut          db  'IDC_BUTT',0     ; 7506 button
szEdit         db  'IDC_EDIT',0     ; 7507 edit
szREdit        db  'IDC_REDIT',0    ; 7508 RichEdit20A
szCombo        db  'IDC_COMBO',0    ; 7509 combobox
szListB        db  'IDC_LISTBOX',0  ; 7510 listbox
szTreeV        db  'IDC_TREE',0     ; 7511 SysTreeView32
szListV        db  'IDC_LISTVIEW',0 ; 7512 SysListView32
szTool         db  'IDC_TOOL',0
szStatus       db  'IDC_STATUS',0
szScrollH      db  'IDC_SCROLLH',0
szScrollV      db  'IDC_SCROLLV',0
szProgress     db  'IDC_PROGRESS',0
szTrack        db  'IDC_TRACKBAR',0
szUpDown       db  'IDC_UPDOWN',0
szTab          db  'IDC_TAB',0
szMonth        db  'IDC_MONTH',0
szPick         db  'IDC_PICK',0
szBitmap       db  'IDC_BITMAP',0
szIcon         db  'IDC_ICON',0
szIconAni      db  'IDC_ICONANI',0
szAnimate      db  'IDC_ANIMATE',0
szIPAdress     db  'IDC_IPADDR',0
szHotKey       db  'IDC_HOTKEY',0
szCustom       db  'IDC_CUSTOM',0
szGrp4         db  'IDC_GRP4',0

TextArray      dd  szDlg,szSta,szGrp,szRad,szChk,szBut,szEdit,szREdit,
                   szCombo,szListB,szTreeV,szListV,szTool,szStatus,szScrollH,
                   szScrollV,szProgress,szTrack,szUpDown,szTab,szMonth,szPick,
                   szBitmap,szIcon,szIconAni,szAnimate,szIPAdress,szHotKey,szCustom,szGrp4

SizeArray      dd  6,3,6,6,6,5,5,4,4,2,5,1,5,3,2,2,2,1,3,6,4,5,2,5
RStartID       dd  200
MStartID       dd  300

szComID0       db  'IDC_STATIC',0
szComID1       db  'IDOK',0
szComID2       db  'IDCANCEL',0
szComID3       db  'IDABORT',0
szComID4       db  'IDRETRY',0
szComID5       db  'IDIGNORE',0
szComID6       db  'IDYES',0
szComID7       db  'IDNO',0
szComID8       db  'IDCLOSE',0
szComID9       db  'IDHELP',0

ComIDArray     dd  szComID0,szComID1,szComID2,szComID3,szComID4,
                   szComID5,szComID6,szComID7,szComID8,szComID9

szMoveGrp      db  'Move the groupbox',0
szKeepSel      db  'Keep toolbar selection',0
szUseID        db  'Use (ID) for (Name)',0
szNoMove       db  'Lock position - size',0
szOption       db  'Options',0
szAlign        db  'Align/Size',0
szSave         db  'Save Dlg',0
szSelect       db  'Select A Dialog If Available',0

TabTitle1      db  'Resource',0
TabTitle2      db  'Menu',0
TabTitle3      db  'Dialog',0
;TabTitle4      db  'Load a .rc file',0
TabTitle4      db  'Load a resource',0
TabTitle5      db  'Build',0
TabTitle6      db  'Sample',0

szCRLF         db  0dh,0ah,0
szCR           db  0dh,0
szNULL         db  0
szSpace        db  ' ',0
szx            db  '0x',0
szQuote        db  '"',0
szComma        db  ',',0
szUnder        db  '_',0
szAstr         db  '*',0
szBackS        db  '\Res\',0
szSlashB       db  '\t',0
szVK           db  'VK_',0
szCS           db  ', ',0
szEndP         db  '*.*',0
szEndR         db  '\*.rc',0
szALL          db  'All Files',0,'*.*',0,0

szResB         db  'BITMAP  DISCARDABLE    ',0
szResI         db  'ICON    DISCARDABLE    ',0
szResC         db  'CURSOR  DISCARDABLE    ',0
szResW         db  'WAVE    DISCARDABLE    ',0
szResM         db  'MIDI    DISCARDABLE    ',0
szTxtB         db  'IDB_',0
szTxtI         db  'IDI_',0
szTxtC         db  'IDC_',0
szTxtW         db  'IDW_',0
szTxtM         db  'IDM_',0
TxtArray       dd  szTxtB,szTxtI,szTxtC,szTxtW,szTxtM
szExtB         db  '.bmp',0
szExtI         db  '.ico',0
szExtC         db  '.cur',0
szExtW         db  '.wav',0
szExtM         db  '.mid',0
ExtArray       dd  szExtB,szExtI,szExtC,szExtW,szExtM

szFilterR      db  'Resource Files',0,'*.*',0,0

szMenuN        db  '  MENU DISCARDABLE',0dh,0ah ;,0dh,0ah
               db  'BEGIN',0dh,0ah,0
szPopup        db  'POPUP ',0
szBegin        db  'BEGIN',0dh,0ah,0
szMenuI        db  'MENUITEM ',0
szSep          db  'MENUITEM SEPARATOR',0dh,0ah,0
szEnd          db  'END',0dh,0ah,0
szFindB        db  'BEGIN',0
szFindE        db  'END',0
szFixit        db  'BEGIN',0dh,0ah
               db  'END',0dh,0ah,0
szAccel        db  'IDR_ACCEL ACCELERATORS',0dh,0ah
               db  'BEGIN',0dh,0ah,0
szVKey         db  'VIRTKEY',0
szControl      db  ',  CONTROL',0

szResource     db  '#include <RESOURCE.H> ;May need to add path',0dh,0ah,0dh,0ah,0
szStatic       db  0dh,0ah,'#define   IDC_STATIC         -1',0dh,0ah,0dh,0ah,0
szEquHeader    db  '** Copy and Paste the following equates to your application program **',0dh,0ah,0
szEqu          db  'equ ',0
szDefine       db  '#define   ',0
szDlgEX        db  ' DIALOGEX LOADONCALL MOVEABLE DISCARDABLE ',0
szCont         db  '    CONTROL ',0
szCapt         db  'CAPTION ',0
szFont         db  'FONT    ',0  
szSty          db  'STYLE   ',0  
szEXSty        db  'EXSTYLE ',0  
szClass        db  'CLASS   ',0  

szDIALOG       db  'DIALOG',0

XNum           db  5 dup(?)
szX            db  ' x ',0 
YNum           db  5 dup(?)

mmsg           db  ' X: '
mmsgx          db  4 dup(' ')
               db  '   Y: '
mmsgy          db  4 dup(' '),0

szDlgNum       db  2 dup(' ')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -