Steward
分享是一種喜悅、更是一種幸福
程式語言 - ObjAsm - Single Document Interface (SDI) - Create Window
參考資訊:
https://github.com/ObjAsm
https://objasm.x10host.com/index.htm
main.asm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | % include @ Environ ( OBJASM_PATH )\Code\Macros\Model. inc SysSetup OOP , WIN32 , ANSI_STRING MakeObjects Primer , Stream , WinPrimer , Window , WinApp , SdiApp .const CStr szName, " main " Object MyApp , , SdiApp RedefineMethod Init DefineVariable wndClass, WNDCLASS , {0} ObjectEnd .code Method MyApp . Init , uses esi SetObject esi ACall esi . Init m2m [ esi ].wndClass.lpfnWndProc, $ MethodAddr ( MyApp . WndProc ) m2m [ esi ].wndClass.lpszClassName, offset szName invoke RegisterClass , addr [ esi ].wndClass invoke CreateWindowEx , WS_EX_LEFT , offset szName, offset szName, WS_OVERLAPPEDWINDOW or WS_VISIBLE , 0, 0, 300, 300, NULL , NULL , NULL , pSelf m2m [ esi ].hWnd, eax MethodEnd start proc SysInit OCall $ ObjTmpl ( MyApp ):: MyApp . Init OCall $ ObjTmpl ( MyApp ):: MyApp . Run OCall $ ObjTmpl ( MyApp ):: MyApp . Done SysDone invoke ExitProcess , 0 start endp end |
完成