当前位置: 代码迷 >> 嵌入开发 >> vs2005平添位图
  详细解决方案

vs2005平添位图

热度:1366   发布时间:2013-02-26 00:00:00.0
vs2005添加位图
新手有几个问题想请教下:
(1)我添加picture控件时,picture控件大小可以拖动改变么?拖不动,图片加进只能显示一部分;
(2)载入位图时如果采用下列程序,位图的一部分将会把整个对话框填满。现在我需要的是在某个控件里做位图,比如说只在对话框上一个只读编辑框里显示位图,该怎么做呢?
vc picture控件.通过背景图

先载入一张图片,ID为IDB_BITMAP2

TestDlg.h中

CBrush m_brBk;//在public中定义 

TestDlg.cpp中

在初始化函数OnInitDialog()中加入:

BOOL CTestDlg::OnInitDialog()

{

                CDialog::OnInitDialog();

CBitmap bmp;

bmp.LoadBitmap(IDB_BITMAP2);

m_brBk.CreatePatternBrush(&bmp);

bmp.DeleteObject();

return TRUE;   // return TRUE   unless you set the focus to a control

}



在打开类向导,找到WM_CTLCOLOR消息,重载得对应函数OnCtlColor(),添加如下:

HBRUSH   CTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 

{

                HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

                if (pWnd == this)

{

     return m_brBk;

}

        return hbr;

}

(3)在位图上画坐标网格采用划线的形式么?我想以位图中心(显示在控件中的位图)作为坐标中心点,该怎么做呢?
------最佳解决方案--------------------------------------------------------
1 编辑模式下Picture控件,激活外边框就可以拖动

2 从CStatic派生一个新类,想怎么画就怎么画

3 两个矩形,中心对齐,数学的方法就可以
  相关解决方案