CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

我要如何才能简单的让窗口右上角的关闭按钮失效?

楼主hillmanweb(山人)2001-11-03 15:03:24 在 VB / 基础类 提问

问题点数:50、回复次数:4Top

1 楼Jneu(沧海桑田)回复于 2001-11-03 15:07:15 得分 25

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  
  Top

2 楼isamsung(fantastico)回复于 2001-11-03 15:31:11 得分 25

窗体属性ControlBox=False  
  或者用API  
  Private   Declare   Function   GetSystemMenu   Lib   "user32"   (ByVal   hwnd   As   Long,   ByVal   bRevert   As   Long)   As   Long  
  Private   Declare   Function   GetMenuItemCount   Lib   "user32"   (ByVal   hMenu   As   Long)   As   Long  
  Private   Declare   Function   DrawMenuBar   Lib   "user32"   (ByVal   hwnd   As   Long)   As   Long  
  Private   Declare   Function   RemoveMenu   Lib   "user32"   (ByVal   hMenu   As   Long,   ByVal   nPosition   As   Long,   ByVal   wFlags   As   Long)   As   Long  
  Const   MF_BYPOSITION   =   &H400&  
  Const   MF_REMOVE   =   &H1000&  
  Private   Sub   Form_Load()  
          Dim   hSysMenu   As   Long,   nCnt   As   Long  
          hSysMenu   =   GetSystemMenu(Me.hwnd,   False)  
   
          If   hSysMenu   Then  
                  nCnt   =   GetMenuItemCount(hSysMenu)  
                  If   nCnt   Then  
                      '去掉'X'  
                      RemoveMenu   hSysMenu,   nCnt   -   1,   MF_BYPOSITION   Or   MF_REMOVE  
                      DrawMenuBar   Me.hwnd  
                  End   If  
          End   If  
  这是上次谁教我的我不记得了。Top

3 楼hongtao924(活雷锋)回复于 2001-11-03 15:38:42 得分 0

人家问你们如何去关闭按钮,说一大堆干嘛.  
  属性  
  controlbox=false  
  就完了嘛.切  
  Top

4 楼fcq123456(李明)回复于 2001-11-07 06:58:41 得分 0

同意浮云的说法,很简单,不过好象是在VB6中才行。VB5中行不行没试过。  
  Top

相关问题

  • 如何使窗口右上角的关闭按钮失效?
  • 如何让对话框右上角的关闭按钮失效,用户只能点击指定的按钮关闭对话框???
  • 请问如何使右上角的关闭按钮失效!!谢谢!(在线等待!)
  • EVB程序编程,如何使程序中右上角的关闭按钮失效?
  • 怎样实现“关闭”按钮的失效?
  • DELPHI中如何使窗体的关闭按钮失效?
  • 如何使IE上的关闭按钮失效呢?
  • 哪位高手有办法编写一个使打开网页的窗口右上角的关闭按钮失效的例子? (ASP编程)
  • 请教js高手,如何让窗口关闭按钮失效,急急急!!!
  • 怎么使窗体的关闭按钮失效,并且消除双击关闭窗口,请教

关键词

  • byval
  • longprivate
  • wflag
  • hmenu
  • as long
  • alias
  • lib
  • user32
  • declare function
  • const

得分解答快速导航

  • 帖主:hillmanweb
  • Jneu
  • isamsung

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo