精华内容
下载资源
问答
  • 对话框内的控件随着对话框的大小改变而等比例改变的问题,本人也在网上搜索到一些资料,试了一下成功了! 但是却出现了一个BUG!首先把代码给大家看一下吧! 1.在CMyDlg.h中添加一个声明: CRect m_rect; 2.在类...
  • MFC如何使用ModifyStyle()来使对话框能拖动边框改变大小又有标题栏,需要去掉什么属性,增加什么属性?我用是 ModifyStyle(GetStyle(),WS_CAPTION | WS_POPUP | WS_CLIPSIBLINGS | DS_MODALFRAME| WS_EX_...
  • 我用VC6的基于对话框的.exe来来实现对话框的收缩和扩展(其实就是改变一下对话框的大小)。在CMyDlg类中增加两个CRect类的成员变量rectlarge和rectsmall,分别保存收缩后河扩展后的窗口的大小,在BOOL CMyDlg::...
  • 关于这个问题,现在看来也不算是什么问题了,在OnSize函数中实时的改变控件位置和大小就可以了。但是作为新手,还是费了一点时间。    我根据我情况将对话框控件分为了三类,其他情况直接可以参考。 ...
    最近做了一点关于MFC对话框播放器的事情,遇到一个问题就是伸缩对话框的使用!当对话框伸缩的时候,对话框中的控件的如何变化的问题。关于这个问题,现在看来也不算是什么问题了,在OnSize函数中实时的改变控件的位置和大小就可以了。但是作为新手,还是费了一点时间。
    

        

        我根据我的情况将对话框上的控件分为了三类,其他的情况直接可以参考。

        第一类:按钮 工具栏控件,对话框尺寸发生改变的时候,这类控件位置发生改变,大小不发生改变。

        第二类:滚动条类控件, 对话框尺寸改变,滚动条的一个方向尺寸发生改变,另外一个方向不变

        第三类:Pic控件,这类控件必须随着对话框尺寸的改变实时改变。


        因此,我在OnSize中写了三个函数,分别处理这三种情况,可能方法比较笨,但是却可以解决问题。

     

        不说了,直接上代码:


    第一类:

    /*针对除滑动条和画面控件外的其他控件的尺寸缩放函数*/
    void CPlayerDlg::ChangeSizeBtn(UINT nID ,CRect &tmp_rect)
    {
    	CWnd *pWnd; 
    	pWnd = GetDlgItem(nID);    //获取控件句柄
    	if(pWnd)                   //判断是否为空,因为对话框创建时会调用此函数,当时控件还未创建
    	{ 
    		CRect rect;            //获取控件变化前大小
    		pWnd->GetWindowRect(&rect); 
    		ScreenToClient(&rect); //将控件大小转换为在对话框中的区域坐标
    		
    		int tmp_w = rect.Width();
    		int tmp_h = rect.Height();
    
    		rect.left = rect.left + (tmp_rect.left - m_cDlgRect.left);
    		rect.bottom = rect.bottom + (tmp_rect.bottom - m_cDlgRect.bottom);
    		rect.right = rect.left + tmp_w;
    		rect.top = rect.bottom - tmp_h;
    
    		pWnd->MoveWindow(rect);   //设置控件大小
    	} 
    }
    

    第二类:

    /*针对滑动条控件的缩放函数*/
    void CPlayerDlg::ChangeSizeSlider(UINT nID , CRect &tmp_rect)
    {
    	
    	CWnd *pWnd; 
    	pWnd = GetDlgItem(nID);  //获取控件句柄
    	if(pWnd)             //判断是否为空,因为对话框创建时会调用此函数,而当时控件还未创建
    	{ 
    		CRect rect;  //获取控件变化前大小
    		pWnd->GetWindowRect(&rect); 
    		ScreenToClient(&rect); //将控件大小转换为在对话框中的区域坐标
    
    		int tmp_h = rect.Height();
    
    		rect.left = rect.left + (tmp_rect.left - m_cDlgRect.left);
    		rect.right = rect.right + (tmp_rect.right - m_cDlgRect.right);
    
    		rect.bottom = rect.bottom + (tmp_rect.bottom - m_cDlgRect.bottom);
    		rect.top = rect.bottom - tmp_h;
    
    		pWnd->MoveWindow(rect);   //设置控件大小
    	}
    }
    

    第三类:


    /*针对图像控件的缩放函数*/
    void CPlayerDlg::ChangeSizePic(UINT nID , CRect &tmp_rect)
    {
    	CWnd *pWnd; 
    	pWnd = GetDlgItem(nID);    //获取控件句柄
    	if(pWnd)  //判断是否为空,因为对话框创建时会调用此函数,而当时控件还未创建
    	{ 
    		CRect rect;  //获取控件变化前大小
    		pWnd->GetWindowRect(&rect); 
    		ScreenToClient(&rect); //将控件大小转换为在对话框中的区域坐标
    
    		rect.left = rect.left + (tmp_rect.left - m_cDlgRect.left);
    		rect.right = rect.right + (tmp_rect.right - m_cDlgRect.right);
    
    		rect.bottom = rect.bottom + (tmp_rect.bottom - m_cDlgRect.bottom);
    		rect.top = rect.top - (tmp_rect.top - m_cDlgRect.top);
    
    		pWnd->MoveWindow(rect);   //设置控件大小
    	}
    }
    


    其中OnSize函数:

    void CPlayerDlg::OnSize(UINT nType, int cx, int cy)
    {
    	CDialog::OnSize(nType, cx, cy);
    
    	if(nType != SIZE_MINIMIZED ) 
    	{ 	
    		CRect cTmpRect;//tmp_rect1;
    		GetClientRect(&cTmpRect);//变化后的尺寸
    		
    		ChangeSizeBtn(IDC_HPLAY, cTmpRect); 
    		ChangeSizeBtn(IDC_PLAY, cTmpRect); 
    		ChangeSizeBtn(IDC_DPLAY, cTmpRect); 
    		ChangeSizeBtn(IDC_STOP, cTmpRect);
    		ChangeSizeBtn(IDC_EDIT_FNUM, cTmpRect);
    		ChangeSizeBtn(IDC_EDIT_FRATE, cTmpRect);
    		ChangeSizeBtn(IDC_STATIC, cTmpRect);
    		ChangeSizeBtn(IDC_LOCATION, cTmpRect);
    		ChangeSizeBtn(IDC_SPEED, cTmpRect);
    		ChangeSizeBtn(IDC_EDIT_TEST, cTmpRect);
    		ChangeSizeBtn(IDC_PAUSE, cTmpRect);
        ChangeSizeBtn(IDC_NORMAL_PLAY, cTmpRect);
    		
    		ChangeSizeSlider(IDC_SLIDER, cTmpRect);
    		
    		ChangeSizePic(IDC_PICTRUE, cTmpRect); 
    
    		Invalidate();
    
    		GetClientRect(&m_cDlgRect); // 将变化后的对话框大小设为旧大小,否则无法还原到原始位置
    	} 
    }
    


    这样问题就解决了!




    展开全文
  • Android对话框总结

    2015-04-28 15:19:11
    (“打开文件”对话框是可以改变大小的对话框:是人机交流一种方式,用户对对话框进行设置,计算机就会执行相应命令。对话框中有单选框、复选框等。 要我说,对话框,就是一个用于和用户进行对话小框框。...
    一、什么是对话框?
    一种次要窗口,包含按钮和各种选项,通过它们可以完成特定命令或任务。 查找和替换对话框 对话框与窗口有区别,它没有最大化按钮、没有最小化按钮、大都不能改变形状大小。(“打开文件”对话框是可以改变大小的) 对话框:是人机交流的一种方式,用户对对话框进行设置,计算机就会执行相应的命令。对话框中有单选框、复选框等。
    要我说,对话框,就是一个用于和用户进行对话的小框框。大家见到最多的那种是弹出对话框。
    二、对话框有什么用?
    对话框不会阻塞主线程,可以和用户进行简单交互,且给人一种清新的感觉,好的对话框不仅不会影响用户体验,反而会让用户喜欢上这种被打扰的感觉。

    三、怎么用?

             

    1、系统对话框
    AlertDialog
    ProgressDialog
    DatePickerDialog
    TimePickerDialog
    2、自定义对话框
    a、使用LayoutInflate和Builder的setView方法实现
    b、继承Dialog类复写setContentView实现
    实例:
    activity_main.xml
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:orientation="vertical" >

        <Button
            android:id="@+id/show1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background="@drawable/button_background"
            android:text="dialog1" />

        <Button
            android:id="@+id/show2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background="@drawable/button_background"
            android:text="dialog2" />

        <Button
            android:id="@+id/show3"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:background="@drawable/button_background"
            android:text="dialog3" />

    </LinearLayout>

    activity_dialog.xml
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="标题"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="这是一个自定义布局的AlertDialog" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="有木有很好玩" />

        <TextView
            android:id="@+id/textView4"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="想怎么布局就怎么布局"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <Button
            android:id="@+id/button1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/button_background"
            android:text="确定" />

    </LinearLayout>

    MainActivity.java
    public class MainActivity extends Activity {
        private Button show1, show2, show3;
        DatePickerDialog m = null;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            show1 = (Button) findViewById(R.id.show1);
            show2 = (Button) findViewById(R.id.show2);
            show3 = (Button) findViewById(R.id.show3);
            show1.setOnClickListener(mClickListener);
            show2.setOnClickListener(mClickListener);
            show3.setOnClickListener(mClickListener);
        }

        private View.OnClickListener mClickListener = new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                int id = arg0.getId();
                switch (id) {
                case R.id.show1:
                    showDialog1();
                    break;
                case R.id.show2:
                    showDialog2();
                    break;
                case R.id.show3:
                    showDialog3();
                    break;
                default:
                    break;
                }
            }
        };

        private void showDialog1() {
            new AlertDialog.Builder(this).setTitle("dialog 1")
                    .setMessage("这是最简单的AlertDialog").setPositiveButton("确定", null)
                    .setNeutralButton("什么", null).setNegativeButton("取消", null)
                    .create().show();
        }

        

        private void showDialog2(){
            LayoutInflater inflater = LayoutInflater.from(this);
            View view = inflater.inflate(R.layout.activity_dialog, null);
            final AlertDialog dialog = new AlertDialog.Builder(this).setView(view).create();
            Button ok = (Button) view.findViewById(R.id.button1);
            ok.setOnClickListener(new View.OnClickListener() {
                
                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    dialog.dismiss();
                }
            });
            dialog.show();
        }

        
        private void showDialog3(){
            new MyDialog(this).show();
        }
        
        private class MyDialog extends Dialog{

            public MyDialog(Context context) {
                super(context);
                // TODO Auto-generated constructor stub
                this.setContentView(R.layout.activity_dialog);
                this.setTitle("標題");
                Button b = (Button) findViewById(R.id.button1);
                b.setOnClickListener(new View.OnClickListener() {
                    
                    @Override
                    public void onClick(View arg0) {
                        // TODO Auto-generated method stub
                        dismiss();
                    }
                });
            }

        }
    }

    四、注意总结
    注意:
    1、不要使对话框泛滥
    2、自定义对话框时要注意dismiss()或则不用时remove()
    3、还有一种定义对话框的方法,那就是把Activity的主题设置为Theme.Dialog
    总结:
    在这个看颜的时代,要想成为一个好的程序员,首先要成为一名好的设计师。

    展开全文
  • 在编写基于对话框的程序的时候,很喜欢将Border的属性设置为none,这样整个对话框看起来什么也没有(没有棱角也没有非客户区),这样你可以用一些好看的图片自己设置绘制非客户区和对话框边缘。但唯一不爽的是,对话框...

    原文链接:http://blog.csdn.net/yuzhenxiong0823/article/details/8215326


    在编写基于对话框的程序的时候,很喜欢将Border的属性设置为none,这样整个对话框看起来什么也没有(没有棱角也没有非客户区),这样你可以用一些好看的图片自己设置绘制非客户区和对话框边缘。但唯一不爽的是,对话框不能跟随鼠标移动,也不能通过鼠标改变大小。以下的方法会实现这些功能:

    在对话框类当中添加一个变量m_nHitTest,

    添加WM_MOUSEMOVE消息处理函数,在处理函数中添加以下代码

    1. CRect rect;   
    2. GetClientRect(&rect);   
    3. if(point.x <= rect.left+3)   
    4. {   
    5. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZEWE)));   
    6. m_nHitTest = HTLEFT;   
    7. }   
    8. else if(point.x >= rect.right-3)   
    9. {   
    10. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZEWE)));   
    11. m_nHitTest = HTRIGHT;   
    12. }   
    13. else if(point.y <= rect.top+3)   
    14. {   
    15. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZENS)));   
    16. m_nHitTest = HTTOP;   
    17. }   
    18. else if(point.y >= rect.bottom-3)   
    19. {   
    20. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZENS)));   
    21. m_nHitTest = HTBOTTOM;   
    22. }   
    23. else if(point.x <= rect.left+10 && point.y <= rect.top+10)   
    24. {   
    25. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZENWSE)));   
    26. m_nHitTest = HTTOPLEFT;   
    27. }   
    28. else if(point.x >= rect.right-10 && point.y <= rect.top+10)   
    29. {   
    30. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZENESW)));   
    31. m_nHitTest = HTTOPRIGHT;   
    32. }   
    33. else if(point.x <= rect.left+10 && point.y >= rect.bottom-10)   
    34. {   
    35. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZENESW)));   
    36. m_nHitTest = HTBOTTOMLEFT;   
    37. }   
    38. else if(point.x >= rect.right-10 && point.y >= rect.bottom-10)   
    39. {   
    40. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZENWSE)));   
    41. m_nHitTest = HTBOTTOMRIGHT;   
    42. }   
    43. else   
    44. {   
    45. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_ARROW)));   
    46. m_nHitTest = 0;   
    47. }  

    添加WM_LBUTTONDOWN消息处理函数,在处理函数中添加以下代码

    1. if(m_nHitTest == HTTOP)   
    2. {   
    3. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZENS)));   
    4. SendMessage( WM_SYSCOMMAND, SC_SIZE | WMSZ_TOP, MAKELPARAM(point.x, point.y));   
    5. }   
    6. else if(m_nHitTest == HTBOTTOM)   
    7. {   
    8. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZENS)));   
    9. SendMessage( WM_SYSCOMMAND, SC_SIZE | WMSZ_BOTTOM, MAKELPARAM(point.x, point.y));   
    10. }   
    11. else if(m_nHitTest == HTLEFT)   
    12. {   
    13. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZEWE)));   
    14. SendMessage( WM_SYSCOMMAND, SC_SIZE | WMSZ_LEFT, MAKELPARAM(point.x, point.y));   
    15. }   
    16. else if(m_nHitTest == HTRIGHT)   
    17. {   
    18. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZEWE)));   
    19. SendMessage( WM_SYSCOMMAND, SC_SIZE | WMSZ_RIGHT, MAKELPARAM(point.x, point.y));   
    20. }   
    21. else if(m_nHitTest == HTTOPLEFT)   
    22. {   
    23. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZENWSE)));   
    24. SendMessage( WM_SYSCOMMAND, SC_SIZE | WMSZ_TOPLEFT, MAKELPARAM(point.x, point.y));   
    25. }   
    26. else if(m_nHitTest == HTTOPRIGHT)   
    27. {   
    28. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZENESW)));   
    29. SendMessage( WM_SYSCOMMAND, SC_SIZE | WMSZ_TOPRIGHT, MAKELPARAM(point.x, point.y));   
    30. }   
    31. else if(m_nHitTest == HTBOTTOMLEFT)   
    32. {   
    33. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZENESW)));   
    34. SendMessage( WM_SYSCOMMAND, SC_SIZE | WMSZ_BOTTOMLEFT, MAKELPARAM(point.x, point.y));   
    35. }   
    36. else if(m_nHitTest == HTBOTTOMRIGHT)   
    37. {   
    38. SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_SIZENWSE)));   
    39. SendMessage(WM_SYSCOMMAND, SC_SIZE | WMSZ_BOTTOMRIGHT, MAKELPARAM(point.x, point.y));   
    40. }   
    41. else   
    42. {  
    43.   
    44. //实现对话框跟随鼠标移动  
    45.   
    46. ::SendMessage (GetSafeHwnd(), WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);   
    47. }  

    展开全文
  • 在我的绘图过程中 最后一段线 就是从N-1到N段 没有画出来 我这里取的是N=12段 共13个点,只有拖拽或者最大化对话框的时候才出现。。; 2。每当画完(不包括缺失的最后一段)时,会出现一个从原点到N-1点的直线(我...
  • 前言 前不久,笔者碰到了需要根据需求来定制对话框的问题,比如要能改变对话框的大小,按钮上的文字要能改等等。笔者查了一些网上的资料,结合这些资料和一些自己的想法,终于实现了,现在把这种方法拿出来分享给...

    前言

        前不久,笔者碰到了需要根据需求来定制对话框的问题,比如要能改变对话框的大小,按钮上的文字要能改等等。笔者查了一些网上的资料,结合这些资料和一些自己的想法,终于实现了,现在把这种方法拿出来分享给大家,希望对大家有帮助。头一回写博,这其中如果有什么不妥和错误的地方,还请不吝赐教!

    具体实现

        此方法采用window.showModalDialog()方法实现(涉及到模态窗口和非模态窗口

        参考资料:http://www.cnblogs.com/tohen/archive/2007/05/29/764189.html

                           http://www.cnsdn.com.cn/blog/article.asp?id=2007

        涉及到的js 功能函数:

        1----SetDefaultButton():设置默认焦点按钮

        2----Action_OK():点击OK按钮事件

        3----Action_Cancel():点击Cancel按钮事件

        4----ShowModalDialog():弹出对话框函数

      ModalDialog.js代码如下——

    function SetDefaultButton(defaultButton) {
              
    // Set the focus on the Cancel button
        document.getElementById(defaultButton).focus();
    }

            
    //The actions when click OK button
    function Action_OK() {
        window.close();
        window.returnValue 
    = 1;
    }

            
    //The actions when click Cancel button
    function Action_Cancel() {
        window.returnValue 
    = 0;
        window.close();
    }


    function ShowModalDialog(args, width, height) {
                //有些浏览器不支持这种方法来弹出窗口,这里先做一下检验,不行的就用window.open方法弹出
        
    if (window.showModalDialog) {
            
    var result = window.showModalDialog("page.html", args, "dialogWidth=" + width + "px;dialogHeight=" + height + "px;status:no");
               //返回一个值,用于调用处判断用户的选择结果
            
    return result;
        }
     else {
            window.open(
    "page.html""newwindow""height=" + width + ",dialogHeight=" + height + ", top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no");
        }

    }


        上面的代码还存在一个缺陷,就是当浏览器不支持  window.showModalDialog 时,用window.open方法打开的对话框是非模态的,怎么样改为模态的,这点笔者还没有去研究,如果哪位高手有方法,还请赐教!

    函数调用:

         下面给出ModalDialog.htm源代码——

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        
    <head>
            
    <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
            
    <title>定制对话框实验</title>
            
    <script type="text/javascript" src="ModalDialog.js"></script>
            
    <script>
                 
    var args = new Array("提示內容","","");
                 
    var rt = ShowModalDialog(args,410,130);
                 
    if(rt == 1)
                    alert(
    "你选择了 是 按钮,返回值为:" + rt);
                 
    else if(rt == 0)
                    alert(
    "你选择了 否 按钮,返回值为:" + rt);
                 
    else
                    alert(
    "你选择了直接关闭窗口,返回值为:" + rt);
                 
    //只有当返回值为1时才做相应处理,其他情况则表示用户选择了否,不想做处理
            
    </script>
        
    </head>
        
    <body>
        
    </body>
    </html>

         我们知道, window.showModalDialog(sURL [, vArguments] [, sFeatures])方法种,sURL是用来指示对话框显示内容的参数,这是展示的主体,所以我们还要将这个主体“画”出来,可以用一个html文件来实现,取名为page.html,代码给出如下——  

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
        
    <head>
            
    <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
            
    <title>对话框</title>
            
    <script type="text/javascript" src = "ModalDialog.js"></script>
        
    </head>
        
    <body onload='SetDefaultButton("btnConfOK")'>
            
    <table width="100%" height="100%">
                
    <tr height="70">
                    
    <td width="30%" align="center" valign="middle">
                        
    <img src="ico/question.ico">
                    
    </td>
                    
    <td width="70%">
                        
    <script>
                        document.write((window.dialogArguments)[
    0])                      
                        
    </script>
                    
    </td>

                
    </tr>
                
    <tr height="30">
                    
    <td align="right" valign="bottom" colspan="2">
                        
    <button id="btnConfOK" type="button"
                            style
    ="height:30px; width:80px" tabindex="1"  onclick="Action_OK()">
                            
    <script>
                            document.write((window.dialogArguments)[
    1])
                            
    </script>
                        
    </button>
                        
    &nbsp;
                        
    <button id="btnConfCancel" type="button"
                            style
    ="height:30px; width:80px" tabindex="2"  onclick="Action_Cancel()">
                            
    <script>
                            document.write((window.dialogArguments)[
    2])
                            
    </script>
                        
    </button>
                    
    </td>

                
    </tr>
            
    </table>

        
    </body>
    </html>

          上面用到了一个图标"ico/question.ico",是一个疑问号图标,windows系统中都可以找到的。

           提示的内容和按钮上的文字则都用javascript来获取,其值来自在调用ShowModalDialog方法是传入的一个数组args,用这种方法就能根据需要来改变界面上的显示了。其余的应该不用讲解也能看懂了哈……

           上面的代码是可以直接运行的,建立一个web工程,将上面三个文件拷贝到工程根目录下,并将图标文件拷贝到根目录下的ico目录下。发布到web服务器后,运行ModalDialog.htm就可以看到效果啦~!

          

     

    展开全文
  • 2010.8.8 关于对话框

    2010-08-08 17:09:00
    一、关于对话框的OnInitDialog函数 作用: OnInitDialog :初始化对话框。是程序运行时的开始状态的设定。DoDataExchange:注册数据监听数据改变。OnPaint:设定窗口大小等的默认状态 分析: OnInitDialog...
  • 当我们继承Dialog来实现自己的对话框时,发现自定义Dialog的实际大小我们希望的大小存在差别!解决这个问题的方法之一是在恰当时机改变Dialog的大小!至于为什么需要这样一个恰当的时机,需要从Dialog显示的源码去...
  • 什么要使用DialogFragment?   在Activity中显示对话框或者弹出浮层时,尽量使用dialogfragment,而非必须要用dialog/AlertDialog, 这样有利于随着activity或者fragment生命周期管理对话框。 因为它和...
  • 平时我们常常能够看到非常多应用程序启动过程非常酷。什么百叶窗。渐变,各种效果,今天我们看一下怎样在程序中添加这样效果。 ... 函数MoveWindow():改变指定窗体位置和大小.对顶窗...
  • 平时我们经常可以看到很多应用程序启动过程很酷,什么百叶窗,渐变,各种效果,今天我们看一下如何在程序中增加这种效果。... 函数MoveWindow():改变指定窗口位置和大小.对顶窗口来说,位置和大小取决于屏幕
  • 注:本文是我在CSDN看到了一篇很精彩的技术讨论帖,所以转过来,鞭策自己。 以下是原文(我自己整理了一下) 问题的提出:  楼主olion 怎样修改CEdit中的文本的字体大小及... 重载对话框的WM_CTRLCOLOR消息处理。
  • 单文档程序,由于数据使用的是非模态对话框(不要问我为什么没有使用view),然后希望给数据展示对话框加一个最大最小化按钮,希望最大化的时候能适应view视图的大小,这样看起来比较合理。问题来了:如果对话框使用...
  • 2、BOM提供了一些访问窗口对象一些方法,我们可以用它来移动窗口位置,改变窗口大小,打开新窗口和关闭窗口,弹出对话框,进行导航以及获取客户一些信息如:浏览器品牌版本,屏幕分辨率。但BOM最强大功能是它...
  • 提供了一些常用界面元素,诸如对话框、拖动行为、改变大小行为等; 3)jQuery本身注重于后台,没有漂亮界面,而jQuery UI则补充了前者不足,他提供了华丽展示界面,使人更容易接受。既有强大后台,又有...
  • 资源编辑器单位DLU

    千次阅读 2011-12-28 13:27:04
    前些天优化智勇三国界面,目标:操作简单,信息明了。有一点体会,与君共享,也欢迎大家指教。CDC类函数(如:TextOut)单位是像素,...在资源编辑器中更改字体,对话框和控件都会改变大小,这样布局不会乱。用户设
  • 2、BOM提供了一些访问窗口对象一些方法,我们可以用它来移动窗口位置,改变窗口大小,打开新窗口和关闭窗口,弹出对话框,进行导航以及获取客户一些信息如:浏览器品牌版本,屏幕分辨率。...
  • 问:如何限制mdi子框架最大化时的大小? 66 问:如何切换视口而不破坏它们? 66 问:改变列表控制时发生闪烁现象? 68 问:处理列表控件可见项的问题? 68 问:产生线程的问题? 68 问:CFile使用了缓冲区吗? 69 问:DAO...
  • 一个字体按钮类(WTL)

    2011-01-18 15:46:00
     本文打算介绍两个内容:一个是WTL中非常好用的CDialogResize模板类,能让你拖动对话框改变大小(包括控件能自动适应对话框的改变);另一个是button按钮的子类化,产生一个有立体感的字体(本站上的一个例子是用...
  • Delphi 2006里面界面布局(layout)控件

    千次阅读 2006-02-11 22:04:00
    这也是为什么Windows程序的对话框一般都不让改变大小(因为这意味着要自己写很多代码逐步调整子控件位置),而UNIX下一般都可以。Delphi程序原来有Align属性来控制控件对那边靠拢。但如果想要一个控件固定离左边、...
  • 15.我们在右下角属性栏里将字体大小由9 改为15。 16.我们拖动标签一角蓝点,将全部文字显示出来。 17.再次按下运行按钮,便会出现helloworld。 到这里helloworld 程序便完成了。 Qt Creator 编译程序,在其...
  • eXeScope_6.50_SC

    2010-06-07 07:36:13
    改变对话框的布局或大小, 改变图标, 等等, 但你想过没有, 它是不可能的, 因为你没有源文件! eXeScope 是一个资源编辑器, 它能直接编辑可执行文件。它能分析和重写 EXE, DLL, OCX, 等文件的资源而无需 源文件...
  • VC实现炫眩qq界面模拟(附源码)

    千次下载 热门讨论 2008-03-10 15:24:28
    简单的修改一下对话框的大小,标题栏名称等,编译一下,如图: , 运行一下基本正常,这就算完成了项目的创建工作了。 2.加载换肤库 做好基本框架后,界面还是很土,运行效果难以让人满意,于是我们接下来可以...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 274
精华内容 109
关键字:

对话框的大小什么改变