123456

 

2011年9月8日

listctrl绘制

摘要: 犯了一个小错,水平滚动时出现文字重影,所以改了下:错误在于,在遍历列时,我用 CRect rcColumn; GetHeaderCtrl()->GetItemRect(i, &rcColumn);这是错误的,因为一旦水平滚动时,这样得到的rcColumn就会不确定,因为rcColumn是得到绘制区域left,right,这两个值不停变化,从而产生文字的重影所以改了下,改用GetColumn,因为它得到的是width,在水平滚动时,width是不会变化的。代码如下: CDC dc; CRect rc; dc.Attach(lpDIS->hDC); rc = lpDIS-> 阅读全文

posted @ 2011-09-08 20:27 hgy413 阅读(176) 评论(0) 推荐(0) 编辑

自适应图片

摘要: 有时我们在一个区域绘制一张图片,如果强制绘制,会失图片失真,所以自己写了一个简单算法,计算在当前区域下,按图片比例显示的区域为多大,居中代码如下:BOOL MeetRect(CRect &rc, CSize szPic){ int x, y, w, h; int nWidth = rc.Width(); int nHeight = rc.Height(); if(nWidth > 0 && szPic.cx > 0) { // Get Meet Rect if(szPic.cx > nWidth || szPic.cy > nHeight) { 阅读全文

posted @ 2011-09-08 11:05 hgy413 阅读(137) 评论(0) 推荐(0) 编辑

Gdi+ drawstring

摘要: 1.犯了一个错误:Brush(RGB(255,0,0));这样写程序不会报错,然后很悲剧的怎么也显示不出文字,记录下,以后不要再犯了。自己写的示例代码:CPaintDC dc(this); Graphics g(dc.GetSafeHdc()); //--------------------------------------- // fontFamily第一个参数是用来定义 // 宋体、楷体、仿宋、黑体、隶书以及幼圆等多种字样 // 特别说明:Gdi+不支持OpenType字体,吃了一次亏了 //--------------------------------------- F... 阅读全文

posted @ 2011-09-08 09:16 hgy413 阅读(1224) 评论(0) 推荐(0) 编辑

导航