如何在CStatic 控件上划一根线? 在对话框窗口上有个CStatic 控件(id=static1),如何在控件的中间划一根横线,长度正好等于控件长度??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 moveto(...)lineto(...)就行了。你可以在重画对话框的时候调用这两个函数,不过,你要知道static1的具体位置。 楼主是要做一个分割线?(在程序中画的话,就用贴图了。用StretchBlt)如果再设计阶段就可以固定画好的话。就改用Picture控件,设置属性Gernal->Type:rectangle然后改变控件大小,使其跟线差不多大小就可以了。很方便。 CWnd *pWnd = GetDlgItem(IDD_XXX)//控件ID...CDC *pDC = pWnd->GetDC();CRect StaticRect;pWnd->GetClienRect(&StaticRect)//获取控件矩形.然后就随便乱画吧....^_^pDC->xxxxx(xxxxxxx)pDC->xxxxx(xxx,xxxx)画完记得:pWnd->ReleaseDC(pDC);.. 画横线:pDC->MoveTo(0,StaticRect.Height()/2);pDC->LineTo(StaticRect.Width(),rc.Height()/2); 行啊,刚画完条竖线:pDC->MoveTo(StaticRect.Width()/2,0);pDC->LineTo(StaticRect.Width()/2,Staticrect.Height());以上ok~~画横线也行:pDC->MoveTo(0,StaticRect.Height()/2);pDC->LineTo(StaticRect.Width(),StaticRect.Height()/2);上面那个rc.Height()写错了~~ 完整的:CWnd *pWnd = GetDlgItem(IDD_XXX)//获取控件ID指针...CDC *pDC = pWnd->GetDC();//获取DCCRect StaticRect;pWnd->GetClientRect(&StaticRect)//获取控件矩形.//画竖线pDC->MoveTo(StaticRect.Width()/2,0);pDC->LineTo(StaticRect.Width()/2,StatiRect.Height());//画横线pDC->MoveTo(0,StaticRect.Height()/2);pDC->LineTo(StaticRect.Width(),StaticRect.Height()/2);//变成正中十字了 ..pWnd->ReleaseDC(pDC);//释放DC VC++中如何对位进行检测呢? 用vc怎么在SQLSERVER中创建数据库.删除数据库? 在VC中怎么用汇编来实现开平方运算?在线等 大侠,救命!!! 鼠标左键按下(未放手)编辑框的滚动条任意区域(或者拖动游标块)时,想在这时加入代码,该如何做? setup 关于 Sygate 以及代理服务器的问题 用mfc文件打开一张图片 显示不全 怎样加滚动条 控件ID有何用? 有那些CA认证,浏览器数据安全方面的好网站? 怎么样才能动态的对一个指针再追加一部分内存? LIBID_Xxx是作什么用的?
lineto(...)就行了。你可以在重画对话框的时候调用这两个函数,不过,你要知道static1的具体位置。
(在程序中画的话,就用贴图了。用StretchBlt)如果再设计阶段就可以固定画好的话。
就改用Picture控件,设置属性Gernal->Type:rectangle
然后改变控件大小,使其跟线差不多大小就可以了。很方便。
CDC *pDC = pWnd->GetDC();
CRect StaticRect;
pWnd->GetClienRect(&StaticRect)//获取控件矩形.
然后就随便乱画吧....^_^
pDC->xxxxx(xxxxxxx)
pDC->xxxxx(xxx,xxxx)
画完记得:
pWnd->ReleaseDC(pDC);..
pDC->MoveTo(0,StaticRect.Height()/2);
pDC->LineTo(StaticRect.Width(),rc.Height()/2);
pDC->MoveTo(StaticRect.Width()/2,0);
pDC->LineTo(StaticRect.Width()/2,Staticrect.Height());
以上ok~~
画横线也行:
pDC->MoveTo(0,StaticRect.Height()/2);
pDC->LineTo(StaticRect.Width(),StaticRect.Height()/2);
上面那个rc.Height()写错了~~
CWnd *pWnd = GetDlgItem(IDD_XXX)//获取控件ID指针...
CDC *pDC = pWnd->GetDC();//获取DC
CRect StaticRect;
pWnd->GetClientRect(&StaticRect)//获取控件矩形.
//画竖线
pDC->MoveTo(StaticRect.Width()/2,0);
pDC->LineTo(StaticRect.Width()/2,StatiRect.Height());
//画横线
pDC->MoveTo(0,StaticRect.Height()/2);
pDC->LineTo(StaticRect.Width(),StaticRect.Height()/2);
//变成正中十字了 ..
pWnd->ReleaseDC(pDC);//释放DC