- 浏览: 167454 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
xiangyufangai:
很好很强大膜拜中哈哈!!
VB 两个字符串处理函数(类似Left/Mid/Right/Split的结合) -
hellohank:
这个……叫摘要算法,不叫加密算法~
Java实现的加密工具类(支持MD5和SHA) -
NIUCH1029291561:
接口有问题奥
网银在线支付接口和应用 -
yeuego:
能幫你就行了
MySQL索引分析 -
ForgiDaved:
很给力的介绍。记得前段时间给一个系统加功能,设计的表没有 ...
MySQL索引分析
VB提供了API函数SetWindowLong和GetWindowLong,可以让我们很容易取得对窗口的操作;通过对窗口属性的操作,可以更改窗口的显示风格。有些看来是正常情况下无法实现的窗口,现在你可以很容易的实现。只要你想到,更多希奇古怪的你也能做到。快试试下面的例子吧。
'以下例子中可能用到的API声明和常量、变量声明
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOZORDER = &H4
Private Const SWP_NOMOVE = &H2
Private Const SWP_DRAWFRAME = &H20
Private Const GWL_STYLE = (-16)
Private Const WS_THICKFRAME = &H40000
Private Const WS_DLGFRAME = &H400000
Private Const WS_POPUP = &H80000000
Private Const WS_CAPTION = &HC00000
Private Const WS_SYSMENU = &H80000
Private Const WS_MINIMIZEBOX = &H20000
Private Const WS_MAXIMIZEBOX = &H10000
Private Const WS_MINIMIZE = &H20000000
Private Const WS_MAXIMIZE = &H1000000
--------------------------------------------------------------------------------
'例子一:任何一个控件(只要有窗口,这是我们的前提,下同),你可以在运行时随便更改它的大小。
Private Sub ControlSize(ControlName As Control, SetTrue As Boolean)
Dim dwStyle As Long
dwStyle = GetWindowLong(ControlName.hwnd, GWL_STYLE)
If SetTrue Then
dwStyle = dwStyle Or WS_THICKFRAME
Else
dwStyle = dwStyle - WS_THICKFRAME
End If
dwStyle = SetWindowLong(ControlName.hwnd, GWL_STYLE, dwStyle)
SetWindowPos ControlName.hwnd, ControlName.Parent.hwnd, 0, 0, 0, 0, SWP_NOZORDER Or SWP_NOSIZE Or SWP_NOMOVE Or SWP_DRAWFRAME
End Sub
'用法:ControlSize picture1,true;设置第二个参数为False取消这种设置,下同
--------------------------------------------------------------------------------
'例子二:任何一个控件,我们都可以控制其显示风格为对话框的风格。
Private Sub ControlDialog(ControlName As Control, SetTrue As Boolean)
Dim dwStyle As Long
dwStyle = GetWindowLong(ControlName.hwnd, GWL_STYLE)
If SetTrue Then
dwStyle = dwStyle Or WS_DLGFRAME
Else
dwStyle = dwStyle - WS_DLGFRAME
End If
dwStyle = SetWindowLong(ControlName.hwnd, GWL_STYLE, dwStyle)
SetWindowPos ControlName.hwnd, ControlName.Parent.hwnd, 0, 0, 0, 0, SWP_NOZORDER Or SWP_NOSIZE Or SWP_NOMOVE Or SWP_DRAWFRAME
End Sub
'用法:ControlSize picture1,true
--------------------------------------------------------------------------------
'例子三:任何一个控件,我们都可以控制其显示风格为模式对话框的风格
Private Sub ControlModal(ControlName As Control, SetTrue As Boolean)
Dim dwStyle As Long
dwStyle = GetWindowLong(ControlName.hwnd, GWL_STYLE)
If SetTrue Then
dwStyle = dwStyle Or WS_POPUP
Else
dwStyle = dwStyle - WS_POPUP
End If
dwStyle = SetWindowLong(ControlName.hwnd, GWL_STYLE, dwStyle)
SetWindowPos ControlName.hwnd, ControlName.Parent.hwnd, 0, 0, 0, 0, SWP_NOZORDER Or SWP_NOSIZE Or SWP_NOMOVE Or SWP_DRAWFRAME
End Sub
'用法:ControlModal Picture1,true
--------------------------------------------------------------------------------
'例子四:任何一个控件,我们都可以给它加上标题栏,通过拖动标题栏,可以实现控件的运行时移动。
Private Sub ControlCaption(ControlName As Control, SetTrue As Boolean) Dim dwStyle As Long
dwStyle = GetWindowLong(ControlName.hwnd, GWL_STYLE)
If SetTrue Then
dwStyle = dwStyle Or WS_CAPTION
Else
dwStyle = dwStyle - WS_CAPTION
End If
dwStyle = SetWindowLong(ControlName.hwnd, GWL_STYLE, dwStyle)
SetWindowPos ControlName.hwnd, ControlName.Parent.hwnd, 0, 0, 0, 0, SWP_NOZORDER Or SWP_NOSIZE Or SWP_NOMOVE Or SWP_DRAWFRAME
End Sub
'用法:ControlCaption picture1,true
--------------------------------------------------------------------------------
'例子五:任何一个控件,我们都可以给它加上ControlBox(所谓ControlBox,就是窗体的图标+最小化+最大化+关闭按钮)。
Private Sub ControlSysMenu(ControlName As Control, SetTrue As Boolean)
Dim dwStyle As Long
dwStyle = GetWindowLong(ControlName.hwnd, GWL_STYLE)
If SetTrue Then
dwStyle = dwStyle Or WS_SYSMENU
Else
dwStyle = dwStyle - WS_SYSMENU
End If
dwStyle = SetWindowLong(ControlName.hwnd, GWL_STYLE, dwStyle)
SetWindowPos ControlName.hwnd, ControlName.Parent.hwnd, 0, 0, 0, 0, SWP_NOZORDER Or SWP_NOSIZE Or SWP_NOMOVE Or SWP_DRAWFRAME
End Sub
'用法:ControlCaption picture1,true:ControlSysmenu picture1,true
发表评论
-
vb 启动外部程序并且模拟鼠标点击
2011-03-09 13:28 1076Imports System.Runtime.InteropS ... -
VB 列出SQL数据库中所有表及字段信息
2011-03-09 13:24 1100程序思想:用Select name From sysobje ... -
VB 纯代码实现Timer控件的功能
2011-03-09 13:23 1243本博客有一篇类似的文章《VB 中运用 TimeSetEvent ... -
VB 控制音量
2011-03-09 13:22 1191'按钮一是音量增加,按钮二是音量减少,按钮三是静音切换. ... -
拦截 VB TextBox 双击消息
2011-03-09 13:22 919我们都知道在VB中TextBox默认是没有双击消息过程的(也就 ... -
VB 获取/设置屏幕分辨率
2011-03-09 13:21 1061Option ExplicitPrivate Decla ... -
VB 将数据快速导入EXCEL
2011-03-09 13:21 989Public Function ToExcel()On ... -
VB 建立快捷方式
2011-03-09 13:20 758Private Declare Function fCr ... -
VB 获取快捷方式原文件路径
2011-03-09 13:20 890'此方法不需要引用IShellLink.Private ... -
VB 的一组字符串转换函数
2011-03-09 13:20 750Public Function chrConvert(s ... -
VB 在浏览目录时指定初始目录
2011-03-09 13:19 970'VB也可以使用CallBack,下面是一个例子: '先 ... -
VB 获得鼠标滚轮的事件
2011-03-09 13:18 942'窗体代码Private Sub Form_Load() ... -
VB 比较两组字符串
2011-03-09 13:18 1233【方法一】 StrComp(string1, Stri ... -
VB 用API下载文件实例
2011-03-09 13:17 768'########################### ... -
VB 实现屏幕右下角浮出式消息窗口,透明淡出效果。
2011-03-09 13:16 919'任务栏高度[此部分相关代码转载自 枕善居]Privat ... -
VB Filter 函数用法
2011-03-09 13:16 1893例子1:Dim aa(10) As StringDim bbD ... -
VB 在EXPLORER进程崩溃之后重建托盘图标
2011-03-09 13:15 816重点为:向系统注册“TaskbarCreated”消息 ... -
Shell 调用程序后等待该程序结束后返回继续
2011-03-09 13:15 1188方法1: Private Declare Functi ... -
VB 最简单的WAV声音或音乐文件播放的代码
2011-03-09 13:14 1333'最简单的WAV声音或音乐文件播放的代码'API声明Pr ... -
VB 实现保存 Direct3D 游戏截图
2011-03-09 13:13 1467Written By Microsoft MVP: Eric ...
相关推荐
Vb提供了API函数SetWindowLong和GetWindowLong,可以让我们很容易取得对窗口的操作;通过对窗口属性的操作,可以更改窗口的显示风格
VB 之 精 彩 编 程-窗口处理技巧大全
VB动画版“关于”窗口,带拉幕和滚动字幕效果,拉幕式动画“关于“窗口,用来制作软件的”“关于”对话框之类的比较合适,打开窗口后,点击“关于本软件”后会弹出一个带滚动字幕的拉幕窗口,动画效果流畅,还可调节...
VB技巧(2)-多媒体处理 1 音效档播放程式 2 如何用API播放CD 3 如何用API及MMSYSTEM.DLL播放AVI文件 4 如何用API及MMSYSTEM.DLL播放WAV文件 5 怎样检查声卡的存在 6 如何从" SOUND.DRV"中提取声音 7 ...
使用SetWindowLong改变窗口的缺省窗口处理函数,从而建立可以显示不同颜色列表的程序(3KB) 20,filedialog_hook.ZIP DialogHook利用Windows API实现对文件打开对话框的监控(6KB) 21,djapi.zip A common API ...
◆ 82.htm 用Sockets发送电子邮件 ◆ 83.htm 用VB 创 建 自 己 的 通 信 程 序 ◆ 84.htm 用VB5.0开发通信软件的技巧 ◆ 85.htm 用VB5开发IE ◆ 86.htm 用VB编写网络寻呼 ◆ 87.htm ...
g017 3维的breaKthrough游戏(8KB) 582,g016.zip 小蜜蜂射击游戏源程序, 不仅演示了 vb 的图形操作技巧,键盘操作,还演示了怎样使用 npmod32.dll(已包含,免费) 来播mod,s3m,mpp,med,xm,it,mdz,itz,xmz,s3z 等...
关于vb初学者的忠告 信息来源:邪恶八进制信息安全团队(www.eviloctal.com) 1、如果一行程序太长,能不能换行? VB的程序代码是允许换行书写的,只要在每次换行的最后一个字符加上换行字符“_”就可以了。例如...
掌握VB语言提供的事件编程机制,以及在Windows界面设计(窗口、控件)应用;以及的掌握VB语言在图形、文件操作和数据库应用等方面的基本应用方法;掌握程序调试方法,学会应用计算机通过程序解决实际问题。。 三、...
你可以通过这个小程序了解一些VB.NET与图片之间的操作技巧,另外还可以学习到窗口对话框的一些基本操作、PictureBox控件用法、目录和文件列表框的使用、处理鼠标事件、偏移量计算图片位置,重画图片、绘图画面,颜色...
g017 3维的breaKthrough游戏(8KB) 582,g016.zip 小蜜蜂射击游戏源程序, 不仅演示了 vb 的图形操作技巧,键盘操作,还演示了怎样使用 npmod32.dll(已包含,免费) 来播mod,s3m,mpp,med,xm,it,mdz,itz,xmz,s3z 等...
调试和错误处理技巧; Web Services和.NET Remoting技术; 如何建立类库、创建自定义控制和自定义图形; 运用SQL Server和ADO.NET进行数据库编程; 了解移动应用程序及其构建方法。 本书读者对象: ...
VB SendKeys语句详解 将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样。 语法 SendKeys string[, wait] SendKeys 语句的语法具有以下几个命名参数: string 必需的。字符串表达式,指定要发送的...
g017 3维的breaKthrough游戏(8KB) 582,g016.zip 小蜜蜂射击游戏源程序, 不仅演示了 vb 的图形操作技巧,键盘操作,还演示了怎样使用 npmod32.dll(已包含,免费) 来播mod,s3m,mpp,med,xm,it,mdz,itz,xmz,s3z 等...
g017 3维的breaKthrough游戏(8KB) 582,g016.zip 小蜜蜂射击游戏源程序, 不仅演示了 vb 的图形操作技巧,键盘操作,还演示了怎样使用 npmod32.dll(已包含,免费) 来播mod,s3m,mpp,med,xm,it,mdz,itz,xmz,s3z 等...
调试和错误处理技巧; Web Services和.NET Remoting技术; 如何建立类库、创建自定义控制和自定义图形; 运用SQL Server和ADO.NET进行数据库编程; 了解移动应用程序及其构建方法。 本书读者对象: ...
第2~6篇为VB 2008专题应用程序开发实例,通过19个专题领域实例,详细深入地介绍了VB 2008各种领域的应用开发技术和技巧,具体包括:数据库应用开发实例、网络与通信开发实例、多媒体应用开发实例、图形图像处理实例...
提高部分则从面向对象编程、使用图形及与环境交互等方面阐述了Visual Basic 2008编程的实质性内容,其中提供了大量的示例代码,这不仅可以提高读者的编程技能,而且能使读者掌握大量的编程技巧,领悟编程精髓。...
Visual Basic 6编程技术大全 是非常详细和深入的Vb6学习教程,无论对初学者还是有经验的开发人员,都非常有帮助 第一部分基础篇1 第1章 VB6入门1 1.1 集成开发环境1 1.1.1 运行IDE1 1.1.2 选择工程类型1 1.1.3 IDE...