CFont的问题和一个郁闷我两天的Commobox背景色的问题

1.如果是GDI绘制使用,需要选入(SelectObject)DC;如果是设置控件字体,用SetFont

2.为了指定FORMVIEW中部分文字的输出风格,写了个Set_Font(),在做改变static的背景色的时候,发现变化和预定义的不一致,原来是Cfont定义的是局部变量,在函数返回时就销毁,将m_Font修改成成员变量就OK

3.commbox当被选中时可以看到显示的问题,但是一旦不被设为焦点,就会发现白色一片,没有被显示

做了个测试程序,发现它与static的背景色始终一致,一直没有解决的办法,今天突然悟到,可能在OnCtlColor函数中将static的背景色和text色都设置成白色,一看代码,O FT,原来真的pDC->SetTextColor( RGB( 255,255,255) ),将它改成pDC->SetTextColor( RGB( 0,0,0) ) 就OK了

4.CListCtrl控件,当ITEM的宽度比较大时候,水平滚动条会出现,对于同样高度的LISTCTRL控件来讲,有滚动条和无滚动条时,你会发现m_List.GetClientRect(rect),rect.Hight不一样,原因是因为有水平滚动条时,rect区域不包含滚动条的区域.滚动条属于CScrollbar类.

CScrollBar * pbar = m_List.GetScrollBarCtrl(SB_HORZ);//垂直用SB_VERT

判断listctrl是否出现垂直滚动条:if(m_List.GetItemCount > m_List.GetCountPerPage())即出现水平滚动条

判断是否出现水平滚动条:m_List.GetClientRect(rect)

       if(总标题列宽度 > rect.Width()),即出现水平滚动条

类似的ListCtrl的标题属于CHeaderCtrl类

以后一定要细心,再细心  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值