精华内容
下载资源
问答
  • Dialog(对话框窗口

    2018-10-12 22:56:50
    对话框窗口右上角只有一个关闭按钮用户可以配置对话框的行为显示其他工具,如collapsible,minimizable,maximizable工具等。   <%@ page language="java" import="java.util.*" ...

                该对话框是一种特殊类型的窗口,它在顶部有一个工具栏,在底部有一个按钮栏。对话框窗口右上角只有一个关闭按钮用户可以配置对话框的行为显示其他工具,如collapsible,minimizable,maximizable工具等。

     

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>Dialog</title>
        <!-- 引入easyUI:JQuery文件支持 -->
      	<script type="text/javascript" src="js/jquery-easyui-1.3.4/jquery.min.js"></script>
      	<!-- 引入easyUI -->
      	<script type="text/javascript" src="js/jquery-easyui-1.3.4/jquery.easyui.min.js"></script>
      	<!-- 引入中文支持 -->
      	<script type="text/javascript" src="js/jquery-easyui-1.3.4/locale/easyui-lang-zh_CN.js"></script>
      	<!-- 引入easyUI主题css文件 -->
      	<link rel="stylesheet" href="js/jquery-easyui-1.3.4/themes/default/easyui.css" type="text/css"></link>
      	<!-- 引入easyUI 图标导航文件 -->
      	<link rel="stylesheet" href="js/jquery-easyui-1.3.4/themes/icon.css" type="text/css"></link></head>
      
      <body>
      	<%
      		/*
      			resizable:是否可以改变对话框窗口大小
      			modal:是否将窗体显示为模式化窗口
      			toolbar:对话框窗口顶部工具栏
      			buttons:对话框窗口底部按钮
      		*/
      	 %>
    	<div id="dd" class="easyui-dialog" title="对话框窗口" style="width:400px;height:200px;"   
    	        data-options="iconCls:'icon-save',resizable:true,modal:false">   
    			会当凌绝顶,一览众山小
    	</div>
      </body>
    </html>
    

     

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>Dialog</title>
        <!-- 引入easyUI:JQuery文件支持 -->
      	<script type="text/javascript" src="js/jquery-easyui-1.3.4/jquery.min.js"></script>
      	<!-- 引入easyUI -->
      	<script type="text/javascript" src="js/jquery-easyui-1.3.4/jquery.easyui.min.js"></script>
      	<!-- 引入中文支持 -->
      	<script type="text/javascript" src="js/jquery-easyui-1.3.4/locale/easyui-lang-zh_CN.js"></script>
      	<!-- 引入easyUI主题css文件 -->
      	<link rel="stylesheet" href="js/jquery-easyui-1.3.4/themes/default/easyui.css" type="text/css"></link>
      	<!-- 引入easyUI 图标导航文件 -->
      	<link rel="stylesheet" href="js/jquery-easyui-1.3.4/themes/icon.css" type="text/css"></link></head>
      
      <body>
      	<%
      		/*
      			resizable:是否可以改变对话框窗口大小
      			modal:是否将窗体显示为模式化窗口
      			toolbar:对话框窗口顶部工具栏
      			buttons:对话框窗口底部按钮
      		*/
      	 %>
    <!-- ----------------------------------选择器-------------------------------------------------------- -->
    	<div id="dd" class="easyui-dialog" title="对话框窗口" style="width:400px;height:200px;"   
    	        data-options="iconCls:'icon-save',resizable:true,modal:false,toolbar:'#tb'">   
    			会当凌绝顶,一览众山小
    	</div>
    	
    	<div id="tb">
    		<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true"></a>
    		<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-help',plain:true"></a>
    	</div>
    
    <!-- ----------------------------------数组-------------------------------------------------------- -->
    	<div class="easyui-dialog" style="width:600px;height:300px"
    		data-options="title:'My Dialog',modal:true,
    			toolbar:[{
    				text:'编辑',
    				iconCls:'icon-edit',
    				handler:function(){alert('edit')}
    			},{
    				text:'帮助',
    				iconCls:'icon-help',
    				handler:function(){alert('help')}
    			}]">
    		欢迎关注
    	</div>
      </body>
    </html>
    

     

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>Dialog</title>
        <!-- 引入easyUI:JQuery文件支持 -->
      	<script type="text/javascript" src="js/jquery-easyui-1.3.4/jquery.min.js"></script>
      	<!-- 引入easyUI -->
      	<script type="text/javascript" src="js/jquery-easyui-1.3.4/jquery.easyui.min.js"></script>
      	<!-- 引入中文支持 -->
      	<script type="text/javascript" src="js/jquery-easyui-1.3.4/locale/easyui-lang-zh_CN.js"></script>
      	<!-- 引入easyUI主题css文件 -->
      	<link rel="stylesheet" href="js/jquery-easyui-1.3.4/themes/default/easyui.css" type="text/css"></link>
      	<!-- 引入easyUI 图标导航文件 -->
      	<link rel="stylesheet" href="js/jquery-easyui-1.3.4/themes/icon.css" type="text/css"></link></head>
      
      <body>
      	<%
      		/*
      			resizable:是否可以改变对话框窗口大小
      			modal:是否将窗体显示为模式化窗口
      			toolbar:对话框窗口顶部工具栏
      			buttons:对话框窗口底部按钮
      		*/
      	 %>
    <!-- -----------------------------选择器--------------------------------- -->
    	<div id="dd" class="easyui-dialog" title="对话框窗口" style="width:400px;height:200px;"   
    	        data-options="iconCls:'icon-save',resizable:true,modal:false,buttons:'#bb'">   
    			会当凌绝顶,一览众山小
    	</div>
    
    	<div id="bb">
    		<a href="#" class="easyui-linkbutton">保存</a>
    		<a href="#" class="easyui-linkbutton">关闭</a>
    	</div>
    <!-- -----------------------------数组--------------------------------- -->
    	<div class="easyui-dialog" style="width:600px;height:300px"
    			data-options="title:'我的对话框',modal:true,
    				buttons:[{
    					text:'保存',
    					handler:function(){alert('保存');}
    				},{
    					text:'关闭',
    					handler:function(){alert('关闭');}
    				}]">
    		墨渐生微
    	</div>
      </body>
    </html>
    

     

    展开全文
  • 经常会需要显示对话框窗口,以便从用户那里得到确认。这是,可以重写Activity基类中定义的受保护的onCreateDialog()方法来显示对话框窗口。 新建一个android项目,将其命名为Dialog。在mian.xml文件中添加Btton...

    经常会需要显示对话框窗口,以便从用户那里得到确认。这是,可以重写Activity基类中定义的受保护的onCreateDialog()方法来显示对话框窗口。


    新建一个android项目,将其命名为Dialog。在mian.xml文件中添加Btton:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity" >

        <Button
            android:id="@+id/btn_dialog"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Click to diaplay a dialog" 
            android:onClick="onClick"/>
      
    </RelativeLayout>


    MainActivity.java:

    package com.example.dialogg;


    import android.os.Bundle;
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.Dialog;
    import android.content.DialogInterface;
    import android.view.View;
    import android.widget.Toast;


    public class MainActivity extends Activity {
    CharSequence[] items={"Google","Apple","Microsoft"};
    boolean[] itemsChecked=new boolean[items.length];
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    }
    @SuppressWarnings("deprecation")
    public void onClick(View v){
    showDialog(0);
    }

    /**要显示一个对话框首先要实现Activity类中的onCreateDialog()方法
    * onCreateDialog()是一个用于创建由活动管理的对话框的回调方法,当调用showDialog()方法时,将回调这个方法。
    * showDialog()方法接受一个整型参数,用来表示显示的对话框。

    * */
    @SuppressWarnings("deprecation")
    @Override
    protected Dialog onCreateDialog(int id) {
    switch (id) {
    case 0:
    //要创建对话框,需要使用AlertDialog类的Builder构造函数来设置不同的属性,例如:图标,标题,按钮
    return new AlertDialog.Builder(this)
    .setIcon(R.drawable.ic_launcher)
    .setTitle("This is a dialog with some simple text...")
    //设置ok按钮
    .setPositiveButton("ok", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
    Toast.makeText(getBaseContext(), "OK clicked!", Toast.LENGTH_SHORT).show();
    }
    })
    //设置取消按钮
    .setNegativeButton("cacle", new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {
    Toast.makeText(getBaseContext(), "Cancel chlicked", Toast.LENGTH_SHORT).show();
    }
    })
    //设置复选框列表
    /**setMultiChoiceItems()方法需要传入两个数组,一个是要显示的项列表,另一个包含了表明每个项是否被选中的值。*/
    .setMultiChoiceItems(items, itemsChecked, new DialogInterface.OnMultiChoiceClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
    Toast.makeText(getBaseContext(), items[which]+(isChecked?" checked!":" unchecked!"), Toast.LENGTH_SHORT).show();

    }
    }).create();


    }
    return null;
    }
    }


    展开全文
  • 在MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置: CRect r; pWnd->GetWindowRect(&r); 这样获得的r是控件相对于屏幕的坐标,然后用ScreenToClient(&r)就可以获得控件相对于父窗口的坐标。如果用...
    在MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置:
    CRect  r;
    pWnd->GetWindowRect(&r);
    这样获得的r是控件相对于屏幕的坐标,然后用ScreenToClient(&r)就可以获得控件相对于父窗口的坐标。如果用GetClientRect(&r)的话,r.left和r.top始终是0,得到的并不是实际坐标。

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    以用GetSystemMetrics函数可以获取系统分辨率,但这只是其功能之一,GetSystemMetrics函数只有一个参数,称之为「索引」,这个索引有75个标识符,通过设置不同的标识符就可以获取系统分辨率、窗体显示区域的宽度和高度、滚动条的宽度和高度。

    为了使使GetSystemMetrics的功能,我们以获取系统分辨率为例,并将其中的两个值用TextOut输出到窗体中。

    第一步:用GetSystemMetrics获取屏幕的宽度和高度

    1. int x, y;
    2. x = GetSystemMetrics(SM_CXSCREEN); //屏幕宽度
    3. y = GetSystemMetrics(SM_CYSCREEN); //屏幕高度

    获取窗体显示区域大小

    已我现在的了解,获取窗体显示区域大小有三种方法。

    第一种方法:使用GetSystemMetrics函数

    1. GetSystemMetrics(SM_CXFULLSCREEN); //获取最大化窗体的显示区域宽度
    2. GetSystemMetrics(SM_CYFULLSCREEN); //获取最大化窗体的显示区域高度

    下面是GetSystemMetrics函数参数nIndex的定义:

     

    SM_ARRANGE 返回是否预备最小化.
    SM_CLEANBOOT 返回系统启动方式:
        0 正常启动
        1 安全模式启动
        2 网络安全模式启动
    SM_CMOUSEBUTTONS 返回值为系统支持的鼠标键数,返回0,则系统中没有安装鼠标。
    SM_CXBORDER,
    SM_CYBORDER 返回以相素值为单位的Windows窗口边框的宽度和高度,如果Windows的为3D形态,则
    等同于SM_CXEDGE参数
    SM_CXCURSOR,
    SM_CYCURSOR 返回以相素值为单位的标准光标的宽度和高度
    SM_CXDLGFRAME,
    SM_CYDLGFRAME 等同与SM_CXFIXEDFRAME and SM_CYFIXEDFRAME
    SM_CXDOUBLECLK,
    SM_CYDOUBLECLK 以相素值为单位的双击有效的矩形区域
    SM_CXEDGE,SM_CYEDGE 以相素值为单位的3D边框的宽度和高度
    SM_CXFIXEDFRAME,
    SM_CYFIXEDFRAME 围绕具有标题但无法改变尺寸的窗口(通常是一些对话框)的边框的厚度
    SM_CXFRAME,SM_CYFRAME 等同于SM_CXSIZEFRAME and SM_CYSIZEFRAME
    SM_CXFULLSCREEN,
    SM_CYFULLSCREEN 全屏幕窗口的窗口区域的宽度和高度
    SM_CXHSCROLL,
    SM_CYHSCROLL 水平滚动条的高度和水平滚动条上箭头的宽度
    SM_CXHTHUMB 以相素为单位的水平滚动条上的滑动块宽度
    SM_CXICON,SM_CYICON 系统缺省的图标的高度和宽度(一般为32*32)
    SM_CXICONSPACING,
    SM_CYICONSPACING 以大图标方式查看Item时图标之间的间距,这个距离总是大于等于
    SM_CXICON and SM_CYICON.
    SM_CXMAXIMIZED,
    SM_CYMAXIMIZED 处于顶层的最大化窗口的缺省尺寸
    SM_CXMAXTRACK,
    SM_CYMAXTRACK 具有可改变尺寸边框和标题栏的窗口的缺省最大尺寸,如果窗口大于这个
    尺寸,窗口是不可移动的。
    SM_CXMENUCHECK,
    SM_CYMENUCHECK 以相素为单位计算的菜单选中标记位图的尺寸
    SM_CXMENUSIZE,
    SM_CYMENUSIZE 以相素计算的菜单栏按钮的尺寸
    SM_CXMIN,SM_CYMIN 窗口所能达到的最小尺寸
    SM_CXMINIMIZED,
    SM_CYMINIMIZED 正常的最小化窗口的尺寸
    SM_CXMINTRACK,
    SM_CYMINTRACK 最小跟踪距离,当使用者拖动窗口移动距离小于这个值,窗口不会移动。
    SM_CXSCREEN,
    SM_CYSCREEN 以相素为单位计算的屏幕尺寸。
    SM_CXSIZE,SM_CYSIZE 以相素计算的标题栏按钮的尺寸
    SM_CXSIZEFRAME,
    SM_CYSIZEFRAME 围绕可改变大小的窗口的边框的厚度
    SM_CXSMICON,
    SM_CYSMICON 以相素计算的小图标的尺寸,小图标一般出现在窗口标题栏上。
    M_CXVSCROLL,
    SM_CYVSCROLL 以相素计算的垂直滚动条的宽度和垂直滚动条上箭头的高度
    SM_CYCAPTION 以相素计算的普通窗口标题的高度
    SM_CYMENU 以相素计算的单个菜单条的高度
    SM_CYSMCAPTION 以相素计算的窗口小标题栏的高度
    SM_CYVTHUMB 以相素计算的垂直滚动条中滚动块的高度
    SM_DBCSENABLED 如果为TRUE或不为0的值表明系统安装了双字节版本的USER.EXE,为FALSE或0则不是。
    SM_DEBUG 如果为TRUE或不为0的值表明系统安装了debug版本的USER.EXE,为FALSE或0则不是。
    SM_MENUDROPALIGNMENT 如果为TRUE或不为0的值下拉菜单是右对齐的否则是左对齐的。
    SM_MOUSEPRESENT 如果为TRUE或不为0的值则安装了鼠标,否则没有安装。
    SM_MOUSEWHEELPRESENT 如果为TRUE或不为0的值则安装了滚轮鼠标,否则没有安装。(Windows NT only)
    SM_SWAPBUTTON 如果为TRUE或不为0的值则鼠标左右键交换,否则没有。



    Invalidate(TRUE)的闪屏问题

      (2010-05-03 02:58:24)
    标签: 

    杂谈

    分类: MFC小游戏

        在使用Invalidate(TRUE)进行窗口重绘时,总是会遇到闪屏的问题。

        一开始以为是绘图速度过慢照成的,但在对绘图时间做了一个测试之后发现,即使整个绘图过程只持续了几个毫秒,还是会看见很明显的闪烁,所以时间并不是造成闪烁的决定性因素

        那到底是什么原因呢?现在来看看Invalidate(TRUE)都干了些什么。其实,它只是间接向消息队列添加了WM_ERASEBKGND和WM_PAINT两个消息。但是,如果使用Invalidate(FALSE)的话,则只有WM_PAINT消息产生,这时是不会有任何闪烁的。

        现在看来,闪烁似乎是由WM_ERASEBKGND消息产生的,事实上,的确与它有关。那WM_ERASEBKGND有干了什么呢?WM_ERASEBKGND消息由OnEraseBkgnd()消息处理函数响应,它的作用就是重绘客户区背景。我们可以通过向工程里添加WM_ERASEBKGND这个消息,然后在重写的消息处理函数中将返回语句修改为return TRUE来屏蔽这一功能,这样做的好处是这时不会重绘背景了,坏处是这时背景也不会被擦出来。

        好像还没有说到真实原因,其实真正的原因就隐含在其中。现在来做一个实验,分别尝试一下快速的眨眼和慢速的眨眼,你会发现快速眨眼时我们会感觉眼前的黑色一闪而过,而慢速眨眼时,则会觉得整个过程是连续的,没有什么异样。其实闪烁也就是这么回事,即多张不连续图像的快速切换。这里有三个条件,多张和快速和不连续,而且需要同时具备才会发生闪烁。如果只是两张,只会感觉到突变,还谈不上闪烁;如果频率慢的话,也相当于两张图像的情况了;最后如果是连续图像的话,那就像是看电影,平稳的过渡也不会让人觉得不适。

        知道了这些,接下来就可以做决策了。

        解决方案

        使用Invalidate(FALSE),添加WM_ERASEBKGND消息处理函数或者局部刷新三者选其一,都是可以解决问题的。它们的都是通过除去图像不连续这一因素来达到目的的。

     

        另外,要说的是GDI的BitBlt()函数是及其高效的,一次操作所需要的时间只有几到十几个微秒,所以我们可以放心的使用它,而不用担心任何效率问题。不过相对于BitBlt()来说StretchBlt()就要慢的多,大概是几十倍的差别。

        还有就是一般的绘图工作都是先绘制在一个缓冲区上,然后再一次拷贝到屏幕上。

        有时,当我们需要利用闪烁的效果的话,也是可以通过多张图像的快速切换来做到,在这里我们也将两张图像的重复切换理解为多张图像。

    展开全文
  • VC中隐藏对话框窗口

    2010-12-04 16:01:00
    有很多应用程序要求一起动就隐藏起来,这些程序多作为后台程序运行,希望不影响其他窗口,往往只在托盘区显示一个图标。这些程序通常都是对话框程序,而对话框在初始化的过程上与SDI、MDI的初始化是不同的,...

    有很多应用程序要求一起动就隐藏起来,这些程序多作为后台程序运行,希望不影响其他窗口,往往只在托盘区显示一个图标。这些程序通常都是对话框程序,而对话框在初始化的过程上与SDI、MDI的初始化是不同的,对话框只需要DoModule或者是CreateDialog等等对话框函数调用一次便可,SDI、MDI则要好几步才行。这样看来,对话框在使用方法上面是隐藏了不少细节的,其中就没有SDI、MDI所要求的 ShowWindow(nCmdShow)这一步。因此对话框要想一运行就隐藏,并不是很直接的。有一些方法可以做到这一点,下面我们就来看看几种方案。
      1.定时器
      最直观,又是最无奈的一个方法就是使用定时器。既然我们在对话框开始显示之前不能用ShowWindow(SW_HIDE)将其隐藏,那就给一个时间让它显示,完了我们在隐藏它。
      方法:
      1.在OnInitDialog()函数里设置定时器:(WINDOWS API里面响应消息WM_IN99vDIALOG)
      SetTimer(1, 1, NULL);
      2.添加处理WM_TIMER的消息处理函数OnTimer,添加代码:
      if(nIDEvent == 1)
      {
      DeleteTimer(1);
      ShowWindow(SW_HIDE);
      }
      这种方法的缺点是显而易见的,使用定时器,使得程序的稳定性似乎打一个折扣;窗口是要先显示出来的,那么效果就是窗口闪了一下消失。
      2.改变对话框显示状况
      在对话框初始化时改变其显示属性可以让它隐藏起来。方法是调用SetWindowPlacement函数:
      BOOL CDialogExDlg::OnInitDialog()
      {
      CDialog::OnInitDialog();
      //DO something
      WINDOWPLACEMENT wp;
      wp.length=sizeof(WINDOWPLACEMENT);
      wp.flags=WPF_RESTORETOMAXIMIZED;
      wp.showCmd=SW_HIDE;
      SetWindowPlacement(%26;amp;wp);
      return TRUE;
      }
      在需要显示时(通常是响应热键或者托盘图标的鼠标消息):
      WINDOWPLACEMENT wp;
      wp.length=sizeof(WINDOWPLACEMENT);
      wp.flags=WPF_RESTORETOMAXIMIZED;
      wp.showCmd=SW_SHOW;
      SetWindowPlacement(%26;amp;wp);
      这样的效果很不理想:窗口显示在屏幕的左上角,并且是只有标题栏,要正常显示,还需加上如下代码:
      定义一个成员变量CRect rect;
      在OnInitDialog()里面:
      GetWindowRect(%26;amp;rect);
      在需要显示的地方:
      SetWindowPos(%26;amp;wndNoTopMost, wndRc.left, wndRc.top, wndRc.right, wndRc.bottom, SWP_SHOWWINDOW);
      CenterWindow();
      即使这样,效果还是很差。
      这种方法还有一个弊端是当程序开始运行并且隐藏起来后,原来激活的窗口变成了非激活状态了,而当对话框显示出来后,对话框自身也是非激活状态的。
      3.不绘制窗口
      当对话框显示时将要响应消息WM_PAINT绘制客户区,相应消息WM_NCPAINT绘制窗口边框。我们在窗口第一次自绘自身时隐藏窗口,可以收到比较良好的效果。由于窗口是先画窗口边框,所以我们仅需处理WM_NCPAINT即可。代码如下:
      添加WM_NCPAINT处理函数。
      void CMyDialog::OnNcPaint()
      {
      static int i = 2;
      if(i > 0)
      {
      i --;
      ShowWindow(SW_HIDE);
      }
      else
      CDialog::OnNcPaint();
      }
      这里有个问题:为什么要定义静态变量i而且设其值为2呢?
      我们只要窗口隐藏第一次,所以定义这个变量可以判断是否时首次显示窗口。当程序开始运行时,系统发送(SendMessage)WM_NCPAINT消息,此时程序的窗口边框应该被显示,但是此时我们没有作任何显示的操作,而是将窗口隐藏,ShowWindow(SW_HIDE)将把窗口的WS_VISIBLE属性去掉,继续执行,程序将检查WS_VISIBLE属性,如果没有则显示窗口,所以又发送了一个WM_NCPAINT消息。所以我们要处理两次WM_NCPAINT消息。
      在需要窗口显示时,调用ShowWindow(SW_SHOW)即可。
      程序执行的结果是,原来处于激活状态的窗口可能会闪动两下,然后仍然处于激活状态。这种处理方式比上面的方式要优越得多。
      4.将对话框作为子窗口
      这种方法是采用SDI框架,主窗口始终隐藏,对话框作为主窗口的成员变量,在CMainFrame::OnCreate()里面加入下代码:
      if(!dlg.Create(IDD_MYDIALOG, this))
      {
      return –1;
      }
      dlg.ShowWindow(SW_HIDE);
      在要显示对话框的地方用dlg.ShowWindow(SW_SHOW);即可。注意,主窗口一定要隐藏,否则对话框可能会闪现一下。
      隐藏状态栏窗口
      上面介绍了几种检查对话框的方法,大家如果试过的话可能已经注意到系统状态栏里在程序启动时会有程序的图标闪过,在隐藏对话框的时候这个也是要隐藏的,方法很简单:
      在OnInitDialog()函数里面加上ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);即可。在要显示窗口的地方加上代码ModifyStyleEx(WS_EX_TOOLWINDOW, WS_EX_APPWINDOW);即将窗口的扩展样式改回来。
      以上各种方法转自网络。我自己实验了下觉得下面的方法还不错在OnInitDialog()里填下下面几句话
      //隐藏界面
      MoveWindow(0,0,0,0);
      ShowWindow(SW_HIDE);
      ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);

    展开全文
  • vc对话框窗口销毁过程

    千次阅读 2014-11-04 09:52:46
    窗口关闭过程 ——OnOK(),OnCancel(),OnClose(),EndDialog(),DestroyWindow(),OnDestroy(),OnNcDestroy()    发现我误导人了,说的不准确,修改一下。    一、对
  • Android学习笔记(七)——显示对话框窗口

    千次阅读 多人点赞 2014-05-06 17:13:58
    显示对话框窗口 1、创建Dialog1项目,在activity_main.xml文件中添加一个Button: xmlns:tools="http://schemas.android.com/tools" android:l
  • VC在对话框上添加状态栏,没有可视化的控件,要用类来创建。 1、在窗口.h文件中添加成员变量 CStatusCtrl m_status; 2、在窗口的OnInitDialog函数中添加创建代码: RECT m_Rect; GetClientRect(&m_Rect); //...
  • 在之前的一篇关于对话框返回值的文章中,有人建议说可以使用另外一种不同的搞法:也即直接调用DefDlgProc这个API函数(就类似于窗口消息过程中调用默认的消息处理函数DefWindowProc一样,而不是直接返回TRUE或者FALSE...
  • 在MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置: CRect r; pWnd->GetWindowRect(&r); 这样获得的r是控件相对于屏幕的坐标,然后用ScreenToClient(&r)就可以获得控件相对于父窗口的坐标。如果用...
  • MFC对话框窗口全屏 并覆盖任务栏

    千次阅读 2014-01-15 12:24:18
    // 绘制图标 dc.DrawIcon(x, y, m_hIcon); } else { CDC *pDc = GetDC(); CRect ClientRect; GetClientRect(&ClientRect); pDc->FillSolidRect(ClientRect,RGB(255,255,255)); CDialogEx::OnPaint...
  • 需求:当点击JFrame窗口的关闭按钮时,弹框询问是否确定关闭窗口,如果是则关闭程序,否就让弹框消失什么也不做(使用Dialog)。 分析:虽然Java提供了 JOptionPane 类,用来创建标准对话框,但是此处需要使用Dialog...
  • vs2010单文档对话框窗口界面设置

    千次阅读 2014-09-01 11:02:47
     最后生成的界面去下图所示,我们可以看到串口的最大化图标已经变成灰色,说明整个窗口已经固定大小。   4、修改输出窗口的背景颜色: 打开工程的类向导,在view下添加消息映射,如下图所示: ...
  • win32sdk学习-创建一个对话框窗口

    万次阅读 2012-10-04 12:55:33
    这几天在学习win32sdk编程,学习试用win32api来开发window程序。...在window中,窗口依照某一窗口类别建立,窗口类别用以标识处理窗口消息的窗口消息处理程序。 所以一开始创建窗口前,我们需要先创建一个窗口类别,以
  • 'mat'}} prompt - 可选的对话框提示(默认:“选择文件”) folder - 可选的默认文件夹(默认:当前文件夹) callback - 具有以下接口的回调函数的可选句柄: 回调函数(hPanel,文件名) 回调函数应该检查指定的...
  • 更改MFC对话框图标

    2012-12-28 17:36:39
    更改MFC对话框图标 简单明了 一看就会
  • win32 用对话框做主窗口

    千次阅读 2015-06-16 19:11:00
    我们还是遵照设计窗口类、注册窗口类、创建窗口等步骤,只是把对话框作为窗口的子级,对话框采用Form View视图。在插入资源的对话框中,点击Dialog左边的图标,展开列表,在列表中选择IDD_FORMVIEW,然后点“新建”...
  • Electron窗口对话框

    千次阅读 2019-08-14 10:42:57
    文章目录窗口BrowserWindow无框窗口窗口拖拽透明窗口Webview对话框错误提示对话框文件框信息框 窗口 BrowserWindow 主进程模块BrowserWindow用于创建和控制浏览器窗口。 mainWindow = new BrowserWindow({ width: ...
  • 取而代之的是,玩家可以使用鼠标单击并拖动对话框,该对话框不仅可以显示关卡的外观,还可以对关键任务游戏元素进行动画处理,例如上述的足球,板条箱和移动平台。 为方便起见,当足球放在平坦的表面(通常是右侧...
  • 解决方法:使用窗口移动精灵或AltDrag这两款窗口移动工具,摆脱只能拖动标题栏移动窗口的限制,任意移动超出屏幕的窗口,将窗口对话框移动到顶部后,仍可继续向上拖动,使窗口顶部移动到屏幕之外,底部就会显示...
  • 设置对话框图标

    千次阅读 2013-03-19 11:52:25
    缺省的对话框是没有图标的,不过我们可以利用下面的API设置图标 //设置对话框图标  HINSTANCE hInst=(HINSTANCE)GetWindowLong(hDlg,GWL_HINSTANCE);  SendMessage(hDlg, WM_SETICON, ICON_BIG, (LPARAM)...
  • *对话框设计:在图形用户界面程序设计中,对话框是重要的信息显示和获取输入数据的用户界面对象。1、公共对话框:公共对话框是利用windows资源的对话框,包括文件打开、文件保存、颜色设置、字体设置、打印设置等。1)...
  • 关于浏览器的窗口对话框的基本介绍可以参考:  HTML窗口对话框 窗口类 Ext.window.Window Ext JS的窗口更类似于HTML的对话框, 但是Ext JS的窗口可以像一般的视图一样显示很复杂的内容。Ext JS 的组件类是Ext....
  • MFC中如何给子对话框添加图标

    千次阅读 2020-05-20 18:15:36
    1、先打开类向导为子对话框添加OnInitDialog() 成员虚函数 2、子对话框属性中选中style->Title bar改为true 3、导入对应的图标到文件中; 4、在子对话框OnInitDialog() 中写入...5、完成子对话框图标的添加 ...
  • 窗口控件是一些Windows预定义的类,他们实际上就是一个个以对话框为父窗口的子窗口。 对成员来说,在对话框中使用它们的时候并不需手工去逐一创建,只需要在对话框中创建就可以了。 “对话框管理器”会在初始...
  • 窗口设计成对话框的样子方式比较多,很常见的方法就是使用XAML代码来修改样式,而此这边将讨论如何利用WIN32API 实现这个对话框 . . . 我们刚开始的样子是这样的: 改过的样子如下所示: 先准备Win32API: 后台...
  • MFC下,如果在对话框应用程序下新建了一个新的对话框,那么在状态栏显示的图标是本程序的。一旦执行销毁该对话框并弹出新的对话框时,状态栏的图标就会消失。  在新对话框InitDialog中加上SetIcon(HICON hIcon)...
  • 江湖上有众多传闻,ShowWindow是最令人糊涂的,很多人说在OnInitDialog()加上ShowWindow(SW_HIDE)对话框便不出现,实验证明,这是不行的,可是在非基于对话框的程序,让一个对话框程序隐藏是可以的,这其中有什么玄机?...
  • 对话框作为主窗口

    2013-02-05 21:21:01
    然而,当我们接触控件以后, 会发现一个问题,我们在窗口上放置控件实在不好弄,而资源中的对话框具有图形编辑器,操作起来相对方便。 于是,就有了一个想法:把对话框用作主窗口,那我们在布局控件时就轻松了。 ...
  • ExtJS之对话框窗口

    千次阅读 2010-08-12 21:42:00
    窗口无论是在基本的js中还是在Ext这种js框架中都是比较常见的,而且现在多数js框架也在视图打造唯美的窗口,当然,Ext就是其中一个。Ext的窗口时很漂亮的,而且类型众多,今天我们就从基础做起逐渐来了解Ext的窗口。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 100,738
精华内容 40,295
关键字:

对话框窗口的图标是什么