关于坐标绘图的问题?
http://images.sonicalbum.com/upload_772/myphotos/_robinhood_test.jpg
这是贴图
已经知道:大窗口是view窗口
点的横纵轴坐标存放在doc中
要求:
中间白色区域用于绘图,黄色区域用于显示横纵坐标且黄色区域的边条宽度大小固定.
view窗口改变大小时可以准确重绘.
坐标的显示,窗口变大,适当调整精度
难点:
白色区域绘制 和 坐标的显示
各位给点建议,小弟不甚感激!
问题点数:100、回复次数:7Top
1 楼YufengShi(浪子)回复于 2005-05-12 08:57:17 得分 0
upTop
2 楼zengwujun(月之海 为linux入门奋斗100天)回复于 2005-05-12 09:11:37 得分 0
upTop
3 楼krh2001(边城浪子)回复于 2005-05-12 09:23:18 得分 30
1) 填充黄底色
2) 画中间白色区域
3) 外部坐标短线
4) 文本
5) 内部格子线
6) 数据点
--------------
画这个不难吧?Top
4 楼laogong(老臭虫)回复于 2005-05-12 09:32:29 得分 20
在黄色背景上画一个白色矩形,对于矩形内的画图可以采用区域画图
坐标显示很简单,计算好矩形跟边框的距离可在ondraw中画
我目前弄得跟楼主的有点相似Top
5 楼handwolf(青松崖)回复于 2005-05-12 09:33:36 得分 10
1) 填充黄底色
2) 画中间白色区域
3) 外部坐标短线
4) 文本
5) 内部格子线
6) 数据点
--------------
同意!
精度的变化你可以截取窗口大小变化的消息,然后处理!Top
6 楼YufengShi(浪子)回复于 2005-05-12 10:03:06 得分 0
填充黄底色,怎么实现?
好象不能在OnDraw中实现
记得用sdk实现窗口时,是在注册类里定义它的背景色的Top
7 楼handwolf(青松崖)回复于 2005-05-12 10:37:10 得分 40
BOOL CXXXView::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CBrush brush (RGB (255 , 255 , 0) );
// select the brush into the device context .
CBrush* poldbrush = pDC->SelectObject(&brush);
// get the area that needs to be erased .
CRect rcclip;
pDC->GetClipBox(&rcclip);
//paint the area.
pDC->PatBlt(rcclip.left , rcclip.top , rcclip.Width ( ) , rcclip.Height( ) , PATCOPY );
//unselect brush out of device context .
pDC->SelectObject (poldbrush );
// return nonzero to half fruther processing .
return true;
}Top




