永发信息网

关于MFC分割窗口后,如何控制分割条的移动范围

答案:2  悬赏:80  手机版
解决时间 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); } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯