当前位置: 首页 > 知识库问答 >
问题:

保留任务栏图标,替换MFC对话框

荀裕
2023-03-14

我有一个基于MFC对话框的应用程序。用户可以更改对话框的语言,我通过关闭现有对话框并使用更改的语言打开另一个对话框来做到这一点。问题是任务栏中的效果是删除了一个图标,并在其位置创建了另一个相同的图标。如果我的应用程序的图标不是任务栏中的最后一个图标,它将被视为移动到任务栏图标集的末尾。

我想保留图标在任务栏中的位置,而不是防止图标闪烁。我该怎么做?

应用程序必须支持从Windows XP到Windows 7的操作系统。

编辑:另一个我愿意接受答案的问题是,如何创建一个不可见的窗口,它仍然显示在任务栏上,以及如何将相关窗口消息从该窗口转发到我的主窗口?

共有2个答案

巫健柏
2023-03-14

为什么不用CFormView替换对话框呢?这样就有一个框架窗口环绕对话框(嵌入在表单视图中),它是拥有任务栏图标的框架窗口。

创建一个显示CFormView的SDI应用程序。初始化时以默认语言(或用户之前选择的任何语言)显示对话框。当用户选择“更改语言”选项时,只需使用新的表单视图更改正在显示的表单视图。

附加功能:通过这种设计,框架将为您提供特定于语言的加速器和菜单等功能,而您无需付出任何努力。

要了解更多如何做到这一点,请查看http://www.codeguru.com/cpp/w-d/doc_view/viewmanagement/article.php/c3341/Multiple-Views-Using-SDI.htm

蔡默
2023-03-14

使对话框成为另一个外部父窗口的子窗口。父窗口可以是对话框或任何其他类型的窗口;它将提供的只是标题栏。如果用户尝试调整它的大小,它将不得不将调整大小的命令转发到对话框,但否则您不需要在父窗口中做太多事情。

 类似资料:
  • 我需要更改Jdialog box标题栏图标。默认情况下,它使用Java咖啡图像。 我在网上查了一下,用了很多代码 没有什么能正常工作。请你帮帮我..提前致谢

  • 本文向大家介绍MFC对话框中添加状态栏的方法,包括了MFC对话框中添加状态栏的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了MFC对话框中添加状态栏的方法。分享给大家供大家参考。具体如下: 1.在对话框的dlg实现类里添加成员变量: 2.添加OnKickIdle事件(在对话框的dlg的头文件加上) : 3.在实现类中添加对应的两个方法: 4.运行发现看不见状态栏,添加对话框的WM_S

  • 任务对话 任务对话用来解决用户带着明确的目的而来,希望得到满足特定限制条件的信息或服务。例如:天气查询,订餐,订票,寻找音乐、电影或某种商品等。因为用户的需求比较复杂,或者完成该任务需要多个参数,因此需要分多轮进行陈述,并从用户的语言中提取关键信息,最终达成任务。 相关名词概述: 触发问题:当访客输入类似的问题时将进入任务对话。 任务参数:机器人完成该任务所必须的参数。 参数词典:访客可能回复的参

  • 我有一个pygame应用程序,我想为它设置任务栏图标。我试过了 但毫无效果。我用cx_Freeze将它编译成一个。exe,并在那里设置。exe图标。当我运行该程序时,它将任务栏中的图标设置为默认的pygame图标。我还设置了pygame窗口的图标 其他信息: 提前感谢您的任何帮助。

  • 上一章我们为 Scribble 新增了一个【Pen】选单,其中第二个命令项【Pen Width...】准备用来提供一个对话框,让使用者设定笔的宽度。每一线条都可以拥有自己的笔宽。原预设粗笔是5个图素宽,细笔是2个图素宽。 为了这样的目的,在对话框中放个 Spin 控制组件是极佳的选择。Spin 就是那种有着上下小三角形箭头、可搭配一个文字显示器的控制组件,有点像转轮,用来选择数字最合适: 但是,S

  • 我有一个基于对话框的MFC应用程序。我有一个隐藏的编辑控件,它有读取USB连接扫描仪输入的默认焦点。对话框上的所有其他控件都是只读的。但是当用户单击任何控件时,隐藏的编辑控件都会失去焦点。我如何解决这个问题,使这个隐藏的编辑控件有焦点,即使在用户单击对话框的任何地方。