切分窗口的问题!!我想自己画Splitter bar 可是不知道该怎么做,谁有什么好

Robert2001 2001-11-28 05:42:04
MSDN 上说OnDrawSplitter 这个函数可以实现一个Splitter WINDOWS的自画功能

,他有三个参数,第一个参数是一个DC 第二个参数是一个 ENUM结构 第三个参数

是一个RECT 结构
我现在糊涂的是 第一个参数 应该是一个什么东西,是位图 还是别的什么!
还有第二个参数应该怎么用,不还不太明白!
我找遍了MSDN 但是都没有找到任何相关的东西,有谁做个类似的东西,能给我讲

讲吗,多谢了,有例子更好!
...全文
132 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nustchen 2001-11-30
  • 打赏
  • 举报
回复
上面不是讲了吗?
www.codeguru.com
当好的VC站点
Robert2001 2001-11-29
  • 打赏
  • 举报
回复
nustchen(壁虎):
多谢! 可是那里有代码,我找了好多地方了 MSDN上没有啊!
nustchen 2001-11-29
  • 打赏
  • 举报
回复
要养成查MFC源代码的习惯哦
nustchen 2001-11-29
  • 打赏
  • 举报
回复
我倒,手工加啊
Robert2001 2001-11-29
  • 打赏
  • 举报
回复
我怎么重载OnDrawSplitter 这个函数呢!
东土 2001-11-28
  • 打赏
  • 举报
回复
O
看看!
关注中!
mzm100 2001-11-28
  • 打赏
  • 举报
回复
不是很清楚吗?
pDC------设备描述字指针;
nType-----Draw的类型,splitBox:分割窗口的拖放框
splitBar:分割条
splitBorder:分割窗口的边界
rect-----------重绘对象的大小
ytweiwei 2001-11-28
  • 打赏
  • 举报
回复
cj6.8 库里面就有一个类,你自己招招看
nustchen 2001-11-28
  • 打赏
  • 举报
回复
www.codeguru.com上有介绍,我的程序里面就用到了上面的程序,生成了一个平面的Splitter,下面是部分代码

void CCustomSplitterWnd::OnDrawSplitter(CDC* pDC, ESplitType nType,
const CRect& rectArg)
{
m_clrBtnHLit = ::GetSysColor(COLOR_BTNHILIGHT);
m_clrBtnShad = ::GetSysColor(COLOR_BTNSHADOW);
m_clrBtnFace = ::GetSysColor(COLOR_BTNFACE);

// if pDC == NULL, then just invalidate
if (pDC == NULL)
{
RedrawWindow(rectArg, NULL, RDW_INVALIDATE|RDW_NOCHILDREN);
return;
}
ASSERT_VALID(pDC);

// otherwise, actually draw
CRect rect = rectArg;
switch (nType)
{
case splitBorder:
pDC->Draw3dRect(rect, m_clrBtnFace, m_clrBtnFace);
rect.InflateRect(-CX_BORDER, -CY_BORDER);
pDC->Draw3dRect(rect, m_clrBtnShad, m_clrBtnHLit);
return;

case splitIntersection:
break;

case splitBox:
break;

case splitBar:
break;

default:
ASSERT(FALSE); // unknown splitter type
}

// fill the middle
pDC->FillSolidRect(rect, m_clrBtnFace);
}

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧