mfc tab控件的背景颜色怎么改?急求

易望舒 2011-04-06 09:19:31
http://topic.csdn.net/u/20110129/11/2d1f46f0-222f-4b11-9194-74ef1889db1b.html?seed=314672019&r=72591600#r_72591600
这个帖子的问题就是我的问题。。
求解决啊。。。。
...全文
584 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2011-06-16
  • 打赏
  • 举报
回复
您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面界面版关于版主结帖工作的具体办法
toucheme 2011-04-06
  • 打赏
  • 举报
回复
http://www.codeproject.com/KB/tabs/customtab.aspx
这里有
向立天 2011-04-06
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yzoriental 的回复:]

我只想把上面选项标签右边的默认灰色变成白色就行了。
我现在只是MFC很初级的水平。。。有些不太懂啊。。。
重绘具体怎么做啊?
[/Quote]我不是给你例子了么
易望舒 2011-04-06
  • 打赏
  • 举报
回复
我只想把上面选项标签右边的默认灰色变成白色就行了。
我现在只是MFC很初级的水平。。。有些不太懂啊。。。
重绘具体怎么做啊?
tompaz 2011-04-06
  • 打赏
  • 举报
回复
要复杂确实得重写,简单点重绘就行了
见习学术士 2011-04-06
  • 打赏
  • 举报
回复


BOOL CHDTabCtrl2::OnEraseBkgnd(CDC* pDC)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值

CRect rtClient;
GetClientRect( &rtClient );
rtClient.InflateRect(INFALTERECT_X,INFALTERECT_Y);
//rtClient.right=+10;
// 处理背景
if( NULL != m_hBKG )
{ // 贴背景图
CDC dcTemp; // 临时
dcTemp.CreateCompatibleDC( pDC );
HBITMAP hOldBmp = (HBITMAP)dcTemp.SelectObject( m_hBKG );

// 计算出图片的高度和宽度
CBitmap bmp;
bmp.Attach( m_hBKG );
BITMAP bitmap;
bmp.GetBitmap( &bitmap );
bmp.Detach();
int nBmpWidth = bitmap.bmWidth;
int nBmpHeight = bitmap.bmHeight;

pDC->StretchBlt( rtClient.left, rtClient.top, rtClient.Width(), rtClient.Height(),
&dcTemp,
0, 0, nBmpWidth, nBmpHeight,
SRCCOPY );

dcTemp.SelectObject( hOldBmp );
}
else
{
pDC->FillSolidRect( rtClient, m_clrBKG ); }

return TRUE;
//return CTabCtrl::OnEraseBkgnd(pDC);
}
psbeond 2011-04-06
  • 打赏
  • 举报
回复
如果想做复杂的tab样式,例如QQ的侧边栏,360的工具栏等,LibUIDK使用的方法是用Radio button代替tab。这样,你只需要自绘按钮(CButtonST)就可以了。
向立天 2011-04-06
  • 打赏
  • 举报
回复
自绘可以解决
有兴趣的话可以看看这个
http://blog.csdn.net/xianglitian/archive/2007/08/10/1735698.aspx
易望舒 2011-04-06
  • 打赏
  • 举报
回复
可以说具体点么?刚试了一下没变化。。。。。。。。
Eleven 2011-04-06
  • 打赏
  • 举报
回复
HowToP2p 2011-04-06
  • 打赏
  • 举报
回复
SetClassLong(m_tab.m_hWnd,GCL_HBRBACKGROUND,(LONG)GetStockObject(BLACK_BRUSH));

m_tab是控件对象,这里改变成了黑色

15,979

社区成员

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

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