zoukankan      html  css  js  c++  java
  • 对话框隐藏的简单实现(转)

     有时候想让一个对话框一启动就隐藏,有好多方法可以实现,但效果都不理想,总是可以看到对话框一闪而过的痕迹。有没有一个方法彻底的将其隐藏呢,答案是肯定的,以下就是一个简单的实现方法。

            首先要用到的是ModifyStyleEx函数,用于修改窗口的扩展属性,该函数的原型是:   
            BOOL ModifyStyleEx(
                         DWORD dwRemove,//要移出的属性  
                        DWORD dwAdd,//要添加的属性
                        UINT nFlags = 0
             );
           在对话框的初始函数OnInitDialog中添加代码:
           ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);
         
          其中: 
                    WS_EX_APPWINDOW属性的作用是当一个顶层窗口可见时,强制其出现在任务栏上。将其移出。
        
    WS_EX_TOOLWINDOW属性的作用是创建一个象浮动工具栏一样的窗口,该窗口不会出现在任务栏上,并且按 "ALT+TAB" 时也不会出现。将其增加。

      在对话框的默认处理函数DefWindowProc中添加代码:
      if(message==WM_NCPAINT)
       {
            ShowWindow(SW_HIDE);
          return 0;
       }

      WM_NCPAINT消息在窗口框架必须绘制时被发送到窗口。

      就这样添加几行简单的代码便可让窗口一启动就不见了,当然你必须为程序添加系统托盘图标,否则你就没办法对窗口进行控制了。

  • 相关阅读:
    [UE4]roll pitch yaw
    [UE4]用向量表示方向
    [UE4]关闭自动曝光
    Mysql数据库常用分库和分表方式
    mycat分库分表 mod-long
    windows安装mycat(转)
    Mycat读写分离、主从切换学习(转)
    Windows版Mycat结合mysql安装配置+水平切分(转载)
    数据库高性能读写分离集群操作说明
    spring MVC、mybatis配置读写分离,ReplicationDriver(转载)
  • 原文地址:https://www.cnblogs.com/rainbowzc/p/1398601.html
Copyright © 2011-2022 走看看