说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB如何使窗体最小化并消失

HTML文档下载 WORD文档下载 PDF文档下载
VB如何使窗体最小化并消失

如何做到当我们单击窗体的最小化和关闭按钮时,窗体先最小化到任务栏成为按钮,然后消失呢?金山词霸能做到,我们也可以做到。

只要我们能截获这两个事件发送给窗体的消息,然后换成我们自定义的过程,问题就解决了。首先,用CloseWindow使窗体最小化;然后,用Form1.Visible = False使窗体消失。

这两个事件共用一个消息:WM_SYSCOMMAND,不同的是传递给窗口函数的wp参数。为取得这两个事件的wp参数,有两个方法

1、用vb的常数,这是一些以SC_为前缀的常数(S代表SYS,C代表COMMAND)

2、编程取得它们,事实上,我采用的是这种方法。在窗口放两个文本框,当任何WM_SYSCOMMAND消息发生时,先在文本框里显示wp和lp的值,很容易的发现,单击最小化按钮时,wp=61472;单击关闭按钮时,wp=61536。现在就可以开始编程了。

为了实现对窗体的子类处理,采用MsgHook32控件。

源代码如下:

Option Explicit

' API函数声明
Private Declare Function CloseWindow Lib "user32" (ByVal hwnd As Long) As Long

' 常数声明
Private Const WM_SYSCOMMAND = &H112

Private Sub Form_Load()
Msghook1.HwndHook = Form1.hwnd
' 将Msghook1绑定到Form1上
Msghook1.Message(WM_SYSCOMMAND) = True
' Msghook1拦截WM_SYSCOMMAND消息
End Sub

Private Sub Msghook1_Message(ByVal msg As Long, ByVal wp As Long, ByVal lp As Long, result As Long)
Text1.Text = wp
Text2.Text = lp
If wp = 61472 Or wp = 61536 Then
' 单击的是最小化或关闭按钮
CloseWindow Form1.hwnd
' 最小化窗口
Form1.Visible = False
' 使窗口消失
Unload Form1
' 卸载窗口。如果有通知栏图标,就不用卸载窗口
Else
Call Msghook1.InvokeWindowProc(msg, wp, lp)
' 其他的事件由默认窗口函数处理
End If
End Sub

不仅是单击窗口右上角的按钮,其实,在系统菜单里选择最小化和关闭菜单项,也有同样的效果。

在VB中用PictureClip控件实现动画 在Visual Basic 6.0中实现自动播放VCD VB怎样在VB中播放Flash动画。 VB制作TopMost窗口 VB制作带有动画和声音的屏幕保护程序 VB制作自己的MP3播放器 用VB实现鼠标的隐藏 0、""(空字串)、Null、Empty、与 Nothing 的区别 -VB资料 VB中获取逻辑磁盘的信息 Command & Conquer 文件格式-VB资料 CrystaIReports for VB5报表编程经验 DirectX揭密-VB资料 HOOKS 说明书-VB资料 kb_event函数的使用 -VB资料 MaskEdit 中 9 的问题 -VB资料 MDB文件的导出(使用DAO)-VB资料 PaintPicture的和法 -VB资料 Shell & Wait 的程序怎么写? -VB资料 SHELL语句用法心得-VB资料 VarPtr、StrPtr和ObjPtr函数的用法-VB资料 VB 在ACADWIN中的使用 VB5.0应用程序的启动与退出设计 VB5如何取得CDROM的盘符? VB5三十六计 VB5中确定CPU类型 Vb6.0编程技巧四则 VB6二进制双通道技术实战经典 VB6内置的内码转换功能 VB编程步步高-代码效率篇(一) VB编程步步高-杂类篇(二) VB编程步步高-杂类篇(一) **CSS的字体居中怎么控制** 求大家帮帮我:vc掉dll的问题 急需功能齐全的ZIP控件(要求免费或已破解的)高分相酬!!!!! 一个很菜的问题,请高手相助! VC中用COM如何传递一个大数组? ADODB.Recordset 错误 '800a0cb3' 请问:哪里有matlab的linux版本下载 初学者:这段程序在编译时为什么会出错?? 怎么知道一个光驱是可写的? 请问如何在vc中sdk方法建立数据库接口 为什么98出现许多乱码拉? ===菜鸟系列===:如何用VC获得www.csdn.net的IP地址?在线等候!!! 请教一道算法题!44的44次方!用C或C++实现! 关于文件上传的问题 lihonggen请进,多问1句 98二的CD-KEY给一个,马上给分 TC++图像编程小问题: ) 请教一下怎么解决~~ How to install VB6.0 Enterprise in Windows NT workstation4.0+sp6? ###########################简单的问题,救我! 关于open方法的问题??? =======是鲁迅错了?还是我错了?============= 如何实现写字板的replace功能? 新手问初级的问题:客户端使用什么数据库好? 为什么 CBC6 没有 ClassExplorer ??????? vc高手看过来!如何实现通过程序拨号(专线猫)请给出例子!急.急.急! 我的机器为何不能装2000 想知道搞Java多少银子/月呀? 哪里有Win2000英文版的下载啊 请教各位:用jsp中怎样知道用户浏览器的类型? 哪里有bmp文件格式的标准? 为什么sql server2000数据库里的数据在Win XP下不能显示中文啊? 回答出来给100分 在pb中用SetPicture(lb_image)当lb_image为空时picture的图片不变 急!!请问关于传递byte数组的问题 请教动态库的问题! 使用Delphi能够访问Windows2000 Active Directory? 请问在发邮件的时候怎么检查邮件地址真假!有无正确的发到! 简单之极的问题(两个,有关IE和IIS),但我还不会 那里有activethreed 3.0下载,快帮帮我呀! 开发OFFICE ADDIN 插件是否需要OFFICE SDK? 谁能给我一个用C++实现哈希表的例子? ◇◆◇上海有居住证的请进来拿分◇◆◇ 誰有SilverStream的中文資料,或哪有下載,謝謝. 在VB中如何显示声音VU强度的输出 How to install VB6.0 Enterprise in Windows NT workstation4.0+sp6? 想使用windump却总是说 error opening adapter 是什么意思?? 关于pb的一个问题 怎么控制Word为只读属性? 在VB中如何显示声音VU强度的输出 快来啊,怎么总是不行?帮帮忙把!!!!!!!!!!! 关于TreeView与数据库的问题? 石头上的白色晶体是什么 名人爱国的名言中国人说的,如;周恩来.邓小平------ 已知a,b,c为自然数,a 我有一块石头,全都是白色,透光性非常好,外形想鹅卵石.有点沉,在河边捡的,我想问一下这是什么石头...我有一块石头,全都是白色,透光性非常好,外形想鹅卵石.有点沉,在河边捡的,我想问一下 名人名言——爱国篇 椭圆X^2/25+Y^/9=1上一点M到焦点F1的距离为2,N是MF1的中点,则绝对值ON为多少? 这是我几年前在江边捡到的石头,是化石呢还是奇石还是就是鹅卵石? 关于爱国的名人名言 a b c为正整数 且a 已知方程8x²+6kx+2k+1=0的两个实根是sinα和cosα(其中sinα>cosα),求k的值,求tanα的值? 在三角形ABC中,∠C=90°,AB=4,且关于x的方程x²-x+cos²A=0有两个相等的实数根,解此三角形 椭圆x^2/9+y ^2/2=1的焦点为F1,F2,点P在椭圆上,若PF1的绝对值=4,则PF2的绝对值是多少?角F1PF2的大小为?椭圆x^2/9+y^2/2=1的焦点为F1,F2,点P在椭圆上,若PF1的绝对值=4,则PF2的绝对值是多少?角F1PF2的大小为? 鹅卵石--因为没有棱角,所以人见人爱.时间-- 云彩--- 一个平方5厘米厚的C20混凝土需要多少沙子,水泥 a,b.c为正整数,且a小于b,b为质数,当a+b=c-a=1995时,求a+b+c=的最大值 例:鹅卵石——因为没有棱角,所以人见人爱 时间,大海例句 当x取哪些值时,分式x-2/3x+2的值是非负数 这题是怎么求出来-三分之二的- - 方程2x^-(「3 +1)x+m=0的两根为sinθ,cosθ,θ∈(0,2∏),求(1)sinθ/1-cotθ+cosθ/1-tanθ;(2)m 鹅卵石——因为没有棱角,所以人见人爱.大海呢 当x取什么值时,分式x-3分之-2的值为负数.谢谢 29和( )的乘积是质数 a.任何自然数 b.质数 c .1 鹅卵石——因为没有棱角,所以人见人爱.橡皮擦呢 已知0 已知两个自然数b c ,质数a 且a^2+b^2=c^2 求证:a<b ,c=b+1 鹅卵石,因为没有棱角,所以人见人爱.尺子,橡皮呢? 哪有初二下学期历史生物地理卷子 目前钢筋、水泥、中砂、生石灰、碎石、混凝土、木材、砖的市场价格钢筋25一下、水泥325 425,商品混凝土c20 c30 若分式方程3/x+3=2/x+k的解为负数,求K的取值范围, 我明天就考了 砖坯和木材、石材和生石灰、钢筋和水泥,肯定含有的金属元素是? 若分式方程x/x-3-2=k/(x-3)的解为负数,求K的取值范围 当x=_____ 时,分式x的平方分之2-x的值是非负数 做吃的食物用的生石灰水,是水泥店卖的生石灰吗? 如果方程(x-1)(x²-2x+m)=0的3个根可以作为一个三角形的三边长,那么实数m的取值范围是? 当x= ( ) 时,分式x-1/x的平方的值为负数 当x=( )时,分式x的平方-4/x+2无意义:当x=( )时,分式x的平方-4/x+2的值为零 水泥是生石灰吗? 爱国的英雄人物以及他们的爱国名言和他们的爱国故事 如果a是质数,b是合数,下面( )的值一定是合数 A a+b B ab C ab÷6 D b÷a 锯子对什么(有水泥,木材,椅子,砖头) 比3小的自然数的和(),积是(). 如果a是质数b是合数()的值一定是质数.A,a+b.B,ab.C,ab÷b 2x的平方+7x=0,则x的值是 如果方程(x-1)(x^2-2x+m)=0的三根可以作为一个三角形的三边之长,则实数m的取值范围是? 已知多项式3x³+ax²+3x+1能被x²+1整除,且商式为3x+1,试求a的值 如果a是质数,b是合数,下面一定是质数的是( ) A、a+b B、ab C、ab除以b D、a除以b 如果方程(x-1)(x^2-2x+ k/4)=0的三根可以作为一个三角形的三边之长,那么实数k的取值范围是答案是3<k≤4.,但是怎么求出来的? 伟人爱国名言要多点. a是质数,b是合数.下面的式子中,值一定是合数的为?A:3a+b B:ab C:ab/a D:(a/b)/(1/2b) 若AB是过椭圆x²/25+y²/16中心的弦,F1是左焦点,则△ABF1的面积最大值为___12___, 谁有有关伟人爱国的名言?我要三条, 若A是质数,B是合数.那么AB一定是合数的是( )Aa+(b+2) B(a+2)*b C(b+2)\d 形状奇特比鹅卵石重,不知是什么石头这块石头重750克,比同样体积的鹅卵石重150克,也就是同样体积的鹅卵石是600克,有可能是陨石吗?材质看起来和普通石头一样,现在凸起部位有些发黄,请各位 已知F1,F2是椭圆x^2/4+y^2=1的两个焦点,P为椭圆上一点,角F1PF2=60°,求三角形F1PF2的面积. 重点复习哪几本书 珍惜时间的名言名句 P为椭圆X^2/25+Y^2/9=1上一点,F1,F2为左右焦点,若∠F1PF2=120度,求△F1PF2的面积 初二地理下册复习重点 关于珍惜时间的名言名句多找一点啦,(最好有20个,最好有富兰克林的~ 已知F1.F2是椭圆x方/9+Y方/5=1的焦点.点P在椭圆上且角F1PF2=派/3求三角形F1PF2的面积 已知F1 F2为椭圆x^2/16+y^2/9=1的两个焦点 过点F2的直线交椭圆于A B 两点 且绝对值AB=5 求绝对值AF1+绝对为什么 绝对值AF1+绝对值AF2=2a=82b=6 |AB|=5 如果只过一个焦点的话那|AB|为5太大了 所以直线是过
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘