资源描述:
《易语言 用最少的代码创建窗口(easy language creates windows with the least code)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、易语言用最少的代码创建窗口(Easylanguagecreateswindowswiththeleastcode)Version2Assemblies1Subroutine._startsubroutine,integertype,thefirstbookintheprogramafterthestartofprogramexecutionLocalvariablewindowclass,WNDCLASSEXLocalvariablemessage,MSGLocalvariablewindowhandle,integertypeThefoll
2、owingcodeisfilledintheregistrationformofthewindowclass"Windowclass.CbSize=48'specifiesthenumberofbytesthatmustbeassignedtotheentirestructureWindowclass.Style=bitsor(#CS_HREDRAW,#CS_VREDRAW,#CS_DBLCLKS)'windowclass'.HInstance=GetModuleHandle(')'takestheinstancehandleofthecur
3、rentapplication.Thesentenceabovecanalsobelikethis:windowclass.HInstance=GetModuleHandle(fetchexecutablename())Windowclass.HIcon=LoadIcon(windowclass.HInstance,129).TheiconlabelofeasylanguageEXEfileis129Windowclass.HCursor=LoadCursor(0,#IDC_ARROW)'!!Note:theparametersofthetw
4、ofunctionsofLoadIconandLoadCursorarechangedintointegertype.Thewindowclass.HbrBackground=1'canalsouseotherColorconstantattentioninthebackto1.Windowclass.LpszClassName="windowclassname""Windowclass.LpfnWndProc=&windowfunctionAfterregistration,fillintheregistrationwindowclass.
5、RegisterClassEx(windowclass)Whenthewindowclassisregisteredsuccessfully,thewindowcanbecreated.Thewindowhandle=CreateWindowEx(0,.LpszClassNamewindowclass,"windowtitle",or(#WS_CAPTION,#WS_SYSMENU,#WS_OVERLAPPED,#WS_THICKFRAME,#WS_MAXIMIZEBOX,#WS_MINIMIZEBOX),#CW_USEDEFAULT,#CW
6、_USEDEFAULT,600,440,0,0,windowclass.HInstance,0)'showthewindow.ShowWindow(windowhandle,#SW_SHOWNORMAL)'UpdateWindow'(windowhandle)'hereisthemessageloopWhentheGetMessagefunctionfindsthemessagevalueofthemessageWM_DESTROY,itexitstheprogram.Thefirstcycle.Judge(GetMessage(0,0,0,
7、)=#WM_DESTROY)'TranslateMessage(message)DispatchMessage(message)Judgingthetailoftheloop()Return(message.WParam)Subroutinewindowfunction,integertype,thisisthewindowprocess,usedtodealwithwindowmessagesParameterhWnd,integertype,windowhandleParameteruMsg,integertype,messagevalu
8、eParameterwParam,integertype,parameteroneParameterlParam,integertype,parametertwoS