VB入门技巧多例4Word文档下载推荐.docx

上传人:b****3 文档编号:8013423 上传时间:2023-05-09 格式:DOCX 页数:17 大小:22.44KB
下载 相关 举报
VB入门技巧多例4Word文档下载推荐.docx_第1页
第1页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第2页
第2页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第3页
第3页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第4页
第4页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第5页
第5页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第6页
第6页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第7页
第7页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第8页
第8页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第9页
第9页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第10页
第10页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第11页
第11页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第12页
第12页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第13页
第13页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第14页
第14页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第15页
第15页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第16页
第16页 / 共17页
VB入门技巧多例4Word文档下载推荐.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

VB入门技巧多例4Word文档下载推荐.docx

《VB入门技巧多例4Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VB入门技巧多例4Word文档下载推荐.docx(17页珍藏版)》请在冰点文库上搜索。

VB入门技巧多例4Word文档下载推荐.docx

Left"

6Check1.Value=GetSetting(App.Title,Me.Name,"

check1"

0)

7EndSub

8PrivateSubForm_Unload(CancelAsInteger)

9CallSaveSetting(App.Title,Me.Name,"

Me.Width)

10CallSaveSetting(App.Title,Me.Name,"

Me.Height)

11CallSaveSetting(App.Title,Me.Name,"

Me.Top)

12CallSaveSetting(App.Title,Me.Name,"

Me.Left)

13CallSaveSetting(App.Title,Me.Name,"

Check1.Value)

14EndSub

13.无边框窗体的右键菜单

设计无边框窗体时,如果使用菜单编辑器,就会自动改变成有边框的窗体,此时,可以在另外一个窗体中(一般情况下你的程序应该不止一个窗体的吧,如果真的只有一个,可以利用其他人写的类,添加右键)编辑菜单(VISIBLE属性设为FALSE),然后在本窗体中调用。

调用形式如下:

1PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

2IfButton=2Then

3PopupMenuForm2.mymenu

4EndIf

5EndSub

14.创建圆角无边框窗体

1PrivateDeclareFunctionCreateRoundRectRgnLib"

gdi32"

(ByValX1AsInteger,ByValY1_AsInteger,ByValX2AsInteger,ByValY2AsInteger,ByValx3AsInteger,ByValy3As_Integer)AsLong

2PrivateDeclareFunctionDeleteObjectLib"

(ByValhObjectAsLong)AsLong

3PrivateDeclareFunctionSetWindowRgnLib"

(ByValhwndAsLong,ByValhrgnAs_Long,ByValbRedrawAsBoolean)AsLong

4PrivateSubForm_Load()

5hround=CreateRoundRectRgn(0,0,ScaleX(Form1.ScaleWidth,vbTwips,vbPixels),_ScaleY(Form1.ScaleHeight,vbTwips,vbPixels),20,20)

6SetWindowRgnMe.hwnd,hround,True

7DeleteObjecthround

15.拖动没有标题栏的窗体

方法一:

1PrivateDeclareFunctionReleaseCaptureLib"

()AsLong

2PrivateDeclareFunctionSendMessageLib"

SendMessageA"

(ByValhwndAs_Long,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLong

3PrivateConstHTCAPTION=2

4PrivateConstWM_NCLBUTTONDOWN=&

HA1

5PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

6DimnclAsLong

7DimrelAsLong

8IfButton=1Then

9i=ReleaseCapture()

10ncl=SendMessage(hwnd,WM_NCLBUTTONDOWN,HTCAPTION,0)

11EndIf

12EndSub

方法二:

回调函数

1'

module:

2PublicConstGWL_WNDPROC=(-4)

3PublicConstWM_NCHITTEST=&

H84

4PublicConstHTCLIENT=1

5PublicConstHTCAPTION=2

6DeclareFunctionCallWindowProcLib"

CallWindowProcA"

(ByVal_lpPrevWndFuncAsLong,ByValhWndAsLong,ByValMsgAsLong,ByValwParamAsLong,_ByVallParamAsLong)AsLong

7DeclareFunctionGetWindowLongLib"

(ByValhWndAs_

8Long,ByValnIndexAsLong)AsLong

9DeclareFunctionSetWindowLongLib"

10Long,ByValnIndexAsLong,ByValdwNewLongAsLong)AsLong

11PublicprevWndProcAsLong

12FunctionWndProc(ByValhWndAsLong,ByValMsgAsLong,ByValwParamAsLong,ByVal_ParamAsLong)AsLong

13WndProc=CallWindowProc(prevWndProc,hWnd,Msg,wParam,lParam)

14IfMsg=WM_NCHITTESTAndWndProc=HTCLIENTThen

15WndProc=HTCAPTION

16EndIf

17EndFunction

18窗体中:

19PrivateSubForm_Load()

20prevWndProc=GetWindowLong(Me.hWnd,GWL_WNDPROC)

21SetWindowLongMe.hWnd,GWL_WNDPROC,AddressOfWndProc

22EndSub

23PrivateSubForm_Unload(CancelAsInteger)

24SetWindowLongMe.hWnd,GWL_WNDPROC,prevWndProc

25EndSub

16.半透明窗体

1PrivateDeclareFunctionSetLayeredWindowAttributesLib"

(ByValhwndAsLong,_ByValcrKeyAsLong,ByValbAlphaAsByte,ByValdwFlagsAsLong)AsLong

2PrivateConstWS_EX_LAYERED=&

3PrivateConstLWA_ALPHA=&

H2

4PrivateConstGWL_EXSTYLE=(-20)

5PrivateDeclareFunctionGetWindowLongLib"

(ByVal_

6hwndAsLong,ByValnIndexAsLong)AsLong

7PrivateDeclareFunctionSetWindowLongLib"

8hwndAsLong,ByValnIndexAsLong,ByValdwNewLongAsLong)AsLong

9PrivateSubForm_Load()

10DimrtnAsLong

11rtn=GetWindowLong(Me.hwnd,GWL_EXSTYLE)'

取的窗口原先的样式

12rtn=rtnOrWS_EX_LAYERED'

使窗体添加上新的样式WS_EX_LAYERED

13SetWindowLongMe.hwnd,GWL_EXSTYLE,rtn'

把新的样式赋给窗体

14SetLayeredWindowAttributesMe.hwnd,0,200,LWA_ALPHA

15EndSub

17.开机启动(函数及常数声明略)

2DimhKeyAsLong,SubKeyAsString,ExeAsString

3SubKey="

Software\Microsoft\Windows\CurrentVersion\Run"

4Exe="

可执行文件的路径"

5RegCreateKeyHKEY_CURRENT_USER,SubKey,hKey

6RegSetvalueExhKey,"

autorun"

0,REG_SZ,ByValExe,LenB(StrConv(Exe,vbFromUnicode))+1

7RegCloseKeyhKey

18.关闭显示器

1PrivateDeclareFunctionSendMessageLib"

(ByValhwnd_

2AsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLong

3ConstWM_SYSCOMMAND=&

H112&

4ConstSC_MONITORPOWER=&

HF170&

5PrivateSubCommand1_Click()

6SendMessageMe.hwnd,WM_SYSCOMMAND,SC_MONITORPOWER,ByVal2&

'

关闭显示器

8PrivateSubCommand2_Click()

9SendMessageMe.hwnd,WM_SYSCOMMAND,SC_MONITORPOWER,ByVal-1&

打开显示器

10EndSub

19.在程序结束时自动关闭由SHELL打开的程序。

1PrivateConstPROCESS_QUERY_INFORMATION=&

H400'

关闭由SHELL函数打开的文件

2PrivateConstPROCESS_TERMINATE=&

H1

3PrivateDeclareFunctionOpenProcessLib"

kernel32"

(ByValdwDesiredAccessAsLong,_ByValbInheritHandleAsLong,ByValdwProcessIdAsLong)AsLong

4PrivateDeclareFunctionTerminateProcessLib"

(ByValhProcessAsLong,_

5ByValuExitCodeAsLong)AsLong

6DimProcessIdAsLong

7PrivateSubCommand1_Click()

8ProcessId=Shell("

notepad.exe."

vbNormalFocus)

9EndSub

10PrivateSubForm_Unload(CancelAsInteger)

11DimhProcessAsLong

12hProcess=OpenProcess(PROCESS_TERMINATEOrPROCESS_QUERY_INFORMATION,False,_ProcessId)

13CallTerminateProcess(hProcess,3838)

20.关闭、重启计算机

1PublicDeclareFunctionExitWindowsExLib"

ExitWindowsEx"

2uFlagsAsLong,ByValdwReservedAsLong)AsLong

3ExitWindowsEx1,0关机

4ExitWindowsEx0,1重新启动

21.显示关机提示框

1PrivateDeclareFunctionSHRestartSystemMBLib"

shell32"

#59"

(ByValhOwner_

2AsLong,ByValsExtraPromptAsString,

3

4ByValuFlagsAsLong)AsLong

5ConstEWX_LOGOFF=0

6ConstEWX_SHUTDOWN=1

7ConstEWX_REBOOT=2

8ConstEWX_FORCE=4

9ConstEWX_POWEROFF=8

10PrivateSubCommand1_Click()

11SHRestartSystemMBMe.hWnd,PROMPT,EWX_LOGOFF

22.右键托盘图标后必须电击他才可以消失,怎么办?

CaseWM_RBUTTONUP'

鼠标在图标上右击时弹出菜单

SetForegroundWindowMe.hwnd

Me.PopupMenumnuTray

加一句SetForegroundWindowMe.hwnd

23.将progressbar嵌入statusbar中

1PrivateDeclareFunctionSetParentLib"

(ByValhWndChildAsLong,ByVal_hWndNewParentAsLong)AsLong

2PrivateSubCommand1_Click()

3WithProgressBar1

4.Max=1000

5DimiAsInteger

6Fori=1To1000

7.Value=i

8Nexti

9EndWith

10EndSub

11PrivateSubForm_Load()

12ProgressBar1.Appearance=ccFlat

13SetParentProgressBar1.hWnd,StatusBar1.hWnd

14ProgressBar1.Left=StatusBar1.Panels

(1).Left

15ProgressBar1.Top=100

16ProgressBar1.Width=StatusBar1.Panels

(1).Width-50

17ProgressBar1.Height=StatusBar1.Height-150

18EndSub'

相对位置你可以自己再调一下

24.使你的程序界面具有XP风格产生一个和你的可执行程序同名的后缀为exe.manifest的文件,并和可执行文件放在同一路径中。

代码中加入:

1PrivateDeclareSubInitCommonControlsLib"

comctl32.dll"

()

2PrivateSubForm_Initialize()

3InitCommonControls

4EndSub

注意:

1工具栏控件一定要用MicrosoftWindowsCommonControls5.0,而不要用MicrosoftWindowsCommonControls6.0。

因为此

InitCommonControlsAPI函数是位于comctl32.dll(MicrosoftWindowsCommonControls5.0控件的动态链接库中)。

2放在FRAME控件中的单远按钮有些“麻烦”!

为了解决此问题,可以将单选按钮放在PICTURE控件中(以PICTURE控件作为容器),再将

PICTURE控件放在FRAME控件中,就可以了。

3必须编译之后才能看到效果

exe.manifest文件中的内容,可用notepad编辑。

1<

?

xmlversion="

1.0"

encoding="

UTF-8"

standalone="

yes"

>

2<

assemblyxmlns="

urn:

schemas-microsoft-com:

asm.v1"

manifestVersion="

3<

assemblyIdentity

4version="

1.0.0.0"

5processorArchitecture="

X86"

6name="

CompanyName.ProductName.YourApp"

7type="

win32"

8/>

9<

description>

Yourapplicationdescriptionhere.<

/description>

10<

dependency>

11<

dependentAssembly>

12<

13type="

14name="

Microsoft.Windows.Common-Controls"

15version="

6.0.0.0"

16processorArchitecture="

17publicKeyToken="

6595b64144ccf1df"

18language="

*"

19/>

20<

/dependentAssembly>

21<

/dependency>

22<

/assembly>

25.如何打印PictureBox中的所有控件

添加另外一个PictureBox,然后:

1PrivateConstWM_PAINT=&

HF

2PrivateConstWM_PRINT=&

H317

3PrivateConstPRF_CLIENT=&

H4&

4PrivateConstPRF_CHILDREN=&

H10&

5PrivateConstPRF_OWNED=&

H20&

6PrivateConstPHYSICALOFFSETXAsLong=112

7PrivateConstPHYSICALOFFSETYAsLong=113

8PrivateDeclareFunctionSendMessageLib"

9AsLong,ByValwMsgAsLong,ByValwParamAsLong,ByVallParamAsLong)AsLong

10PrivateDeclareFunctionGetDeviceCapsLib"

(ByValhdcAsLong,ByValnindex_

11AsLong)AsLong

12privateSubForm_Load()

13Picture1.AutoRedraw=True

14Picture2.AutoRedraw=True

15Picture2.Bo

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2