to yintongshun(左岸思雨) ,SDI 中 CSplitterWnd 2 个 CFormView ,怎么把分隔的 2边(或者1边)变成平的,不要凹下去的那种?

CompletionPort 2005-03-17 08:20:36
我用

http://community.csdn.net/Expert/topic/3423/3423450.xml?temp=9.338015E-02


在OnInitialUpadata()里
{
ModifyStyle(WS_EX_CLIENTEDGE,WS_EX_STATICEDGE);
ModifyStyle(-1,WS_CHILD|WS_VISIBLE);

CYourView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();

}
然后,在onNcpaint里写上如下几句话
CWindowDC dc(this);
CRect rectClient;
GetClientRect(rectClient);
CRect rectWindow;
GetWindowRect(rectWindow);
ScreenToClient(rectWindow);
rectClient.OffsetRect(-rectWindow.left, -rectWindow.top);
dc.ExcludeClipRect(rectClient);
rectWindow.OffsetRect(-rectWindow.left, -rectWindow.top);

// Paint to a memory device context to help
// eliminate screen flicker...

// and draw a sunken border for the client area.
SendMessage(WM_ERASEBKGND, (WPARAM)dc.m_hDC);
dc.DrawEdge(rectWindow, BDR_RAISEDINNER, BF_RECT);

===========================================

的方法,对于 1 个 CFormView 是没有问题,但是用 CSplitterWnd 后怎么也不行,

需要重写 CSplitterWnd?

...全文
165 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
CompletionPort 2005-03-21
  • 打赏
  • 举报
回复
up
CompletionPort 2005-03-21
  • 打赏
  • 举报
回复
up
张佩 2005-03-18
  • 打赏
  • 举报
回复
子类化CSplitterWnd类,重载虚函数OnDrawSplitter,在里面改。判断nType:
CRect rc = rectArg;
switch(nType)
{
case splitBorder:
pDC->DrawsdRect(rc, RGB(0, 0, 0), RGB(0, 0, 0));
rc.InflateRect(-1, -1);
pDC->DrawsdRect(rc, RGB(0, 0, 0), RGB(0, 0, 0));
break;
case splitBox:...;
case splitBar:...;
}你会看到效果的。

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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