Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчеты по Курсовой Работе / Левашев Н.С. 8-78-3 Работа с текстовой информацией.doc
Скачиваний:
39
Добавлен:
12.03.2015
Размер:
368.64 Кб
Скачать

3.5. Листинг файла tbmacros.Asm

TBextraData MACRO

mov tbb.fsState, TBSTATE_ENABLED

mov tbb.dwData, 0

mov tbb.iString, 0

ENDM

; ------------------------------

TBbutton MACRO bID, cID

mov tbb.iBitmap, bID

mov tbb.idCommand, cID

mov tbb.fsStyle, TBSTYLE_BUTTON

invoke SendMessage,hToolBar,TB_ADDBUTTONS,1,ADDR tbb

ENDM

; ------------------------------

TBblank MACRO

mov tbb.iBitmap, 0

mov tbb.idCommand, 0

mov tbb.fsStyle, TBSTYLE_SEP

invoke SendMessage,hToolBar,TB_ADDBUTTONS,1,ADDR tbb

ENDM

; ------------------------------

Create_Tool_Bar MACRO Wd, Ht

szText tbClass,"ToolbarWindow32"

invoke CreateWindowEx,0,

ADDR tbClass,

ADDR szDisplayName,

WS_CHILD or WS_VISIBLE,

0,0,500,40,

hWin,NULL,

hInstance,NULL

;; or TBSTYLE_FLAT

mov hToolBar, eax

invoke SendMessage,hToolBar,TB_BUTTONSTRUCTSIZE,sizeof TBBUTTON,0

mov ecx,Wd

mov eax,Ht

shl eax,16

mov ax, cx

mov bSize, eax

invoke SendMessage,hToolBar,TB_SETBITMAPSIZE,0,bSize

invoke SetBmpColor,hTbBmp

mov hTbBmp,eax

mov tbab.hInst, 0

m2m tbab.nID, hTbBmp

invoke SendMessage,hToolBar,TB_ADDBITMAP,12,ADDR tbab

invoke SendMessage,hToolBar,TB_SETBUTTONSIZE,0,bSize

ENDM

3.6. Листинг файла statusbr.Asm

Do_Status PROTO :DWORD

.data

hStatus dd 0

.code

; ##########################################################################

Do_Status proc hParent:DWORD

LOCAL sbParts[4] :DWORD

invoke CreateStatusWindow,WS_CHILD or WS_VISIBLE or \

SBS_SIZEGRIP,NULL, hParent, 200

mov hStatus, eax

mov [sbParts + 0], 125

mov [sbParts + 4], 250

mov [sbParts + 8], -1

invoke SendMessage,hStatus,SB_SETPARTS,3,ADDR sbParts

ret

Do_Status endp

3.7. Листинг файла filedlgs.Asm

GetFileName PROTO :DWORD, :DWORD, :DWORD

SaveFileName PROTO :DWORD, :DWORD, :DWORD

FillBuffer PROTO :DWORD, :DWORD, :BYTE

.data

szFileName db 260 dup(0)

ofn OPENFILENAME <> ; structure

.code

; ########################################################################

GetFileName proc hParent:DWORD,lpTitle:DWORD,lpFilter:DWORD

mov ofn.lStructSize, sizeof OPENFILENAME

m2m ofn.hWndOwner, hParent

m2m ofn.hInstance, hInstance

m2m ofn.lpstrFilter, lpFilter

m2m ofn.lpstrFile, offset szFileName

mov ofn.nMaxFile, sizeof szFileName

m2m ofn.lpstrTitle, lpTitle

mov ofn.Flags, OFN_EXPLORER or OFN_FILEMUSTEXIST or \

OFN_LONGNAMES

invoke GetOpenFileName,ADDR ofn

ret

GetFileName endp

; #########################################################################

SaveFileName proc hParent:DWORD,lpTitle:DWORD,lpFilter:DWORD

mov ofn.lStructSize, sizeof OPENFILENAME

m2m ofn.hWndOwner, hParent

m2m ofn.hInstance, hInstance

m2m ofn.lpstrFilter, lpFilter

m2m ofn.lpstrFile, offset szFileName

mov ofn.nMaxFile, sizeof szFileName

m2m ofn.lpstrTitle, lpTitle

mov ofn.Flags, OFN_EXPLORER or OFN_LONGNAMES

invoke GetSaveFileName,ADDR ofn

ret

SaveFileName endp

FillBuffer proc lpBuffer:DWORD,lenBuffer:DWORD,TheChar:BYTE

push edi

mov edi, lpBuffer ; address of buffer

mov ecx, lenBuffer ; buffer length

mov al, TheChar ; load al with character

rep stosb ; write character to buffer until ecx = 0

pop edi

ret

FillBuffer endp