注册 登录
编程论坛 C语言论坛

求助,自定义对话框

追梦人zmrghy 发布于 2022-08-13 02:30, 1467 次点击
在 C++ CLR的Form程序中,自定义对话框,研究了1个月了。
还是没能实现。
如果在,C++ MFC的Dialog  创建好基于对话框的程序 MyDlg.exe.
在 C++ CLR的Form程序中,调用自定义的对话框程序MyDlg.exe.

当自定义的对话框程序MyDlg.exe 结束退出时,如何把数据传回C++ CLR的Form程序中???
7 回复
#2
apull2022-08-13 11:40
https://bbs.bccn.net/thread-509725-1-1.html
这里不是写了么

返回值定定义为System::Windows::Forms::DialogResult,也可以改成你需要的任何类型
private:
    System::Windows::Forms::DialogResult static  result = ::DialogResult::Cancel;

显示对话框
caption 标题
text 显示内容
System::Windows::Forms::DialogResult static Show(System::String^ caption, System::String^ text)
{
    MsgBox^ msgbox = gcnew MsgBox();
    msgbox->Text = caption;
    msgbox->label1->Text = text;
    msgbox->ShowDialog();
    msgbox->~MsgBox();

    return result; //返回对话框的值。
}

增改show参数和form中添加其他内容让对话框内容更丰富。

使用时跟系统自带的一样
System::Windows::Forms::DialogResult re=MsgBox::Show("过关!", "顺利过关,是否继续闯关?");
re就是得到的对话框返回值
#3
追梦人zmrghy2022-08-13 12:55
回复 2楼 apull
不懂,术语是如何讲。

form窗体作对话框, 和系统对话框还是有不同之处的。

当显示出系统对话框时,原窗口任何操作都是没有相应的。
需要等待对话框的,选项操作。。。。
#4
apull2022-08-13 13:33
msgbox->ShowDialog();
以对话框方式显示窗口,此时原窗口无法操作。
#5
八画小子2022-08-13 15:16
以下是引用追梦人zmrghy在2022-8-13 12:55:49的发言:

不懂,术语是如何讲。

form窗体作对话框, 和系统对话框还是有不同之处的。

当显示出系统对话框时,原窗口任何操作都是没有相应的。
需要等待对话框的,选项操作。。。。

你说的应该是模态窗体和非模态窗体。
#6
追梦人zmrghy2022-08-18 21:44
回复 2楼 apull
只有本站会员才能查看附件,请 登录


只有本站会员才能查看附件,请 登录


只有本站会员才能查看附件,请 登录


非常感谢, 终于成功了。。。
遇到点,任何问题都不知道什么原因,更不知道如何解决。。。。
照猫画虎,今天终于成功了!!!

[此贴子已经被作者于2022-8-18 21:48编辑过]

#7
追梦人zmrghy2022-08-18 22:02
回复 2楼 apull
只有本站会员才能查看附件,请 登录


这样,自定义对话框,就可以有7个按钮可以使用了呀。
并且 按钮 界面上的名称还可以自定义。。。。
#8
追梦人zmrghy2022-08-18 22:23
求助: 键盘 按键编码 为什么是重码?
求助: 键盘 按键编码  F1~~F10 为什么是重码?

程序代码:
#include<iostream>
#include<conio.h>
using namespace std;

int main()
{
    char key = 0;
    while(1)
    {
        key = _getch();
        if(key != 0)
        {
            if(key > 0)
                printf("key = %d\n",key);
            else
                printf("key = %d  ",key);
            key = 0;
        }
    }

    return 0;
}


只有本站会员才能查看附件,请 登录
1