如下图,在棋盘右侧添加了Tab控件,做成属性页的样子,但出现了白边,很不美观:

后来发现,需要把Tab空间的Owner Draw Fixed 设置为TRUE。但问题又来了,属性页上的标题文字不显示了,结果如图:

继续搜索,原来需要重载CTabCtrl的DrawItem函数,事实上MFC是强制要求重载的,实际操作过程如下:

void CMyTabCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct){

//获取选项卡文字内容
TCHAR szTabText[100];
TC_ITEM tci;
memset(szTabText, '\0', sizeof(szTabText));
tci.mask = TCIF_TEXT;
tci.pszText = szTabText;
tci.cchTextMax = sizeof(szTabText)-1;
GetItem(lpDrawItemStruct->itemID, &tci);
//填充选项卡背景
CDC *dc = CDC::FromHandle(lpDrawItemStruct->hDC);

//绘制选项卡文字
RECT rc;
rc=lpDrawItemStruct->rcItem;
rc.top+=3;
dc->DrawText(tci.pszText,lstrlen(tci.pszText),&rc,DT_CENTER);
}

完成后如下图,就比较正常美观了:

终于知道如何使Tab控件的不出现白边的方法了的更多相关文章

  1. Android Tab控件简介

    在Android中,Tab控件是一种很常用的控件:Tab控件即标签页,可以在一页中切换显示N页内容: Tab控件具有两种实现过程,一是在同一个Activity中切换显示不同的标签页,这种主要是通过修改 ...

  2. 扩展easyUI tab控件,添加加载遮罩效果

    项目里要用HighChart显示图表,如果返回的数量量太多,生成图表是一个很耗时的过程.tab控件又没有显示遮罩的设置(至少本菜是没有找到), Google了一下,根据另一个兄台写的方法,拿来改造了一 ...

  3. NVelocity+Bootstrap tab控件 异常之

    异常信息:Encountered "tings" at line 54, column 55.Was expecting one of:   "(" ...   ...

  4. 使AspNetPager控件中文显示分页信息

    在日常的编程过程中,很多学员对于使AspNetPager控件中文显示分页信息不是很清楚,本文将由达内的老师为各位学员介绍一下使AspNetPager控件中文显示分页信息的内容. AspNetPager ...

  5. Web端的Tab控件在切换Tab时Load数据出错的处理

    我们在应用Web端的Tab控件时,不管是Jquery easyui的还是Ext的Tab控件都会遇到一个问题,在Tab1正在加载数据的时候我们切换到Tab2,再切换回来,Load数据的控件就会出错,出错 ...

  6. 开源框架之TAB控件

    我的开源框架之TAB控件   需求 (1)支持iframe.html.json格式的tab内容远程请求 (2)支持动态添加tab (3)支持远程加载完成监听,支持tab激活事件监听 (4)支持relo ...

  7. WPF下可编辑Header的Tab控件实现

    介绍 有这样一个需求,当用户双击Tab控件Header区域时, 希望可以直接编辑.对于WPF控件,提供一个ControlTemplate在加上一些Trigger就可以实现.效果如下: 代码 首先,我们 ...

  8. 网页Tab控件

    网页Tab控件 找到:http://www.open-open.com/ajax/2_Tabs.htm 页面,查看了若干Tab控件, 找到了:http://www.open-open.com/ajax ...

  9. 使用jQuery的tab控件

    以前写winform程序的时候tab控件是非常容易使用的,写网页时确费了我不少劲,主要原因是jQuery的混乱. 有很多前端控件都提供tab,像bootstrap等,这里只说jQuery的. 下载相应 ...

随机推荐

  1. EXT中导出表格中的数据到Excel

    { itemId: 'excel', text: '导出', iconCls: 'btnExportExcel', disabled: false, handler: function () { // ...

  2. HTML 贝塞尔曲线

    1.二次贝塞尔曲线 <canvas id="myCanvas" width="300" height="150" style=&quo ...

  3. 第一个简单的python程序,模拟购物车

    第一个pyhone程序,简单的购物车功能,刚开始学习,练习下手感. #/usr/bin/env python#-*- coding:utf-8 -*- salary = int(raw_input(& ...

  4. [STM32F429-DISCO-HAL]2.先学会点亮LED和使用LCD。。。

      首先就简单的一秒闪烁一次LED灯,进而类比推理其他外设的配置过程.然后呢我们就用上LCD吧,毕竟这块板上占地面积最大的就是这个2.4'LCD了.   先贴出简洁的main函数.很干净,比较容易看懂 ...

  5. MySQL 错误1418 的原因分析及解决方法

    具体错误:    使用mysql创建.调用存储过程,函数以及触发器的时候会有错误符号为1418错误.   ERROR 1418 (HY000): This function has none of D ...

  6. Matlab学习笔记(1)

    在帮助文档中查看学习视频的时候.出现以下对话框,不能查看 解决办法:   在系统环境变量中找到Path.添加“%SystemRoot%\system32;%SystemRoot%;%SystemRoo ...

  7. Android手机客户端测试点(全)

    网上看到一个整理比较完善的手机客户端测试:

  8. CSS层级关系

    http://www.blogbus.com/eskimo-logs/69626018.htmlhttp://www.dmtuan.com/?p=574

  9. Android开发之SoundPool使用详解

    使用SoundPool播放音效 如果应用程序经常播放密集.急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了.因为MediaPlayer存在如下缺点: 1) 延时时间较长 ...

  10. 【Linux】新建用户 用户组

      案例 hadoop #添加用户组 sudo useradd -s /bin/bash -g hadoop -d /home/hadoop -m hadoop #添加用户 sudo passwd h ...