电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 站长之家-> 网站推广
vb使用编程技巧三则_visualbasic教程
作者:网友供稿 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
----1、VB中实现动态移动控件

----窗体中的控件如按钮、文本框等一般在运行时位置是固定不变的,但为了能给用户更方便的功能,我们可以做到在运行时动态移动控件的位置,比如我们可以允许用户随便将按钮放到自己喜欢的位置,而并非界面中固定的位置。其实这个功能实现起来是很容易的,只需要使用API函数SendMessage传递控件移动的消息即可。

----下面是一个例子,当用户单击按钮后可以移动按钮的位置。

----在窗体的总体声明部分声明SendMessage函数及用到的两个常量:

PrivateDeclareFunctionSendMessage
Lib"user32"Alias_
"SendMessageA"(ByValhwndAs
Long,ByValwMsgAsLong,_
ByValwParamAsLong,lParamAsAny)AsLong
ConstWM_SYSCOMMAND=&H112
ConstSC_MOVE=&HF012

----在窗体中添加一命令按钮Command1,双击写代码如下:

PrivateSubCommand1_Click()
Dimretn
retn=SendMessage(Command1.hwnd,
WM_SYSCOMMAND,SC_MOVE,0)
EndSub

----在窗体中添加命令按钮Command2,双击写如下代码:

PrivateSubCommand2_Click()
unloadme
EndSub

----运行此程序,单击命令按钮1,然后移动鼠标可以发现按钮的边框跟随鼠标移动,在新位置处单击鼠标就可以按钮移动过去了,单击按钮2可结束程序。

----2、保持窗口的比例不变。

----WINDOWS下的窗口一般都可以通过鼠标拖动来扩大,有些时候我们需要控制窗口的比例不变,以防窗口比例失调时造成界面的不协调。要做到这一点,可以利用API函数CallWindwosProc,当得到用户调整窗口的消息时,判断X或Y方向上的比例是否和原来的比例一样,如果不一样,则调整为一样。下面是一个例子。

----在窗体中加一个命令按钮Command1,双击写如下代码:

PrivateSubCommand1_Click()
UnloadMe
EndSub

----双击窗体写如下代码:

PrivateSubForm_Load()
OldWindowProc=SetWindowLong(hwnd,GWL_WNDPROC,AddressOfNewWindowProc)
EndSub

----将下面的代码放入一个模块中:

OptionExplicit
PublicOldWindowProcAsLon
声明API函数如下:
DeclareFunctionCallWindowProcLib
"user32"Alias"CallWindowProcA"_
(ByVallpPrevWndFuncAsLong,ByVal
hwndAsLong,ByValmsgAsLong,_
ByValwParamAsLong,lParamAs
WINDOWPOS)AsLong
DeclareFunctionSetWindowLongLib
"user32"Alias"SetWindowLongA"_
(ByValhwndAsLong,ByValnIndex
AsLong,ByValdwNewLongAsLong)AsLong

PublicConstGWL_WNDPROC=-4
定义一个窗口位置数据类型
TypeWINDOWPOS
hwndAsLong
hWndInsertAfterAsLong
xAsLong
yAsLong
cxAsLong
cyAsLong
flagsAsLong
EndType
PublicConstWM_WINDOWPOSCHANGING=&H46
PublicConstWM_WINDOWPOSCHANGED=&H47
处理窗口变化的函数
PublicFunctionNewWindowProc
(ByValhwndAsLong,ByValmsgAsLong,_
ByValwParamAsLong,lParamAsWINDOWPOS)AsLong
Staticdone_beforeAsBoolean
StaticaspectAsSingle
Dimnew_aspectAsSingle

Ifmsg=WM_WINDOWPOSCHANGINGThen
IflParam.cy>0Then
保存原来的比例
IfNotdone_beforeThen
aspect=lParam.cx/lParam.cy
done_before=True
EndIf

new_aspect=lParam.cx/lParam.cy
Ifnew_aspect>aspectThen
lParam.cy=lParam.cx/aspect
Else
lParam.cx=aspect*lParam.cy
EndIf
EndIf
EndIf

NewWindowProc=CallWindowProc
(OldWindowProc,hwnd,msg,wParam,lParam)

EndFunction

----运行此程序,当用鼠标拉窗体的边界扩大窗口时,将会发现另一边也相应地扩大,整个窗口的比例不变,单击command1结束程序。

----3、使用系统的“关于”对话框。

----也许你在软件中需要一个“关于”对话框,如果要求不高的话,可以不必再用一个窗体做“关于”对话框,可利用系统的对话框,虽然其中含有微软的一些信息,但你还是可以添加自己的某些信息,系统提供的“关于”对话框还有内存、资源等有关信息,你不需再为这些信息写任何代码。要使用系统的“关于”对话框,只需声明API函数ShellAbout,然后直接调用即可,例如:

声明API函数
PrivateDeclareFunction
ShellAboutLib"shell32.dll"_
Alias"ShellAbout"(ByValhwnd
AsLong,ByValszAppAsString,_
ByValszOtherStuffAsString,
ByValhIconAsLong)AsLong

在需要的地方使用它:
PrivateSubABOUTCd_Click()
x=ShellAbout(Form1.hwnd,"VB编程乐园网站指南","博士电脑软件工作室",Form1.Icon)
EndSub->


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·企业网站推广漫谈_网站推广
·极品清纯美女:用photoshop让她的眼睛睁开_photoshop教程
·让windows xp关机时自动清理页面文件_windows xp
·photoshop打造炽热太阳特效_photoshop教程
·photoshop滤镜打造三维水晶放射光线_photoshop教程
·photoshop实例:调出漂亮mm的唯美效果_photoshop教程
·常见php页面漏洞分析及相关问题解决_php技巧
·几种实用的推广方法_网站推广
·网站推广:口碑宣传很重要,不可忽视_网站推广
·自定义菜单文件_autocad教程

最新文章
·针对图片进行搜索优化的十五个技巧1
·针对图片进行搜索优化的十五个技巧
·百度算法更新后的思考
·百度SEO被百度K了?探寻百度新的404更新策略
·苏州SEO技术研究 SEO十步:第一、关键词策略
·网络营销Web2.0 战地黄花分外香
·中文分词?SEO优化有什么帮助
·究竟是Google 还是百度更新快?
·photoshop轻松绘制韩式卡通风格云朵_photoshop教程
·五种推广模式的优劣的比较_网站推广


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号