MFC对话框编程杂谈

  1. 区分BITMAP、CBitmap和HBITMAP

    ①BITMAP
      BITMAP是一个结构体,封装着bitmap的一些信息。定义了逻辑位图的宽高、颜色格式和位值。
    ②CBitmap
      CBitmap是MFC中封装bitmap的类,包含着被位图的属性和对位图的操作。
    ③HBITMAP
      HBITMAP是bitmap的句柄,也就是bitmap资源的标识。
    ④三者的联系
      通过CBitmap类的attach操作,可以将代表Windows资源的HBITMAP对象关联到CBitmap对象;
      通过CBitmap类的GetBitmap操作,可以得到CBitmap对象中封装的bitmap成员;
      通过CBitmap类的GetSafeHandle操作,可以得到CBitmap对象所关联的代表Windows资源的HBITMAP对象。

  2. 在控件上绘图
      可以在对话框资源中放置图片控件,并对其类型属性选Frame。可在对话框的绘图消息响应函数OnPaint或其他函数中,用CWnd类的函数GetDlgItem:CWnd* GetDlgItem( int nID ) const;来获得图片控件的窗口对象,再用函数GetDC:CDC* GetDC( );由窗口对象得到DC,然后就可以用该DC在控件中画图。
      CWnd *pWin = GetDlgItem(IDC_HUESAT);
      CDC *pDC = pWin->GetDC();
      pDC->SetPixel(i, j, RGB(r, g, b));
      在非Frame类静态控件上绘图,必须先按顺序依次调用CWnd类的Invalidate和UpdateWindow函数后,再开始用DC画图。如在一个ID为IDC_COLOR的按钮上绘图:
      CWnd* pWnd = GetDlgItem(IDC_COLOR);
      CDC* pDC = pWnd->GetD

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值