星光中的灯

人生,理想

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

新一篇: 【CSplitterWnd技巧二】使分割窗口不能改变大小 | 旧一篇: 【CSplitterWnd技巧二】使分割窗口不能改变大小

【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就可以了。

发表于 @ 2004年05月30日 16:58:00|评论(loading...)|编辑

新一篇: 【CSplitterWnd技巧二】使分割窗口不能改变大小 | 旧一篇: 【CSplitterWnd技巧二】使分割窗口不能改变大小

评论

#周立@NET 发表于2006-05-07 21:26:00  IP: 221.6.205.*
谢谢提供。可是我怎么也实现不了。完全是按照你说的去做的,郁闷啊。error LINK2005
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © enoloo