WEB开发网
开发学院软件开发VC VC中如何在对话框上显示位图 阅读

VC中如何在对话框上显示位图

 2008-11-13 19:30:18 来源:WEB开发网   
核心提示: 打开VC,新建一个基于对话框的工程(主要是为了说明方便),VC中如何在对话框上显示位图(2),删除掉对话框上其他的东西(按钮和LABEL),在对话框上单击右键,还是在初始化中,代码如下:m_ctrlPicture.SetImage("c:windowsClouds.bmp&quo

打开VC,新建一个基于对话框的工程(主要是为了说明方便),删除掉对话框上其他的东西(按钮和LABEL),在对话框上单击右键,单击Insert Activex control… 选择Kodak图象编辑控件,大小任意。

在对话框上选中该控件,打开view|classwizard,单击Member Variables,点击Add Variable…按钮,系统会弹出一个对话框,大体上是提示你它要把控件加入工程中了,确定即可。在接下来的对话框上继续点击OK,此时,会出现一个对话框,提示你输入变量名,输入你想要的名字即可。我们输入m_ctrlPicture。单击确定。

此时你的工程中已经有了一个名字为m_ctrlPicture的控件,接下来就可以利用它来显示图片了,我们把它加到对话框的初始化中。单击ClassWizard,选择OnInitDialog,单击Edit Code按钮。

在OnInitDialog中,找到// TODO: Add extra initialization here,在下面加入如下代码:

 m_ctrlPicture.SetImage("c:windowsClouds.bmp");
  m_ctrlPicture.Display();

编译运行,看到了吗?就这么简单。

但是它的大小却是固定的,要看全图只能利用滚动条。下面我们再来得到图象的尺寸,然后使对话框自动适应图象的大小。还是在初始化中,代码如下:

  m_ctrlPicture.SetImage("c:windowsClouds.bmp");
  const int nAddConst=40;
  //图象尺寸不会正合适,需要加点增量。
  long lPictureWidth=m_ctrlPicture.GetImageWidth();
  long lPictureHeight=m_ctrlPicture.GetImageHeight();
  MoveWindow(0,0,lPictureWidth,lPictureHeight,true);
    //改变对话框大小
    //改变控件的大小
  m_ctrlPicture.MoveWindow(0,0,lPictureWidth,
  lPictureHeight+nAddConst,true);
  m_ctrlPicture.Display();

Tags:VC 如何 对话框

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接