问题标签 [sdi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何设置 CDockable 窗格的高度和宽度
我想设置可停靠窗格的高度和宽度。我尝试将 CRect 参数中的值传递给 OnCreate 函数,但这不起作用。任何人都可以帮助解决这个问题
mfc - 带有样式子的 MFC 无模式对话框
我有 SDI 结构程序,我想CDialog
用子样式创建并CFormView
用作其父样式。因为我想CFormView
用作“容器”。
现在我遇到两个问题。
- 我无法将 setmunu 设置为
CDialog
(因为对话框样式是子样式) - 对话框表现异常(对话框有
CEdit
,但不能输入...)
我该如何解决这个问题?
c++ - MFC SDI GetActiveView() 总是返回 NULL
CFormViews
我需要在 MFC SDI C++ 项目之间切换的帮助。我已经挖掘了很长时间,无法弄清楚为什么我的代码不起作用。通过搜索互联网(包括这个网站),我发现了几个通过向 MainFrm.cpp(CMainFrame
继承自 的对象CFrameWnd
)添加两个函数来切换表单的教程。其中一个传递了我要切换到的表单的 id,然后获取指向活动视图的指针,并从那里运行一些其他代码。但是,GetActiveView()
总是返回一个NULL
指针值。我知道有一个活动视图,因为我正在单击活动表单中的按钮。我的代码如下。这只是我所指的功能。它位于 MainFrm.cpp(启动新 MFC 项目时创建的默认窗口文件)中。
到目前为止,我已经尝试了 Microsoft 知识库中有关如何获取当前CDocument
或CView
从任何地方的代码,我尝试先获取活动框架,然后GetActiveView
从调用CFrameWnd
,然后我尝试了下面的代码。一切都无济于事。我显然对 MFC 知之甚少,无法弄清楚。如果您需要我提供更多信息,请询问。我可能没有提到我应该拥有的一切。我为一个学校项目选择了 MFC,在我知道我可以让这些表单工作之前,我无法继续创建 UML 或编写任何其他代码。
c++ - C++ MFC SDI 复制/粘贴不起作用
我用功能区创建了一个简单的 MFC SDI 应用程序。文档的视图是带有 on Edit 控件的 FormView。
如果我现在使用 CTRL+V 在编辑控件中粘贴一些文本,则不会发生任何事情。使用 CTRL+C 复制编辑控件内的文本也是如此。如果我在编辑控件内右键单击,我可以使用上下文菜单。但是我怎样才能启用快捷方式?CTRL + C 等在加速器列表中。如果我将以下内容添加到 MainForm
和函数本身
如果我现在按 CTRL+C,MessageBox 会弹出。但我无法将编辑控件的文本复制到剪贴板。如果选择了不同的控件并按下了 CTRL+C,我怎么能在从编辑文本中复制文本和执行其他操作之间进行选择(例如,如果我在编辑控件中选择文本,它应该被复制到剪贴板。如果我选择例如树视图中的项目仅应显示一个弹出窗口)?
mfc - 如何处理从视图类发送到对话框的消息?
我有手视图、文档和大型机的 SDI 应用程序。在视图类中,我有打开另一个对话框的按钮,比如说租船对话框。我想打开该对话框并从视图发送初始值以在对话框中分配一些变量,但我无法在对话框类中捕获消息事件。下面作为我的代码:
在租船对话框中,我处理如下消息
租船功能
我在 OnSetShowTemp() 函数处设置了断点,但它不能跳到那里。任何想法将不胜感激。
html - 如何停止 CHtmlView 驱动类的点击事件?
在 FormView 上右侧疼痛视图的 SDI 应用程序中,我使用 ChtmlView Navigate 功能显示 HTML 预览。当我在 HTML 预览中打开 doc/docx 文件时,它是可编辑的。我想防止点击事件,所以没有人可以编辑它。
如何停止CHtmlView
驱动类的点击事件?
我试试
但是,当我单击 Chtmlview 容器中的预览文件(doc/docx)时,它不是由它的父驱动类处理CHtmlPreview::PreTranslateMessage(MSG* pMsg)
,也不是它的父CFormView
驱动类PreTranslateMessage(MSG* pMsg)
。控制不转到这些功能。
我的问题是:
CHtmlView 类和焦点
我也尝试覆盖CHtmlView::OnTranslateAccelerator
,但这在我CHtmlPreview
的基类为 ChtmlView 的类中不可用。
谢谢
c++ - 如何通过单击 MainFrame 内的按钮来更改 MFC 视图
我想通过单击窗口内的按钮来更改呈现的视图, 如下所示。我的项目设置:
- 我制作了一个没有 Doc/View 支持的 MFC 项目 (SDI)。
我在设计器中制作了另外两个视图并向它们添加了类。新的视图类派生自
CFormView
. 我将新视图类的构造函数和析构函数更改为公开的。将它们作为指向 MainFrm.h 的指针添加:
- 我像这样更改了MainFrm.cpp 的
OnCreate()
,OnSetFocus()
和OnCmdMsg()
Method :(允许展示我用 Designer 制作的 FormView)
现在我的问题来了!我在第一个呈现的视图上有一个按钮,如果你点击它,视图应该会改变。我在 Designer 中使用事件处理程序创建了以下函数:
如果我在 MainFrm.cpp 类中处理它,例如使用菜单按钮,那没问题......工作正常:
我试图在其中编写一个函数CMainFrame
并在其中调用该函数,CMainView::OnBnClickedButton1()
但我不知道如何获取当前的 MainFrm 对象。MainFrm 上的指针或其成员CMainView
不起作用。
我搜索了几天的红色教程来解决我的问题。我还尝试使用 Doc/View 支持,如下所示: https ://docs.microsoft.com/en-us/cpp/mfc/adding-multiple-views-to-a-single-document?view=vs-2019但我不知道在哪里正确调用 switchView()。
也许任何人都可以帮助...
sql - 存储过程和sql控制台之间的hana行为是否不同
我尝试从存储过程启动流程图。流程图使用物理表(在 hana 上)作为数据源和数据目标中的表类型。流程图定义了两个变量。我在 sql 控制台和动态 sql (EXEC-Statement) 中尝试了该语句,并且两者都有效。在存储过程中使用以下语句:
返回以下错误消息:
我是否缺少存储过程中的特殊行为?
感谢您的意见。
mfc - 从 STRG-ALT-ENTF 返回后,Windows MFC SDI 应用程序的客户端区域冻结
我正在使用 Visual Studio 2017,并且我创建了一个带有 Direct2D 的 MFC SDI 应用程序用于绘图。所以我在听
用于绘制到应用程序客户区的消息。一切正常,直到我点击 STRG-ALT-ENTF 并从 Windows 锁定屏幕返回。然后客户区被“冻结”,即不刷新。然而,应用程序本身仍然是响应式的。当我在
OnDraw2d(WPARAM wParam, LPARAM lParam){..}
Visual Studio 中断,因此很明显所有绘图实际上都应该发生。但是,应用程序如下所示:
使用 Direct2D 的 MFC SDI 应用程序的客户区域中没有图形更新
有趣的是,只有当我点击 STRG-ALT-ENTF 时鼠标指针位于客户区域内时才会发生这种情况。如果在外面,就没有问题。
这是一个错误还是我错过了什么?
问候,迈克尔