如何实现:MFC编程,对话框内按钮动作实现退出应用程序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现:MFC编程,对话框内按钮动作实现退出应用程序?相关的知识,希望对你有一定的参考价值。

参考技术A 基于对话框程序的话,刚建的工程主界面上有一个确认和取消,运行时点其中任意一个都会退出应用程序
其他工程比如单文档,如果是新建的对话框,那么在这个对话框中得添加的一个按钮,然后里面的单击代码写exit(0); 这样按这个按钮就可以退出了
另外其实任何类型的工程的任何消息处理函数中有这条语句的话都会直接退出本回答被提问者采纳

如何更改 MFC/VC++ 对话框应用程序中按钮的前景色(即文本或标题)

【中文标题】如何更改 MFC/VC++ 对话框应用程序中按钮的前景色(即文本或标题)【英文标题】:How to change the foreground colour (ie text or caption) of a push button in MFC/VC++ dialog application 【发布时间】:2010-07-08 12:43:23 【问题描述】:

我正在 vc++/MFC 对话框应用程序中做一个计算器程序。 Thier,我想更改对话框中按钮的前景色和背景色。不知道怎么改。 如果有人有想法,请向我推荐相关代码或示例。

basu_sagar

【问题讨论】:

【参考方案1】:

在经典的 VC/MFC 应用程序中没有简单的方法可以做到这一点,按钮颜色始终是系统定义的。您要么必须使用自定义控件,要么创建一个自绘按钮。处理 WM_CTLCOLOR 并返回不同的画笔不适用于按钮。

编辑:

这是an example 替换按钮控件,有人通过将所有者绘制代码封装到一个类中来解决此问题。

【讨论】:

【参考方案2】:

您可以使用 CMFCButton。虽然你可以直接在你的资源文件中说一个按钮是这种类型的,但我不推荐它,因为它在 rc 文件中添加了一段不可维护的十六进制文本。如果你使用多个 rc 文件,每种语言一个,那真是太糟糕了!

所以我们走吧。在你的表单类中,声明一个成员

CMFCButton m_button1;

DoDataExchange 应该如下所示:

void MyDialog::DoDataExchange(CDataExchange* pDX)

    __super::DoDataExchange(pDX);

    DDX_Control(pDX, IDC_BUTTON1, m_button1);

    // ...

那么 OnInitDialog 应该是这样的:

BOOL CMyDialog::OnInitDialog()

    if(!__super::OnInitDialog())
         return FALSE;

    m_button1.SetFaceColor(RGB(0,0,255));
    m_button1.SetTextColor(RGB(0,255,0));
    m_button1.SetHotTextColor(RGB(255,0,0));

    return TRUE;

我发布的代码将绘制一个蓝色按钮,带有绿色文本,当光标悬停在按钮上时,其文本将变为红色。

【讨论】:

以上是关于如何实现:MFC编程,对话框内按钮动作实现退出应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

MFC SDI中 如何为动态创建的按钮添加消息处理函数

为啥我在MFC Toolbar里添加一个按钮,并且写好了这个按钮的消息处理函数,运行的时候还是没有显示出来?

MFC 关闭窗口用哪个函数?

关于MFC 在一个对话框内有两个控件,在其中一个控件内点击拖动到另一控件松开,然后交换控件的位置怎么实现?

如何杀死 MFC 向导按钮的焦点

如何将我的程序插入 MFC 对话框?