关于MFC分割窗口后,如何控制分割条的移动范围
解决时间 2021-04-08 18:29
- 提问者网友:沉默菋噵
- 2021-04-08 11:04
问题描述:
用MFC 建了一个工程,并将窗口分成了上下两行,并将上边一行分成左右两个窗口。效果如下
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\ \\ \\
\\ \\ \\
\\ 分 \\
\\ 隔 \\
\\ 条 \\
\\ 2 \\
\\ \\ \\
\\\\\\\\\\\\\\\\\\\\\\\\\分隔条1\\\\\\\\\\\\\\\\\\\\\
\\ \\
\\ \\
\\ \\
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
CRect rect
if(point.x
{
CWnd::OnMouseMove(nFlags, point);
}
else
{
CSplitterWnd::OnMouseMove(nFlags, point);
}
可以控制上面窗格的左右窗格的分割条2,可下面的分割条2不能拖动,现在我要能拖动分隔条2,请问我该怎么做?
最佳答案
- 五星知识达人网友:洒脱疯子
- 2021-04-08 11:11
在移动的响应函数中用代码限制呗
全部回答
- 1楼网友:你可爱的野爹
- 2021-04-08 12:06
这是解决代码,直接在wm_mousemove及wm_lbuttondown这连个消息处理就好了。如果是禁止滚动,就重设鼠标光标为箭头。
void cflatsplitterwnd::onmousemove(uint nflags, cpoint point)
{
// enable the dragging.
if (m_benabledrag)
{
csplitterwnd::onmousemove(nflags, point);
}
// disable the dragging.
else
{
hcursor hc = loadcursor(null, idc_arrow);
setcursor(hc);
}
}
void cflatsplitterwnd::onlbuttondown(uint nflags, cpoint point)
{
// enable the dragging.
if (m_benabledrag)
{
csplitterwnd::onlbuttondown(nflags, point);
}
// disable the dragging.
else
{
hcursor hc = loadcursor(null, idc_arrow);
setcursor(hc);
}
}
我要举报
大家都在看
推荐资讯