精华内容
下载资源
问答
  • 主要介绍了MFC创建模态对话框和非模态对话框方法,需要的朋友可以参考下
  • 本文实例讲述了Android基于DialogFragment创建对话框方法。分享给大家供大家参考,具体如下: /** * 使用DialogFragment创建对话框 * @description: * @author ldm * @date 2016-5-12 下午2:00:01 */ ...
  • win32创建对话框方法(2)

    千次阅读 2017-11-01 23:23:31
    win32创建对话框最简单的方法是DialogBox,但是也可以用CreateDialog创建一个非模态对话框 你需要自己添加一个对话框资源 附上我添加的对话框资源 resource.h//{{NO_DEPENDENCIES}} // Microsoft Visual C++ ...

    win32创建对话框最简单的方法是DialogBox,但是也可以用CreateDialog创建一个非模态对话框
    你需要自己添加一个对话框资源
    附上我添加的对话框资源
    这里写图片描述
    resource.h

    //{{NO_DEPENDENCIES}}
    // Microsoft Visual C++ 生成的包含文件。
    // 供 WinDialog.rc 使用
    //
    #define IDD_DIALOG1                     101
    #define IDD_DIALOG_MAIN                 101
    #define IDC_BUTTON_HELLO                1001
    
    // Next default values for new objects
    // 
    #ifdef APSTUDIO_INVOKED
    #ifndef APSTUDIO_READONLY_SYMBOLS
    #define _APS_NEXT_RESOURCE_VALUE        102
    #define _APS_NEXT_COMMAND_VALUE         40001
    #define _APS_NEXT_CONTROL_VALUE         1002
    #define _APS_NEXT_SYMED_VALUE           101
    #endif
    #endif

    rc文件

    // Microsoft Visual C++ generated resource script.
    //
    #include "resource.h"
    
    #define APSTUDIO_READONLY_SYMBOLS
    /////////////////////////////////////////////////////////////////////////////
    //
    // Generated from the TEXTINCLUDE 2 resource.
    //
    #include "winres.h"
    
    /////////////////////////////////////////////////////////////////////////////
    #undef APSTUDIO_READONLY_SYMBOLS
    
    /////////////////////////////////////////////////////////////////////////////
    // 中文(简体,中国) resources
    
    #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
    LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
    
    #ifdef APSTUDIO_INVOKED
    /////////////////////////////////////////////////////////////////////////////
    //
    // TEXTINCLUDE
    //
    
    1 TEXTINCLUDE 
    BEGIN
        "resource.h\0"
    END
    
    2 TEXTINCLUDE 
    BEGIN
        "#include ""winres.h""\r\n"
        "\0"
    END
    
    3 TEXTINCLUDE 
    BEGIN
        "\r\n"
        "\0"
    END
    
    #endif    // APSTUDIO_INVOKED
    
    
    /////////////////////////////////////////////////////////////////////////////
    //
    // Dialog
    //
    
    IDD_DIALOG_MAIN DIALOGEX 0, 0, 309, 90
    STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
    CAPTION "Dialog"
    FONT 8, "MS Shell Dlg", 400, 0, 0x1
    BEGIN
        DEFPUSHBUTTON   "确定",IDOK,198,69,50,14
        PUSHBUTTON      "取消",IDCANCEL,252,69,50,14
        PUSHBUTTON      "ButtonHello",IDC_BUTTON_HELLO,87,39,87,15
    END
    
    
    /////////////////////////////////////////////////////////////////////////////
    //
    // DESIGNINFO
    //
    
    #ifdef APSTUDIO_INVOKED
    GUIDELINES DESIGNINFO
    BEGIN
        IDD_DIALOG_MAIN, DIALOG
        BEGIN
            LEFTMARGIN, 7
            RIGHTMARGIN, 302
            TOPMARGIN, 7
            BOTTOMMARGIN, 83
        END
    END
    #endif    // APSTUDIO_INVOKED
    
    #endif    // 中文(简体,中国) resources
    /////////////////////////////////////////////////////////////////////////////
    
    
    
    #ifndef APSTUDIO_INVOKED
    /////////////////////////////////////////////////////////////////////////////
    //
    // Generated from the TEXTINCLUDE 3 resource.
    //
    
    
    /////////////////////////////////////////////////////////////////////////////
    #endif    // not APSTUDIO_INVOKED
    
    

    main.cpp

    #include <Windows.h>
    #include <windowsx.h>
    #include "resource.h"
    INT_PTR WINAPI DlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR szCmdLine, int iCmdShow)
    {
        MSG msg;
        HWND hwnd=CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG_MAIN), NULL, DlgProc);
        ShowWindow(hwnd, SW_SHOW);//创建的对话框需要显示
        while (GetMessage(&msg, NULL, 0, 0))
        {
            if (!IsDialogMessage(hwnd, &msg))//非模态对话框和主窗口共用一个消息循环
            {//当该消息为对话框消息时,窗口过程函数DlgProc会自动处理该消息,
                //所以只有当不是对话框消息的时候,才会进行消息的转换和分发
                if (msg.message == WM_QUIT)
                {
                    break;
                }
                else//
                {
                    TranslateMessage(&msg);
                    DispatchMessage(&msg);
                }
            }
        }
        DestroyWindow(hwnd);
        return 0;
    }
    
    INT_PTR WINAPI DlgProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
        switch (message)
        {
            case WM_CLOSE:
                PostQuitMessage(0);
                return 1;
            case WM_COMMAND:
            {
                switch (LOWORD(wParam))
               {
                    case IDC_BUTTON_HELLO:
                        MessageBox(NULL, TEXT("hello,world!"), TEXT("tips"), MB_OK);
                        return 1;
                }
            }
        }
        return 0;
    }

    需要注意的是,DlgProc和模态对话框一样,如果这个消息不需要处理就返回0让系统去处理,如果自己处理过了,就返回1,告诉系统,这个消息我已经处理过了

    展开全文
  • AlertDialog类的功能十分强大,它不仅可以生成带按钮的提示对话框,还...在使用AlertDialog类生成对话框时,常用的方法如下所示: setTitle :为对话框设置标题 setIcon :为对话框设置图标 setMessage:为对话框设置内
  • VB6.0 多种使用通用对话框方法演示含源代码,为对话框增加常见的“打开”、“另存为”、“字体”、“打颖、“帮助”。演示了当“颜色”、“字体”等对话框按钮被按下时,程序如何执行,将TextBox的字体属性根据...
  • 实际上,模态对话框和非模态对话框在创建对话框资源和生成对话框类上是没有区别的,因此,在创建模态对话框时所创建的IDD_TIP_DIALOG对话框资源和CTipDlg类都不需要修改。 二、创建及显示非模态对话框的步骤 需要...
  • 2.手工编写代码 创建界面:此方法比较复杂,不够直观; 3.动态加载UI文件并生成界面:此方法很灵活,当需要更改界面时只需更改.UI文件即可,无需重新编译程序。1.使用Qt Designer设计界面 ...

    1.使用Qt Designer界面编辑器设计:可直接拖放控件、设置控件的属性,简单、直观、易于操作;因而在实际使用时,常常使用 Qt Designer绘制界面,然后添加额外的代码进行更为完善的设计。
    2.手工编写代码 创建界面此方法比较复杂,不够直观; 
    3.动态加载UI文件并生成界面:此方法很灵活,当需要更改界面时只需更改.UI文件即可,无需重新编译程序。

    1.使用Qt Designer设计界面

      采用Qt Designer,使得快速创建对话框成为可能。在Qt Designer环境中,所有的操作都采用可视化的操作,可拖放控件、关联信号与槽、设置特定控件的属性。 
      步骤:1.用qt creator 设计师创建对话框生成findDialog.ui文件 
      2.在qt安装包寻找Qt 5.4 64-bit for Desktop (MSVC 2013),然后进入工程项目所在的文件夹,使用指令uic -o ui_findDialog.h findDialog.ui生成对应的头文件 
      3.分别使用指令qmake -project、qmake、make(不行的话点击qt creator中的运行按钮 ) 
    操作步骤:
    (1)打开软件后,点击【New Project
    (2)选择项目下的【应用程序】,然后在右侧选择【Qt Widgets Application】,然后点击右下角的【Choose
    (3)输入项目的名称helloQt,选择好路径,然后“下一步”,
    (4)保持默认,继续下一步
    (5)输入自己定义的类名;选择基类为QDialog勾选创建界面;注意:这里要细心点,因为点击下一步后,不能返回上一步。想改项目的类名或基类,只能重新新建了
    (6)点击“完成,项目就建立成功了。按“F5运行就可以看到空的对话框啦
    (7)双击界面文件下的.ui文件,就可以进行界面设计啦

    2.手工代码实现设计界面

      使用手工创建代码时,需要从Qt已有的GUI类库中选择一个类作为基类继承,并且添加必要的其它成员。通常,我们会选QDialog、QWidget、QMainWindow等类中选择一个作为主窗体;然后创建其它的控件,并使用布局管理器布局这些控件;最后将该布局设置为主窗体的布局。 
      例如,对于FindDialog对话框,就可以通过从QDialog继承,并添加按钮、布局管理器等到派生类中完成该对话框的设计。
    class FindDialog : public QDialog
    {
        Q_OBJECT
    public:
        FindDialog(QWidget *parent = 0);
    signals:
        void findNext(const QString &str, Qt::CaseSensitivity cs);
        void findPrevious(const QString &str, Qt::CaseSensitivity cs);
    private slots:
        void findClicked();
        void enableFindButton(const QString &text);
    private:                                                       // 窗体中的控件
        QLabel *label;
        QLineEdit *lineEdit; 
        QCheckBox *caseCheckBox;
        QCheckBox *backwardCheckBox;
        QPushButton *findButton;
        QPushButton *closeButton;
    };
    FindDialog::FindDialog(QWidget *parent)
        : QDialog(parent)
    {
       // 下面的代码创建窗体中的控件
        label = new QLabel(tr("Find &what:"));
        lineEdit = new QLineEdit;
        label->setBuddy(lineEdit);
        caseCheckBox = new QCheckBox(tr("Match &case"));
        backwardCheckBox = new QCheckBox(tr("Search &backward"));
        findButton = new QPushButton(tr("&Find"));
        findButton->setDefault(true);
        findButton->setEnabled(false);
        closeButton = new QPushButton(tr("Close"));
        connect(lineEdit, SIGNAL(textChanged(const QString &)),
                this, SLOT(enableFindButton(const QString &)));
        connect(findButton, SIGNAL(clicked()),
                this, SLOT(findClicked()));
        connect(closeButton, SIGNAL(clicked()),
                this, SLOT(close()));
        // 使用布局管理器布局控件
        QHBoxLayout *topLeftLayout = new QHBoxLayout;
        topLeftLayout->addWidget(label);
        topLeftLayout->addWidget(lineEdit);
        QVBoxLayout *leftLayout = new QVBoxLayout;
        leftLayout->addLayout(topLeftLayout);
        leftLayout->addWidget(caseCheckBox);
        leftLayout->addWidget(backwardCheckBox);
        QVBoxLayout *rightLayout = new QVBoxLayout;
        rightLayout->addWidget(findButton);
        rightLayout->addWidget(closeButton);
        rightLayout->addStretch();
        QHBoxLayout *mainLayout = new QHBoxLayout;
        mainLayout->addLayout(leftLayout);
        mainLayout->addLayout(rightLayout);
        // 设置窗口的布局管理器
        setLayout(mainLayout); 
         setWindowTitle(tr("Find"));
        setFixedHeight(sizeHint().height());
    }
    3.动态加载UI文件并生成界面
      前面的两种方法需要事先创建好相应的文件或代码,然后连同其它文件进行编译,如果后期要修改界面则必须修改代码或UI文件并重新编译。 
      而不需要重新编译整个程序的方法是采用动态加载UI文件的方式。基本的操作方法为先使用Qt Designer设计界面,之后就可以采用QUILoader类动态加载该文件,并生成该窗体。 
    #include <QUiLoader>
    #include <QFile>
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        QUiLoader loader;
        QFile file("mainwindow.ui");
        loader.load(&file)->show();
        return a.exec();
    }
    上面的代码中UiLoader::load()使用了QFile对像作为数据源,并且会生成QWidget对像,最后使用了QWidget::show()显示上图中的窗体界面。
     **Qt += uitools**
    小结:综合前面的分析来看,使用手工设计界面的方法最为繁琐、复杂;使用Qt Designer设计界面最灵活、直观、快速;而采用动态加载.ui文件的方法则可以做到在需要修改.ui文件时不需要重新编译程序。

    展开全文
  • Android创建对话框的两种方式

    千次阅读 2017-06-06 22:59:54
    使用原生API创建对话框,大概三个步骤 创建Dialog.Builder对象 为其设置标题、内容、按钮等属性 创建对话框对象并将其show出来 下面看一下代码: //弹出一个对话框 //1.创建builder...

    搏一搏,单车变摩托。(话粗理不糙!)

    大家在学习Android的过程中一定会遇到对话框的编写,一般大部分人学习的一种方式为使用Dialog对象。
    这里提供另一种方法,就是使用Activity作为对话框。
    不要着急,听我慢慢道来。。。

    下面简单介绍一下两种方式分别是如何实现的!

    一、原始方法:使用Dialog对象

    使用原生API创建对话框,大概有三个步骤

    1. 创建Dialog.Builder对象
    2. 为其设置标题、内容、按钮等属性
    3. 创建对话框对象并将其show出来

    下面看一下代码:

    //弹出一个对话框
    //1.创建builder对象
    AlertDialog.Builder b = new AlertDialog.Builder(MainActivity.this);
    //2.设置属性
    b.setTitle("提示");
    b.setMessage("哈哈哈");
    b.setNegativeButton("确定", null);
    b.setPositiveButton("取消", null);
    b.create();//创建
    b.show();//show

    基本上记住以上三个步骤,就能应付大部分的开发要求了。

    二、更改Activity主题使其成为一个对话框

    我们知道Android自带的Theme非常之多,这里我们就可以使用:

    android:theme="@android:style/Theme.DeviceDefault.Dialog.NoActionBar.MinWidth"

    将Activity的主题设置为一个对话框的形式。

    听起来稍复杂,但是做起来超简单,两步:

    1.创建一个Activity,在Manifest文件里将其theme属性设置为上文中提到的主题

    2.在需要弹出对话框的界面设置监听事件使用Intent启动对话框Activity

    好吧,还是说的有点复杂了。。
    做一下就知道了~

    大概就是这个样子,有更好的方法的同学欢迎补充!!

    展开全文
  • 动态创建对话框方法

    2015-11-13 17:43:14
    第一步:创建一个对话框控件; 第二步:给该对话框关联一个类(比如CTipsDlg ); 第三步:CTipsDlg dlgTips; dlgTips.Create(IDD_TIPS,this); dlgTips.ShowWindow(TRUE); CString strTips = L"要修改的界面...

    第一步:创建一个对话框控件;

    第二步:给该对话框关联一个类(比如CTipsDlg );

    第三步:CTipsDlg dlgTips;
    dlgTips.Create(IDD_TIPS,this);
    dlgTips.ShowWindow(TRUE);

    CString strTips = L"要修改的界面字符串";
    CWnd *pWndStatus = dlgTips.GetDlgItem(IDC_STATIC_TIPS);
    //设置新的文字
    pWndStatus->SetWindowText(strTips);
    dlgTips.UpdateWindow(); 

    展开全文
  • 主要介绍了Android开发之PopupWindow创建弹窗、对话框的方法,结合实例形式详细分析了Android使用PopupWindow创建对话框相关操作技巧,需要的朋友可以参考下
  • MFC创建对话框

    千次阅读 2017-12-15 09:48:30
    一:MFC创建对话框有两种模式:模态对话框和非模态对话框 1.模态对话框:首先在主对话框中添加一个控件,我添加的是按钮BUTTON。在资源视图中添加一个新的DIALOG用来关联。然后属性自己设置一下就好。在新创建的...
  • 面试常问到的QT创建对话框方法

    千次阅读 2019-05-28 10:10:57
    一、Qt创建对话框的三种方法 1.手工编写创建界面的代码:此方法比较复杂,不够直观; 2.使用Qt Designer界面编辑器设计:可直接拖放控件、设置控件的属性,简单、直观、易于操作; 3.动态加载UI文件并生成界面:此...
  • Qt创建对话框的三种方法

    千次阅读 2015-07-03 11:26:18
    Qt创建对话框的三种方法1.手工编写创建界面的代码:此方法比较复杂,不够直观; 2.使用Qt Designer界面编辑器设计:可直接拖放控件、设置控件的属性,简单、直观、易于操作; 3.动态加载UI文件并生成界面:此方法...
  • 用InputBox方法创建交互对话框
  • Qt创建对话框:调整对话框大小方法

    千次阅读 2019-12-02 22:37:34
    1.对于主窗口,在构造函数中调用如下语句实现对话框大小调整 MainWindow::MainWindow(QWidget *parent) : this->resize(QSize(1000,700)); 2.对于弹出对话框,调用如下语句可实现: QDialog dialog1...
  • 3、设计监听器里面的方法 3.1、添加对话框并设置其面板内容 3.2、添加lamada型简化监听器(当点击确定按钮时,对话框消失,最后返回用户的textfield的输入) package swing01; import java.awt.FlowLayout; ...
  • 正常情况下,MFC创建非模态对话框方法如下: Xxxdlg.h文件定义 CMy22Dlg *myDialog; Xxxdlg.cpp void CMy22Dlg::OnBnClickedButton1() { myDialog = new CMy22Dlg(); myDialog->Create(IDD_DIALOG1,this); ...
  • Qt自定义对话框及调用方法

    千次阅读 2020-02-12 23:25:45
    对话框的调用一般包括创建对话框、传递数据给对话框、显示对话框获取输入、判断对话框单击按钮的返回类型、获取对话框输入数据等过程。 本节将通过实例 samp6_2 来详细介绍这些原理。图 1 是实例 samp6_2 的主窗口,...
  • 这篇文章主要介绍了python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例,需要的朋友 可以参考下 PyQt5输入入对话框框QInputDialog介介绍 QInputDialog控件 一个标准对话框有一个文本框
  • VS2017 + MFC对话框创建对话框

    千次阅读 2020-04-09 23:27:03
    MFC实现创建多个子对话框
  • Windows应用程序工作的基本流程是从用户那里得到数据,经过相应的处理之后,再把...对话框基本认识常用控件介绍对话框的种类模态对话框非模态对话框对话框的新建和显示模态对话框创建非模态对话框创建 对话框...
  • 在WIN32中,模式对话框创建一般是使用DialogBox来进行创建的。而非模式对话框则是利用CreateWindow来创建的。在MFC或是WTL中,模式对话框一般是使用DoModal,而非模式对话框创建则是使用Create。模式对话框创建...
  • 工程中列举了常用对话框创建方法,如保存对话框,文件选择对话框,文件夹选择对话框。后续更新。
  • MFC对话框创建

    2018-12-06 14:29:00
    1.首先利用资源编辑器创建对话框资源,并针对该对话框资源定义一个对话框类:class CTestDlg : public CDialog 2.创建话话框对象 模态对话框的创建: 如: CTestDlg dlg; dlg.DoModal(); 非模态...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 251,968
精华内容 100,787
关键字:

创建对话框有哪些方法