【CSplitterWnd技巧一】改变分割窗口拖动条的大小

原创 2004年05月30日 16:58:00

【CSplitterWnd技巧一】改变分割窗口拖动条的大小

作者:enoloo

大家都知道默认的CSplitterWnd的拖动条很宽,看起来占地方,也不美观。怎么改变它呢?
研究CSplitterWnd的构造函数发现,拖动条的宽度是可以设置的。下面是我写的一个简单的CMySplitter类。他的效果如下:

 

 

下面是CMySplitter的代码:
=========================================================
//MySplitter.h
#pragma once
#include "stdafx.h"
class CMySplitter : public CSplitterWnd
{
public:
 CMySplitter();          
 DECLARE_DYNCREATE(CMySplitter)

public:
 ~CMySplitter();
protected:

 DECLARE_MESSAGE_MAP()
};
=========================================================
//MySplitter.cpp
#include "MySplitter.h"

IMPLEMENT_DYNCREATE(CMySplitter, CSplitterWnd)

//在构造函数中改变分割条的宽度和属性!
CMySplitter::CMySplitter()
{
 m_cxSplitter = 4;    //must >=4 ,拖动时拖动条的宽度
 m_cySplitter = 4;   
 m_cxBorderShare = 0; //按下鼠标时拖动条的偏移量
 m_cyBorderShare = 0; 
 m_cxSplitterGap= 1;  //splitter拖动条的宽度   
 m_cySplitterGap= 1; 
}

CMySplitter::~CMySplitter()
{

}

BEGIN_MESSAGE_MAP(CMySplitter, CSplitterWnd)

END_MESSAGE_MAP()
=========================================================

使用时,在主窗口中包含头文件MySplitter.h,将CSplitterWnd改成CMySplitter就可以了。

【CSplitterWnd技巧二】使分割窗口不能改变大小

有时候,需要保持分割窗口中每个小窗口的尺寸或者比例,不允许用户拖动分割条。我考虑了有两种方法可以实现。效果如下,鼠标在分割条上,没有出现可以改变大小的箭头。  方法1:================...
  • Huichao_Zhi
  • Huichao_Zhi
  • 2010年08月25日 23:35
  • 717

使用CSplitterWnd和重绘窗口大小时发生的问题

     问题1:如上图所示.我的程序是单文档窗口,使用CSplitterWnd分割成两个窗口.图1所示的是在debug和release两种情况下运行时的右边的那个窗口.处理窗口尺寸变化是在OnSiz...
  • i7366
  • i7366
  • 2008年03月23日 18:30
  • 1094

MFC----窗口的缩放及控件随拖动改变大小

转载请注明出处:http://blog.csdn.net/yf210yf/article/details/7853741 首先一个窗口是否可以拖动改变大小决定于border的属性 当border为...
  • yf210yf
  • yf210yf
  • 2012年08月11日 09:03
  • 17798

单文档拆分的子窗口大小固定

MFC单文档视图利用CSplitterWnd类实现窗口的拆分,但是直接生成的子窗口的区域边框可通过鼠标拖动来改变大小,这在很多应用场合下是不允许的, 为了不可改变子窗口的大小,需要重载 CSplit...
  • qqqren
  • qqqren
  • 2016年11月29日 13:37
  • 596

【CSplitterWnd技巧二】使分割窗口不能改变大小

【CSplitterWnd技巧二】使分割窗口不能改变大小 作者:enoloo 有时候,需要保持分割窗口中每个小窗口的尺寸或者比例,不允许用户拖动分割条。我考虑了有两种方法可以实现。效果如下,鼠标在分割...
  • enoloo
  • enoloo
  • 2004年05月30日 16:58
  • 2099

MFC--自定义分割条颜色以及求分割条大小方法

窗口分割的方法在网上很容易找到,分割后出现的灰色默认分割条却很不美观,如图1所未.经过自己的查询和尝试,找到了改变它颜色的方法,效果如图2. 图1 图2 实现方法...
  • Mirage520
  • Mirage520
  • 2012年02月18日 13:42
  • 2870

MFC基于CSplitterWnd类的多窗口分割

使用平台:win7 64bit 使用环境:VS2012 1、CSplitterWnd介绍 上图是从MSDN中截取的类的继承图表,CSplitterWnd类继承自CWnd类。这个类主要就是提供窗口分...
  • Robin__Chou
  • Robin__Chou
  • 2015年11月21日 13:38
  • 7767

MFC下分割CSplitterWnd窗口等比例缩放

http://blog.csdn.net/ruihaha/article/details/38018231 在MFC中添加CSplitterWnd分割窗口后,屏幕分为2*2区域,    当用鼠标...
  • ruihaha
  • ruihaha
  • 2015年01月29日 10:35
  • 1728

改变分割窗口拖动条的大小

转自:http://blog.csdn.net/enoloo/archive/2004/05/30/17633.aspx【CSplitterWnd技巧一】改变分割窗口拖动条的大小作者:enoloo大家...
  • goxigo
  • goxigo
  • 2008年05月30日 16:04
  • 364

分割窗口以及CSplitterWnd类

分割窗口概述       分割窗口,顾名思义,就是将一个窗口分割成多个窗格,在每个窗格中都包含有视图,或者是同一类型的视图,或者是不同类型的视图。        MFC分割窗口的方式有两种...
  • gateway6143
  • gateway6143
  • 2014年06月24日 16:30
  • 954
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【CSplitterWnd技巧一】改变分割窗口拖动条的大小
举报原因:
原因补充:

(最多只允许输入30个字)