如何实现类似windows附件中画图的程序?高分奉送!

baby2seal 2003-05-12 10:55:42
我要实现的是一个SDI工程,我把屏幕分割成两个部分,其中右边和CRightView相关联,我要在右边区域内画图(只要能画矩形就可以),图形要能够保存。请问该如何实现?能否给点例子?谢谢,如果解决了这个问题另送200分!
...全文
71 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ffllyy 2003-05-13
  • 打赏
  • 举报
回复
想来不太难,现实长度的屏幕长度可以按一定比例显示,注意比率的转换。就ok了
dizzo 2003-05-13
  • 打赏
  • 举报
回复
在CRightView里定义CRect m_Rect;初始化为你想要的大小,然后在OnDraw里画:

void CRightView::OnDraw(CDC* pDC)
{
// create and select a solid blue brush
CBrush brushBlue(RGB(0, 0, 255));
CBrush* pOldBrush = pDC->SelectObject(&brushBlue);

// create and select a thick, black pen
CPen penBlack;
penBlack.CreatePen(PS_SOLID, 3, RGB(0, 0, 0));
CPen* pOldPen = pDC->SelectObject(&penBlack);

// draw a thick black rectangle filled with blue
pDC->Rectangle(m_Rect);

// put back the old objects
pDC->SelectObject(pOldBrush);
pDC->SelectObject(pOldPen);
}

屏幕坐标是按像素来的。
baby2seal 2003-05-13
  • 打赏
  • 举报
回复
sorry,也许我没有说道很清楚,我的主要目的是模拟现实中的一个矩形,因此这个矩形包含有长宽等信息,例如,一个长5m宽3m的桌面,如何在屏幕上表示出来,如何处理现实长度和屏幕长度?
丁淇石头 2003-05-13
  • 打赏
  • 举报
回复
要是只画矩形的话,不用那么复杂。直接用MoveTo、LineTo画就行了,保存时也不用保存为图形,可以保存其左上角和右下角的坐标。
baby2seal 2003-05-12
  • 打赏
  • 举报
回复
求救,难道没有人回应吗?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧