- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 mfc 的新手,所以我不知道我是否能正确解释我的问题,但我会尝试。
所以我用mfc做了一个益智游戏,想实现高分系统。游戏结束后会弹出对话框,在里面输入你的名字,名字是写在外部txt文件里的。所以,我有 Dialog 类,我在其中实现了一些关于输入你的名字并将其发送到 txt 文件的东西,但问题是我无法访问存储在 ProjectDoc 类中的关于分数的信息,所以我无法将玩家的名字和分数联系起来。
所以问题是如何从对话框类访问 ProjectDoc 类的文件。
最佳答案
如果您有一个(或几个)参数,IInspectable 和 thomiel 提供的解决方案效果很好。
另一个极端是传递一个指向 Document 的指针,让 Dialog 从中提取任何它需要的东西,但这会违反“需要知道”的政策。
我建议定义一个接口(interface)(抽象类)IHighScoreProvider 与所需的访问器,例如:
class IHighScoreProvider
{
public:
virtual int GetGameScore() = 0;
virtual std::string GetPlayerName() = 0;
};
然后从中派生您的文档并实现这些方法。并将该接口(interface)指针传递给您的对话框。
关于c++ - 从 mfc、sdi 中的对话框类访问文档文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32528700/
我使用 Delphi Berlin VCL 模板创建了一个 SDI 应用程序。我可以通过对 File|New 进行编程来创建其他实例,如下所示: procedure TSDIAppForm.FileN
我有一个在 Visual Studio 中建立的 SDI 应用程序。我知道将文件名传递给应用程序就像在命令行中一样:MyApp.exe "C:\a.txt"。但是,它不接受自定义参数或 URL。假设我
我可能听起来有点像个白痴,因为我什么都不知道,但坦率地说,我更倾向于将这件事归咎于缺乏在线帮助。 在听说 MFC 的一般意见之前,我决定使用 MFC 创建一个新程序(使用 SDI 和 View/Doc
我是 MFC 的新手,并不是完全陌生,但想问问这个论坛上的专家,为什么人们会选择一个项目而不是另一个项目。我希望这不是一个愚蠢的问题,因为我对 MFC 还比较陌生。 非常感谢 最佳答案 根据您的应用程
我正在用 MFC 制作一个 Messanger 应用程序。所以,我正在使用 MFC SDI。 根据我的要求,我必须在应用程序的主窗口中添加两个 editbox 和一个 button 用于登录。我可以通
我正在寻找当鼠标放在表单上时获取表单名称的技巧。假设我有一个 mdi 表单和许多 sdi 表单,如 form1、form2、form3,并且所有 sdi 表单都打开了。假设我有一个计时器在 form1
我正在上 Winforms C# 开发的第一个类。我正在使用 VS Premium 2013。 我们整个学期都在研究一个应用程序。对于我们的最终项目,我们的任务之一是将其从 SDI 转换为 MDI。
想请教一个关于SDI MFC应用的问题。如何在 SDI MFC 应用程序中重绘 View 上的某些区域(区域)而不重绘整个 View ? 最佳答案 使用::InvalidateRect() 和/或 C
我正在尝试向我的表单添加一个文本框(接下来我想将从此框中输入的数据传递到文档以进行存储),但我无法让文本框正常工作。 下面是我试过的代码。为什么我的文本框没有出现,以及如何正确地让文本框出现在我的 V
我要求我的 MFC SDI 应用程序以非事件状态启动。这是一个屏幕键盘。 在直接的 Win32 中,只需调用 ShowWindow( hWnd, SW_SHOWNA ); 这在 MFC 中不起作用。我
我正在尝试增加 MainFrame 上标题的字体大小。到目前为止,我已经尝试了几种方法,但都没有取得好的结果。欢迎提出任何建议。 一个。方法一 void CMainFrame::OnPaint
我是 mfc 的新手,所以我不知道我是否能正确解释我的问题,但我会尝试。 所以我用mfc做了一个益智游戏,想实现高分系统。游戏结束后会弹出对话框,在里面输入你的名字,名字是写在外部txt文件里的。所以
我有一个 SDI 应用程序。我想在运行时根据特定条件更改菜单。 我使用这个代码块来更改菜单,它完成了它的工作。 menu = GetMenu(); SetMenu(NULL); menu->Destr
我正在创建一个包含 4 个表单的 Visual C# WinForms 应用程序: 一个“控制”表单,其中包含 2 个按钮,最多可能有 10 个左右。因此,屏幕需要为最大数量的按钮提供足够的空间。 将
我有一个(可能很荒谬的)关于 MFC 的问题 - SDI 应用程序可以支持多个文档类型吗? (在创建新文档时显示“选择文档”对话框,但这不是绝对必要的,我可以自己处理。)我想要做的是让我的应用程序像现
Sample Project使用 Visual Studio 2008。 我需要 UI 线程来修改 SDI 项目。我在基于对话框的项目之前使用过。在SDI项目中,我可以创建线程但我不能使用它。 我创建
我需要帮助在我的 MFC SDI C++ 项目中的 CFormViews 之间切换。我已经挖掘了很长时间,无法弄清楚为什么我的代码不起作用。通过搜索互联网(包括本网站),我发现了几个通过向 MainF
从文件中读取和写入对我来说更容易,但我无法在 SDI 应用程序 (MFC) 中执行此操作....我需要一些指导来解决此问题......... 这是构造函数 CFileDoc::CFileDoc
我有一个运行良好的简单 SDI 应用程序。 最近我决定使用一些由 DLL 导出的函数。 所有这些 DLL 函数都使用静态内存缓冲区(应用程序必须在函数调用中定义和使用)。 事实上,当 View 中发生
我有一个小型 SDI 应用程序,我试图在其中添加对菜单使用情况的跟踪,即。用户选择某些菜单项的次数。 一些菜单项由 View 组件 (DemoView.cpp) 处理,其他菜单项由主应用程序 (Dem
我是一名优秀的程序员,十分优秀!