From: yeoh <ye...@ye...> - 2003-10-10 01:18:19
|
Hi, Here's the source of a dialog-based Win32 GUI program written in Nasm (NagoA). It's a simple template application. :-) Best Regards, Yeoh -- ; =================================: ; Program Name: dlgapp.asm ; Author: Yeoh HS ; To build this program: ; gorc /nw /r %1.rc ; nasmw -id:/nasmw/inc/ -fobj %1.asm ; alink -oPE %1.obj d:\nasmw\lib\nagoa.obj d:\nasmw\lib\Win32.lib %1.res ; Please change paths to your own settings. :-) ;; ================================: %include 'nagoa.inc' [segment data USE32] DIALOG_ID equ 1000 IDC_EXIT equ 1 IDC_HELP equ 2 IDC_SITE equ 3 HelpFileName db "windows.hlp", 0 SiteURL db "http://www.yeohhs.com", 0 [segment code USE32] ..start: call GetModuleHandleA, NULL CONST hInst , dd 0 mov [hInst], eax call DialogBoxParamA, [hInst],DIALOG_ID, 0,DialogProc, 0 call ExitProcess, [hInst] ; ============ [ MAIN DIALOLOG PROC ] =====================: proc DialogProc,hdlg,msg,wParam,lParam cmp dword [msg],WM_INITDIALOG je wm_initdialog cmp dword [msg],WM_COMMAND je near wm_command ;cmp dword [msg],WM_PAINT ;je near wm_paint cmp dword [msg],WM_CLOSE je near wm_close return FALSE ;------------- wm_initdialog: ;->set the menu ; call LoadMenuA,[hInst],ID_MENU ; the resource file.. ; call SetMenu,[hdlg],eax return TRUE ;----------- wm_command: cmp dword [wParam], IDC_SITE je near IDCSite cmp dword [wParam], IDC_HELP je near IDCHelp cmp dword [wParam], IDC_EXIT je near wm_close return TRUE ;--------------- IDCSite: call GetActiveWindow call ShellExecuteA, eax, NULL, SiteURL, NULL, NULL, 0 return FALSE ;--------------- IDCHelp: call GetActiveWindow call WinHelp, eax, HelpFileName, HELP_CONTENTS, 0 return FALSE ;--------------- wm_close: call ExitProcess,0 return FALSE endproc ; ============== [ MAIN DIALOGPROC END ] =============== : And the resource file: dlgapp.rc #define IDC_STATIC -1 #define IDC_EXIT 1 #define IDC_HELP 2 #define IDC_SITE 3 1000 DIALOG 10, 10, 300, 310 STYLE DS_CENTER| WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX CAPTION "dlgapp" FONT 8, "Helv" BEGIN GROUPBOX "", -1, 5,5, 290, 290 GROUPBOX "", -1, 10, 10, 220, 260 PUSHBUTTON "http://www.yeohhs.com", IDC_SITE, 10, 275, 140, 14 PUSHBUTTON "Help", IDC_HELP, 200, 275, 40, 14 DEFPUSHBUTTON "Exit", IDC_EXIT, 245, 275, 40, 14 END ----- Original Message Follows ----- > bg...@si... wrote: > > > how to write gui win program with nasm > > ______________________________________ |