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

VB如何使窗体右上角的"X"无效?

HTML文档下载 WORD文档下载 PDF文档下载
VB如何使窗体右上角的"X"无效?

要Disable Form "X" -->Close的功能(便暗灰色),事实上便是从Form左上方的SystemMenu将关闭的MenuItem去除掉便可以了,去除后,又该如何,那便是在将关闭(Close)的MenuItem加回去 但这里有个小问题,加回去之后"X"仍是暗灰色,要等到我们做了某些固定的动作之后(如TittleBar上Click一下,或选一下SystemMenu等), 我不知道让TittleBar上的这些东西Refresh要送什么消息,所以现在我暂且Send一个在TittleBar上按下Mouse左键的消息给窗体,令"X"能出现的Enable颜色
在窗体上放置一个Command Button,输入以下代码,运行,点击一下Command Button 就可使"X" Enable.
Private Declare Function GetSystemMenu Lib "User32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "User32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function AppendMenu Lib "User32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long
Private Declare Function GetMenuString Lib "User32" Alias "GetMenuStringA" (ByVal hMenu As Long, ByVal wIDItem As Long, ByVal lpString As String, ByVal nMaxCount As Long, ByVal wFlag As Long) As Long
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const WM_NCLBUTTONDBLCLK = &HA3
Const WM_NCLBUTTONDOWN = &HA1
Const HTCAPTION = 2
Const MF_STRING = &H0&
Const MF_BYCOMMAND = &H0&
Const SC_CLOSE = &HF060
Private hMenu As Long
Private CloseStr As String '纪录Close MenuItem的字符串
Private Sub Command1_Click()
'将"关闭"的那个MenuItem重新加入
Call AppendMenu(hMenu, MF_STRING, SC_CLOSE, CloseStr)
'令"X"出现Enable的颜色
Call SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
End Sub
Private Sub Form_Load()
hMenu = GetSystemMenu(Me.hwnd, 0)
CloseStr = String(255, 0)
'SC_CLOSE即是"关闭"的MenuItem ID
Call GetMenuString(hMenu, SC_CLOSE, CloseStr, 256, MF_BYCOMMAND)
CloseStr = Left(CloseStr, InStr(1, CloseStr, Chr(0)) - 1)
Call DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND)
End Sub
在DELPHI程序中自动设置ODBC数据源 在Delphi的DBGrid中插入其他可视组件 在Delphi的Socket编程中如何从服务器向指定的客户机发送信息? 在Delphi动态生成定义数据库 在Delphi中处理数据库日期型字段的显示与输入 在Delphi中简单实现多重查询 在Delphi中建立和使用别名 在DELPHI中使用ADO对象存取ODBC数据库 在Delphi中使用DBF数据 在Delphi中随意控制DBGrid 每一行的颜色 在Delphi中自动检测、建立数据库别名和表格 在存储过程中使用use database-Delphi资料 在一个Dbgrid中显示多数据库-Delphi资料 在运行期创建表-Delphi资料 怎样把可以使用的表名输出到一个选择框?-Delphi资料 怎样发布基于Microsoft SQL Server的程序-Delphi资料 怎样解决打开一个DBF表时的Index not found..错误-Delphi资料 怎样向SQL Server插入带有Image字段的记录-Delphi资料 怎样在Paradox表中加密码?-Delphi资料 自动Login数据库-Delphi资料 自动检测、建立数据库别名和表格-Delphi资料 自动注册Paradox-Delphi资料 Delphi 4增訂的Object Pascal Delphi 5 Enterprise版10大特点 Delphi 插件创建、调试与使用应用程序扩展 Delphi 程序制作要点 Delphi 中面向对象编程之我见 Delphi”程序级触发器”功能的实现 Delphi4.0系统提示信息的汉化 Delphi5优化 Delphi编程技巧十则 一个关于InstallShield6.3的特难的问题 lotus Notes 数据库问题! 怎样设计纵向的库?难难!!!求求!! 关于代理的疑难问题? 一个简单的问题 请问各位,如何屏蔽掉地址栏里的地址,或者只留一个主页地址!把其他页面的地址屏蔽掉!!!! Oracle如何查询小写表名的数据表,解决了100分! 为啥m_combobox_ct.SetWindowText("")会不管用呢? 弱智型问题,好心人进来拿分吧! 在javabean中怎么去使用输出参数是游标的存储过程,希望的到一个例子 2002年最后一天,失恋了! 静态成员变量是全局变量吗?我能够在一个模块的几个不同文件中声明同名的静态成员变量吗? 求救!!!会不会仅仅是病毒的问题? compute 字段在报表中的应用问题?在线等待! 高分相送,c++ builder中使用ocx控件 关于listview与数据库的问题,请大家帮我看看程序出错在哪?谢谢!! 高手请进!! 高手请进!! 关于数据库问题 高手请进!! 静态成员变量是全局变量吗?我能够在一个模块的几个不同文件中声明同名的静态成员变量吗? 一个奇怪的问题——ADO连接数据库 还是文件上传的问题~~ 怎样取得水晶报表的总页数? 现在还有多少在做lotus开发的程序员啊?有没前途,这东西? 用VB怎样调用SQL的计划任务 Help!Help!关于在application中(不是applet)用MediaTracker读图片的问题,高分酬谢。 请高手指点高程软件工程部分哪些书比较好啊! 当程序与远程数据库服务器建立连接后断网了,怎么能让程序自动再建立连接?谢谢 关于tatabto控件的问题!! 请问怎么样让NetMeeting ActiveX 控件自动接受呼叫? 在网关上修改通过的数据包,要求增添一些数据,请问大家有什么方法,要注意什么问题? 我原来有个ucap.jar包,把它拷到和notes.jar包同一个目录,代理中import不进来。请问各位大虾要不要设置classpath,怎么设置? 流场的可视化 这样的模板为什么不工作?? 请问这是什么错误!!各位帮我解决一下! 请问怎么样让NetMeeting ActiveX 控件自动接受呼叫?帮帮小妹吧 hellogzz,我就这80分,给你了 请问怎么样让NetMeeting ActiveX 控件自动接受呼叫? 有关form的菜菜问题,求助!!! 在存储过程中如何进行字符的运算 如何从表中随机选择一条记录? ?急救,在线等候!delphi怎么实现可以在word里面通用的报表??高分 Norton 服务器版怎么样?是否服务器升级病毒库后客户端可以从服务器上直接升级呢? 如何采用触发的方式接受串口消息,并将消息内容转化成字符串型? 各位高手,如何针对不同尺寸和分辨率的屏幕设计软件界面? 我ADVGRID6的控件组,在DLEPH7下通不过,总是说缺.PAS文件,其实它已经存在!为什么... 重分悬赏2000PROFESSION下配置PHP+MYSQL的方法。 关于editmask 请教关于串口控件——SPCOMM的简单问题 设计时数据模块突然无法打开,而运行时也报“无法连接sql server或网络连接失败”怎么办? 英夫妇连生“三对”双胞胎创奇迹“晴格格”王艳晒爱子成长照 有爱妈妈佟大为:好的丈夫不是教育出来的,是夸田渤变身家庭贤惠煮夫 演绎烹饪时尚大郁可唯方主动曝光男友照片 事后却否认女主播李晓峰庆六一 曝童年照萌翻网友30岁侯湘婷嫁豪门 婆婆向友人开心报刘诗诗浓妆现身 忙赶飞机赴片场开工台湾女星李妍瑾不憋尿:用两把伞遮住 乐基儿离婚未要黎明赡养费 回港住廉价潘霜霜被爆恋上富二代 儿童节男友送限莫文蔚庆43岁生日 与德国老公同享甜台男星外遇致妻子跳楼自杀身亡 留下2迷奸案女星消失29天现身:每次见媒体何炅初恋女友曝光 长相甜美系校园恋情曾志伟儿媳妇张可蕙勾引苗侨伟 两人亲刘芸穿着粉色裙装现身 夹腿入座不慎走谢娜主持《艺术人生》 蹲地与来宾聊天赵雅芝夫妇连续几天穿旧衣 粉丝扎堆送《富春》首映 华仔拒给林志玲做媒:她《精忠岳飞》开播盛典 吴秀波温馨笑容“十二头身女神”引发关注新加坡真要复出?算笔经济账,科技住宅更省钱南京中介表示“影响不大”相约“浙”里,报名送惊喜支付宝钱包8.2版发布想要的都来了安徽:农民主动退出宅基地将获补偿90后南京妹纸漫画南京美食退税艰难免税店更受欢迎?深航开通南京到满洲里航线日本“心神”究竟是“神机”还是“神经接棒“妖镍” 铝价淡季反弹状态如何?宝宝“坐不住” 可能得怪家长甘冒“风险”啃汉堡不是幽默是抗议基金业将放宽外资持股限制渡口将取消 300多乘客出行难你家交了多少 都花哪儿了存在银行里的晨起睡前一杯白开水 每天晒足20分钟“罪名”一:装纯情洗白
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘