【发布时间】:2017-06-20 06:35:00
【问题描述】:
我正在查看 MFC 拆分器窗口类覆盖:
https://www.codeproject.com/Articles/6188/How-to-prevent-resizing-of-views-in-a-splitter-win
我曾用 WTL CSplitterWindow 测试过覆盖源代码,但它不起作用。
我使用 CSplitOverride 而不是 CSplitterWindow 类修改了 MainFrm.h。
当程序启动时“api-ms-win-core-libraryloader-l1-2-0.dll missing..”弹出错误信息显示。
windows 7 64 位操作系统平台,32 位 vs2015 构建。
class CSplitOverride : public CSplitterWindow
{
public:
CSplitOverride() { }
protected:
BEGIN_MSG_MAP(CSplitOverride)
MESSAGE_HANDLER(WM_NCHITTEST, OnNcHitTest)
END_MSG_MAP()
public:
LRESULT OnNcHitTest(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
return HTNOWHERE;
}
};
编辑:我已经尝试过厚框设置,但没有可用。 Jan S 解决方案就像我想要的那样工作。
【问题讨论】:
-
这个问题不够准确。您不希望它响应用户输入吗?你不希望它在调整父级大小时改变大小?
-
我尝试做的是视频 sdk 示例应用程序,主窗口调整大小已禁用,视频帧窗口不应调整大小。
-
查看依赖walker 许多核心Windows dll 依赖于api-ms-win-core-libraryloader-l1-2-0.dll 或其他版本。您的可执行文件不应直接依赖它。