急!!!!!请教拆分窗口后,固定拆分窗口大小使不能拉动 小弟用CSplitterWnd拆分窗口成两个窗口,但我想用户不能够任意拉动拆分后窗口的大小,请指点一下,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在WM_SIZE消息中加入SetWindowPos(0,0,0,0,SWP_NOMOVE||SWP_NOSIZE); derive your CXSplitterWnd Class from CSplitterWnd Class ,and overide OnLButtonDown and OnLButtonMouseMove function.CXSplitterWnd::OnLButtonDown(...){ ...}CXSplitterWnd::OnMouseMove(...){ ..} 对,你在继承一个类,其中有个参数设置为m_bTrack = false;(设为True,是可以拖动的。)你再查一查m_bTrack 也就是kingzai(studying C#) 所说方法,我来仔细说说:这样做:首先,不能使用原有的CSplitterWnd来定义m_wndSplitter对象,而是要从CSplitterWnd类派生一个自己的切分类——CMySplitterWnd然后用这个CMySplitterWnd类在MainFrm.h中定义m_wndSplitter对象。接着,添加自己派生类的这样两个消息函数void CMySplitterWnd::OnLButtonDown(UINT nFlags, CPoint point){ //CSplitterWnd::OnLButtonDown(nFlags, point);//把原有的这行注释掉 //也就是说让这个函数什么也不做。}void CMySplitterWnd::OnMouseMove(UINT nFlags, CPoint point){ //CSplitterWnd::OnMouseMove(nFlags, point);//注释掉}这样方可实现固定位置。原来直接用CSplitterWnd来定义m_wndSplitter对象,就无法从载上面两个消息函数,并让其正确相应(这是原因所在)。试试吧。 override :WM_LBUTTONDOWN,WM_MOUSEMOVE,WM_SETCURSORvoid CLockableSplitter::OnLButtonDown(UINT nFlags, CPoint point) { CWnd::OnLButtonDown(nFlags, point); }void CLockableSplitter::OnMouseMove(UINT nFlags, CPoint point) { CWnd::OnMouseMove(nFlags, point);}BOOL CLockableSplitter::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { return CWnd::OnSetCursor(pWnd, nHitTest, message); } zhdleo(叮东) 分析得很对! 关于txt文件的读取 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 有些迷惑,希望大家能帮出主意 [来者有分]我要开发一个基于HTTP的chat room,请问什么思路最好? 请教:while(m_bsjd.RunState(0)!=0) 哪里有vss下载?? 自己做了个简单的框架程序,可是执行不过去 为什么呢 怎么能重启windows自带了远程桌面服务? 如何实现放大缩小功能 初学者请教各位大虾! 关于IPV6 用单文档怎么画全黑屏?
SetWindowPos(0,0,0,0,SWP_NOMOVE||SWP_NOSIZE);
CXSplitterWnd::OnLButtonDown(...)
{
...
}
CXSplitterWnd::OnMouseMove(...)
{
..
}
你再查一查m_bTrack
void CMySplitterWnd::OnLButtonDown(UINT nFlags, CPoint point)
{
//CSplitterWnd::OnLButtonDown(nFlags, point);//把原有的这行注释掉
//也就是说让这个函数什么也不做。
}void CMySplitterWnd::OnMouseMove(UINT nFlags, CPoint point)
{
//CSplitterWnd::OnMouseMove(nFlags, point);//注释掉
}这样方可实现固定位置。原来直接用CSplitterWnd来定义m_wndSplitter对象,就无法从载
上面两个消息函数,并让其正确相应(这是原因所在)。试试吧。
{
CWnd::OnLButtonDown(nFlags, point);
}void CLockableSplitter::OnMouseMove(UINT nFlags, CPoint point)
{
CWnd::OnMouseMove(nFlags, point);}BOOL CLockableSplitter::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
return CWnd::OnSetCursor(pWnd, nHitTest, message);
}