资源描述:
《VB入门技巧多例4》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、10.在状态栏显示无边框窗体图标。1PrivateDeclareFunctionSetWindowLongLib"user32"Alias"SetWindowLongA"(ByValhWnd_AsLong,ByValnIndexAsLong,ByValdwNewLongAsLong)AsLong2PrivateDeclareFunctionGetWindowLongLib"user32"Alias"GetWindowLongA"(ByValhWnd_AsLong,ByValnIndexAsLong)AsLong3ConstGWL_ST
2、YLE=(-16&)4ConstWS_SYSMENU=&H800005PrivateSubForm_Load()6'MakeForm'sIconvisibleinthetaskbar7SetWindowLongMe.hWnd,GWL_STYLE,GetWindowLong(Me.hWnd,GWL_STYLE)OrWS_SYSMENU8EndSub11.记录窗体的大小及位置和程序中的一些设置1PrivateSubForm_Load()2Me.Width=GetSetting(App.Title,Me.Name,"Width",7200)
3、3Me.Height=GetSetting(App.Title,Me.Name,"Height",6300)4Me.Top=GetSetting(App.Title,Me.Name,"Top",100)5Me.Left=GetSetting(App.Title,Me.Name,"Left",100)6Check1.Value=GetSetting(App.Title,Me.Name,"check1",0)7EndSub8PrivateSubForm_Unload(CancelAsInteger)9CallSaveSetting(App
4、.Title,Me.Name,"Width",Me.Width)10CallSaveSetting(App.Title,Me.Name,"Height",Me.Height)11CallSaveSetting(App.Title,Me.Name,"Top",Me.Top)12CallSaveSetting(App.Title,Me.Name,"Left",Me.Left)13CallSaveSetting(App.Title,Me.Name,"check1",Check1.Value)14EndSub13.无边框窗体的右键菜单设计无边
5、框窗体时,如果使用菜单编辑器,就会自动改变成有边框的窗体,此时,可以在另外一个窗体中(一般情况下你的程序应该不止一个窗体的吧,如果真的只有一个,可以利用其他人写的类,添加右键)编辑菜单(VISIBLE属性设为FALSE),然后在本窗体中调用。调用形式如下:1PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)2IfButton=2Then3PopupMenuForm2.mymenu4EndIf5EndSub14.创建圆角无边框窗体1Pr
6、ivateDeclareFunctionCreateRoundRectRgnLib"gdi32"(ByValX1AsInteger,ByValY1_AsInteger,ByValX2AsInteger,ByValY2AsInteger,ByValx3AsInteger,ByValy3As_Integer)AsLong2PrivateDeclareFunctionDeleteObjectLib"gdi32"(ByValhObjectAsLong)AsLong3PrivateDeclareFunctionSetWindowRgnLib"u
7、ser32"(ByValhwndAsLong,ByValhrgnAs_Long,ByValbRedrawAsBoolean)AsLong4PrivateSubForm_Load()5hround=CreateRoundRectRgn(0,0,ScaleX(Form1.ScaleWidth,vbTwips,vbPixels),_ScaleY(Form1.ScaleHeight,vbTwips,vbPixels),20,20)6SetWindowRgnMe.hwnd,hround,True7DeleteObjecthround8EndSu
8、b15.拖动没有标题栏的窗体方法一:1PrivateDeclareFunctionReleaseCaptureLib"user32"()AsLong2PrivateDeclareFunctionSendMessageLi