MFC 控件

lishunbbf 2008-04-23 11:10:19
前面发了一个贴了,还是有点不明白:请教大家!!

在一个基于对话框的程序上,添加了一个picture控件,控件ID为IDC_STATIC;对话框上有个按钮“打开”,ID是IDC_Open
想用CFileDialog打开对话框打开硬盘上面的.BMP图片,并且显示在picture控件上面,

为一个picture 控件关联一个变量该怎样做啊?
下面是我个人的想法:求证!!

如果我的工程名为:Test(基于对话框的),会有CTestDlg和CTestApp两个类,

是不是应该在CTestDlg类中定义一个静态控件:CStatic m_bitmap;
然后在 BOOL CTestDlg::OnInitDialog()中把静态变量关联到控件:m_bitmap.SubClassDlgItem(IDC_STATIC,????);//这里该怎么写?????重点问题!!
最后再在“打开”按钮的响应函数中添加代码:
CString strFile="bmp Files(*.bmp)|*.bmp|All Files(*.*)|*.*|";
CFileDialog dlg(true,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,strFile);
dlg.DoModal();
m_Original=dlg.GetPathName();
HBITMAP hbmp = (HBITMAP)::LoadImage(NULL, m_Original, IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION |LR_LOADFROMFILE);
m_OriBitmap1.SetBitmap(hbmp);


希望各位大侠说得详细点,谢谢谢谢!!!!!
...全文
180 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
HeroAlur 2008-04-24
  • 打赏
  • 举报
回复
ClassWiazd->member variables->add variable
Eleven 2008-04-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wltg2001 的回复:]
关联变量可以用ClassWiazd
[/Quote]
Torch009 2008-04-24
  • 打赏
  • 举报
回复
程序里加Static控件时所有的ID都是IDC_STATIC,所以你要自己改一下。
hityct1 2008-04-24
  • 打赏
  • 举报
回复
1)控件ID IDC_STATIC最好换一个,否则容易冲突

2)关联变量可以用ClassWiazd 或者使用函数GetDlgItem(控件ID)就可以对控件操作
wltg2001 2008-04-24
  • 打赏
  • 举报
回复
关联变量可以用ClassWiazd
菜牛 2008-04-24
  • 打赏
  • 举报
回复
资源编辑器中,控件上点右键,选择添加变量。注意:
不要用IDC_STATIC作为控件ID。
正确选择添加控件变量或者值类型变量。
wqvbjhc 2008-04-23
  • 打赏
  • 举报
回复

CMyButton mybutton;
mybutton.SubclassDigItem(ID_BUTTON,pParent); //pParent是ID_BUTTON的父窗口指针,ID_BUTTON是一个CButton的ID

这时,你把mybutton 与ID_BUTTON关联,ID_BUTTON 发生的消息都由mybutton 接收,注意,mybutton是一个CMyButton,这是一种用法,方便控件定位。

一个SubclassDigItem的例子
wqvbjhc 2008-04-23
  • 打赏
  • 举报
回复
想要将变量关联到控件,用类向导就行了,不用为它写代码那么麻烦

15,979

社区成员

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

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