我是这样的一个分割方法
用CSplitterWnd将MainFrm分割成2个部分 左边和右边 左边创建一个CLeftView继承于CFormView
——————————
| | |
| | |
|LeftView | |
| | |
| | |
| | |
---------------------
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext* pContext)
{
if (!m_wndSplitter.CreateStatic(this, 1, 1))
{
TRACE0("Failed to CreateStaticSplitter\n");
return FALSE;
}
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(400, 0), pContext))
{
TRACE0("Failed to create first pane\n");
return FALSE;
}
}class CLeftView : public CFormView现在发现 我拖动中间的spliter正常刷新 但是我鼠标也可单独拖动leftview大小 那么就会出现重影
怎么解决呢 我想固定leftview不能拖动 这个该重载什么方法呢
谢谢大家指导
用CSplitterWnd将MainFrm分割成2个部分 左边和右边 左边创建一个CLeftView继承于CFormView
——————————
| | |
| | |
|LeftView | |
| | |
| | |
| | |
---------------------
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,CCreateContext* pContext)
{
if (!m_wndSplitter.CreateStatic(this, 1, 1))
{
TRACE0("Failed to CreateStaticSplitter\n");
return FALSE;
}
if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CLeftView), CSize(400, 0), pContext))
{
TRACE0("Failed to create first pane\n");
return FALSE;
}
}class CLeftView : public CFormView现在发现 我拖动中间的spliter正常刷新 但是我鼠标也可单独拖动leftview大小 那么就会出现重影
怎么解决呢 我想固定leftview不能拖动 这个该重载什么方法呢
谢谢大家指导
解决方案 »
- cwnd派生类的cpp文件中如何读入对话框中的变量?
- **********在新公司上班不到2个月,头说我不合适,把我辞了,特生气,走之前我把主板上CPU附近的一个大电容给拔下来了,大家说不会出事吧
- 什么时候系统处理析构函数,比如??时间还是运行到什么时候??
- 请大家推一个vc6的下载地址。找好几个都不正常。谢谢。
- 请教一个网关自动切的问题
- 高分,串口通信问题。
- Windows消息大全
- 熟悉PE的,请问IMAGE_IMPORT_BY_NAME结构数组存放在文件的什么地方
- (很急!!)求助几个问题,UP有分!
- COM,.ocx,.dll 的联系与区别 ?
- MFC不同版本的程序之间互相调用问题,高手解答
- 请教vs2010中在dialog中显示图片
但是如果仅仅改变leftview大小 而不动分割栏就不对了 这样的操作也不因该被允许啊
例如 我把frm分成左右两块 左边嵌入了CFromview, 我拖动中间的分割符 但是我也可以拖动左边的Fromview 这样的拖动view因该是不被允许的
怎么禁止左边的嵌入view不能拖动 固定大小???
——————————
| | |
| | |
| | |
| | |
| | |
| | |
---------------------
因为分割栏和view是2个不同的东西 即使限制了分割兰 那leftview也可以拖动大小啊 就可能拖动到分割栏外了 555
或者是不是把分割兰和view级练起来 当拖动view时 分割栏也会同时动
这么说 我在spliter左边嵌入了Leftview
现在不仅不允许拖动splter 也不允许拖动leftview第一条是leftview的边界 而第二条是spliter
不能允许view在左边的区域里随意拖动 spliter也不给拖动 不知道这样可描述清楚了
||
||
||
||
||
||
------------------------
重载CSplitterWnd类,自己需要处理WM_LBUTTONDOWN,WM_SETCURSOR,WM_MOUSEMOVE
void CNewSplitterWnd::OnLButtonDown(UINT nFlags, CPoint point) // WM_LBUTTONDOWN
{
return;
}
BOOL CNewSplitterWnd::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) // WM_SETCURSOR
{
return FALSE;
}
void CNewSplitterWnd::OnMouseMove(UINT nFlags, CPoint point) // WM_MOUSEMOVE
{
CWnd::OnMouseMove(nFlags, point);
} 也不允许拖动leftview
参考2#
您说得是参考这个不
呵呵 这样并没有禁止leftview拖动啊
上面的我都能看懂 但是您说的这个是什么意思 谢谢啊
如果有资源,就在资源里把Boder属性设成无
强人 一句话点醒梦中人 刚才讨论了半天都不在电子上