欢迎来到天天文库
浏览记录
ID:52321843
大小:20.69 KB
页数:2页
时间:2020-03-26
《可视化编程应用VisualBasic06 案例库 案例九 拖动没有标题栏的窗体.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、案例九拖动没有标题栏的窗体拖动没有标题栏的窗体。方法一:PrivateDeclareFunctionReleaseCaptureLibPrivateDeclareFunctionSendMessageLibLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLongPrivateConstHTCAPTION=2PrivateConstWM_NCLBUTTONDOWN=&HA1PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle
2、,YAsSingle)DimnclAsLongDimrelAsLongIfButton=1Theni=ReleaseCapture()ncl=SendMessage(hwnd,WM_NCLBUTTONDOWN,HTCAPTION,0)EndIfEndSub方法二:回调函数module:PublicConstGWL_WNDPROC=(-4)PublicConstWM_NCHITTEST=&H84PublicConstHTCLIENT=1PublicConstHTCAPTION=2DeclareFunctionCallWindowProcLibAlias(By
3、Val_lpPrevWndFuncAsLong,ByValhWndAsLong,ByValMsgAsLong,ByValwParamAsLong,_ByVallParamAsLong)AsLongDeclareFunctionGetWindowLongLibLong,ByValnIndexAsLong)AsLongDeclareFunctionSetWindowLongLibLong,ByValnIndexAsLong,ByValdwNewLongAsLong)AsLongPublicprevWndProcAsLongFunctionWndProc(ByV
4、alhWndAsLong,ByValMsgAsLong,ByValwParamAsLong,ByVal_ParamAsLong)AsLongWndProc=CallWindowProc(prevWndProc,hWnd,Msg,wParam,lParam)IfMsg=WM_NCHITTESTAndWndProc=HTCLIENTThenWndProc=HTCAPTIONEndIfEndFunction窗体中:PrivateSubForm_Load()prevWndProc=GetWindowLong(Me.hWnd,GWL_WNDPROC)SetWindowL
5、ongMe.hWnd,GWL_WNDPROC,AddressOfWndProcEndSubPrivateSubForm_Unload(CancelAsInteger)SetWindowLongMe.hWnd,GWL_WNDPROC,prevWndProcEndSub
此文档下载收益归作者所有