hur.cn - 华软网

 热门搜索

MFC picture 控件画图问题

  作者:未知    来源:网络    更新时间:2011/4/16
我想在对话框的picture控件上当鼠标单击的时候画上一个像素点,然则没所有反应,以下是在对话框的OnLButtonDown函数里的代码,对于MFC我是菜鸟中的菜鸟,列位大侠帮帮我吧!
  CRect rect;
  CWnd* pWnd = GetDlgItem(IDC_PIC1); 
  pWnd->GetClientRect(&rect);
  CDC* pDC = pWnd->GetDC(); 
  pDC->SetPixel(point,RGB(0,255,0));
  pWnd->InvalidateRect(&rect);   
  CDialog::OnLButtonDown(nFlags, point);
---华软 网友回答---
能够画出来啊
可能是点太小了,你没看清
注意看你的光标图标的下面
---华软网友回复---
真没有……是否是还需要在onpaint里面写点东西呢?
---华软网友回复---
pDC->SetPixel(point,RGB(0,255,0));

  pDC->MoveTo(point.x+1,point.y);
  pDC->LineTo(point.x+100,point.y);

你注意看看画出来的线前面有没有绿点
---华软网友回复---
我重新建了一个工程,能画出来了!不过鼠标点击的地方和最终画出来的点相距很远……
刚刚那个没有显示出来,应该也是坐标的问题


谢谢 King_hhuang!

---华软网友回复---
你TextOut输出一行文字出来看看,看看有没有,另外你最后没有ReleaseDC来释放
---华软网友回复---
引用 2 楼 leenf 的回复:
真没有……是否是还需要在onpaint里面写点东西呢?
要通过ScreenToClient或ClientToScreen两个函数把坐标系规范成客户区坐标
---华软网友回复---
引用 6 楼 xianglitian 的回复:
引用 2 楼 leenf 的回复:

真没有……是否是还需要在onpaint里面写点东西呢?
要通过ScreenToClient或ClientToScreen两个函数把坐标系规范成客户区坐标

这个不用,它的pDC就是根据图片控件的CWnd::GetDC()获得的
---华软网友回复---
谢谢列位大侠,我明白了!      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。