问题标签 [csplitterwnd]

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.

0 投票
1 回答
253 浏览

c++ - 当我单击 CSplitterWnd 中的行分隔符时会发送哪条消息?

我有带有垂直分隔线的窗格。当我将这条线移到顶部或底部时,我会收到大小消息到列表,它存在于窗格内。但是当我只是单击而不移动时,我找不到负责消息传递的处理程序。

我的问题是:我在没有拖动的情况下在线单击,并且放置在底部窗格中的所有控件都消失了。SetFocus 不起作用:(

谢谢

0 投票
0 回答
299 浏览

c++ - CSplitterWnd:RecalcLayout 导致窗口关闭

我刚刚继承了一个代码项目,由于某种原因,它构建的可执行文件在运行后立即关闭。没有人知道为什么会这样,因为在项目交给我之前,它构建并运行良好,但这既不是这里也不是那里。

因此,在不知道该项目是如何工作的情况下,我尝试调试此问题并将其缩减为包含以下代码:

现在,加载的窗口应该被分成四个面板(两列,两行),可以看到这清楚地处理了每个面板的位置和大小。该问题具体是由最后一行引起的m_wndSplitter.RecalcLayout()。如果我注释掉那一行,则窗口加载正常,但所有按钮都显示为灰色,如果我尝试调整面板大小,则应用程序崩溃。

对不起,我不能更详细,但我自己对这段代码很陌生。所以我的问题是,任何人都可以想到包含该行会导致这种影响的任何情况吗?由于自上次工作以来代码显然没有任何变化,除了我已经解释过的内容外,我没有什么可做的。

感谢任何人都可以提供的任何帮助!

0 投票
1 回答
937 浏览

c++ - MFC 应用程序在 AfxCheckDialogTemplate 上崩溃

我有一个 MFC 应用程序,如果构建并运行,它会在打开后立即关闭。如果我调试应用程序,我会得到一个从 C:...\MFC\SRC\viewform.cpp 触发的 ASSERT。

如果我继续调试程序,我会收到弹出错误Failed to create empty document,输出终端列出以下内容:

这是我刚刚继承的一个代码项目,因此对代码不熟悉。我可以说应用程序的主对话框应该是一个显示四个窗口的拆分对话框。

但是,我对这些错误的含义感到困惑。任何人都可以帮忙吗?提前致谢。

调用堆栈显示错误的类被调用:

0 投票
1 回答
776 浏览

mfc - 在 MFC 中拥有一个简单视图和一个拆分视图

我有一个多视图 SDI 项目。必须拆分其中一个视图,可能使用 CSplitterWnd 或 CSplitterWndEx。但是其他视图不应该被拆分,也不应该有拆分按钮和滚动条。我使用 CSplitterWnd 和一些从它派生的类(我在网上找到)尝试了各种组合,但我无法得到我需要的东西。所以这里是约束:

  1. 一种视图是 CViewUnsplit,没有拆分器

  2. 第二个视图最初只显示 CViewSplitLeft

  3. 命令允许用户拆分/取消拆分以及添加或删除 CViewRight。

仅拆分第二个视图

0 投票
1 回答
260 浏览

c++ - CSplitterWnd 的独立滚动条?(MFC)

我有一个应用程序,允许用户从下拉菜单中选择拆分窗口,使用 CSplitterWnd CreateStatic 调用在两个相邻的客户区域中显示当前文档。

我找到了很多关于创建共享滚动条的文档,但我想要的是两个独立的滚动条。

我该如何进行?

任何帮助将不胜感激,谢谢。

0 投票
2 回答
822 浏览

mfc - 如何专注于 MFC CSplitter 中的某个视图

我正在尝试使用 CMDIChildWnd、2 个 CSplitterWnd 和 3 个 CFormView 创建一个包含 3 个视图的分层窗口:

  1. 包含静态控件的表单视图
  2. 显示用于查看 PDF 文档的主窗口的表单
  3. 与主视图相关的一些操作的侧面板

主拆分器(包含 MainView 和 TaskPane)初始化为 1 行和 2 列。第二个拆分器包含 2 行和 1 列,包含选项卡和主拆分器。

此图像描述了它应该如何构建: 视觉描述

我的问题是 MainView 没有焦点,因此,工具栏按钮未启用缩放、另存为等...

当我不使用横幅拆分器时,它工作正常。我尝试了 setActivePane() setFocus() setActiveWindow() 这是我在 CChildFrame::OnCreateClient() 中创建它的方法

0 投票
1 回答
615 浏览

mfc - MFC 拆分器窗口中的多个文档/视图

我目前有一个在 Open GL 中显示数据的 MFC SDI 程序。我正在尝试修改程序以使用拆分器窗口一次显示多个数据文件。换句话说,如果有四个拆分窗口,每个窗口都显示不同的文件。

到目前为止,我发现的所有示例都只在多个视图中显示一个文档,但我需要一次显示多个文档。

我开始得出结论,问题可能是因为这是一个 SDI 接口。我想我最初认为因为我使用的是拆分器窗口,所以它会同时支持多个文档。

所以我的第一个问题是,SDI 接口有问题吗?我一次只能使用一个文件吗?

如果答案是我需要使用 MDI,那么我可以使用拆分器在一个 MDI 视图中显示多个文档,还是必须打开多个 MDI 窗口?

谢谢

0 投票
1 回答
114 浏览

c++ - 在 MFC 中调整鼠标形状大小已更改

我已将我的应用程序移植到使用 Visual Studio 2013 构建。构建后,我发现调整大小的鼠标形状被互换了。

在此处输入图像描述

当我想调整垂直分割器的大小时,会出现第一个鼠标指针形状,而当我想调整水平分割器的大小时,会出现第二个鼠标指针:这种行为是新的。在我的工具的先前版本中,当我想要调整水平拆分器的大小时会出现第一个,而当我想要调整垂直拆分器的大小时会出现第二个。

我没有更改代码中的任何内容。我怎样才能让它重现旧的行为?

0 投票
0 回答
97 浏览

mfc - CSplitterWnd CreateStatic() 在 Windows 10 上失败

近 20 年来,我一直在开发 MFC MDI 应用程序。它适用于 Windows 98、Windows XP 和 Windows 7。但它在 Windows 10 上失败了......有什么想法,为什么?这是代码:

LastWriteLog()没有被执行,所以我怀疑CreateStatic()......但为什么只在 Windows 10 上?

0 投票
1 回答
83 浏览

c++ - MFC:我们怎样才能轻松地从 CTreeCtrl 切换到 CTreeView?

我有一个图形 MFC 应用程序,它在历史上是使用CTreeCtrl.
我想添加一个CSplitterWnd来改进它的图形界面。但是,我发现 CTreeCtrl 与 CSplitterWnd 不兼容。显然我必须使用CTreeView.

我的问题:
如果我切换到CTreeView,我必须开发很多功能(例如:SelectItem)

问题:
我怎样才能轻松地从 切换CTreeCtrlCTreeView?或者我可以例如在将使用的 a 中插入 actreectrlCFormview代替CtreeView吗?