问个简单的问题:

happygirl_05 2006-03-02 10:57:31
CDC
CPaintDC
CBitmap
这些是干什么的,有什么连带关系吗
我画图,是把图像画到哪了,(是不是CDC上?),然后我怎样将画的图放到我指定的控件(比如:静态文本框)上啊


我不知道我是否说明白了,感觉自己都没说明白,不过还是希望大家帮帮我啊
...全文
82 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
happygirl_05 2006-03-02
  • 打赏
  • 举报
回复
如果你想画在CStatic控件上.可以用ouyh12345() 的方法.

然后在DrawItem这样做.
void C3dTextButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
// TODO: Add your code to draw the specified item
CDC* pDC=CDC::FromHandle(lpDrawItemStruct->hDC);
ASSERT_VALID(pDC);
CRect rectClient=lpDrawItemStruct->rcItem;
然后使用你得到的DC画图就可以了.
例如:
pDC->TextOut(...);
}


-----------------------------------------------------------------------------------
不应该用Bitblt()函数吗?
我看书上介绍,平移图形,好像可以用这个,但我没太看懂,不知道要平移到控件上,应该怎么做?
(我目前的思路是这个,没有考虑DrawItem(),要是用DrawItem()我恐怕还得从看相关知识)
YufengShi 2006-03-02
  • 打赏
  • 举报
回复
dc是和窗口关联的,
用dc画图,
就会在关联的窗口上反映出来。
一个傻冒 2006-03-02
  • 打赏
  • 举报
回复
如果你想画在CStatic控件上.可以用ouyh12345() 的方法.

然后在DrawItem这样做.
void C3dTextButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
// TODO: Add your code to draw the specified item
CDC* pDC=CDC::FromHandle(lpDrawItemStruct->hDC);
ASSERT_VALID(pDC);
CRect rectClient=lpDrawItemStruct->rcItem;
然后使用你得到的DC画图就可以了.
例如:
pDC->TextOut(...);
}
ouyh12345 2006-03-02
  • 打赏
  • 举报
回复
画在dc的客户区

在指定的控件上画:重载控件,然后在DrowItem上画
happygirl_05 2006-03-02
  • 打赏
  • 举报
回复
CPaintDC 是继承自CDC
如果定义了CDC的对象
CDC dcMem;
必须创建出来
dcMem.CreateCompatibleDC(NULL);
然后创建CBitmap对象
CBitmap bmp;
bmp.CreateCompatibleBitmap(NULL, 0, 0);
把bmp选进DC,方可使用DC
dcMem.SelectObject(&bmp);
现在才可以使用DC去画

------------------------------------------------------------------------------------
谢谢你

那么用DC去画,去画到哪了(是bmp吗)?
然后我想将图形显示在指定的控件上,应该怎么做?

syy64 2006-03-02
  • 打赏
  • 举报
回复
CDC
CPaintDC
是绘图的类;
CBitmap
是处理位图的类。
AlbortEinstein 2006-03-02
  • 打赏
  • 举报
回复
CPaintDC 是继承自CDC
如果定义了CDC的对象
CDC dcMem;
必须创建出来
dcMem.CreateCompatibleDC(NULL);
然后创建CBitmap对象
CBitmap bmp;
bmp.CreateCompatibleBitmap(NULL, 0, 0);
把bmp选进DC,方可使用DC
dcMem.SelectObject(&bmp);
现在才可以使用DC去画

15,979

社区成员

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

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