VS 2005 基于对话框 点击图片 弹出窗口
时间:2011-12-13
来源:互联网
VS2005中,基于对话框的程序:
我作了一个界面,包括很多Picture Control控件,加载了很多BMP图。
现在想要实现的功能为:点击BMP图(也就是Picture Control控件),弹出一个对话框(模式的、无模式的都成)。
问题是:Picture Control控件没有Click事件,因此,不知道如何实现?
或者如果不能实现,有没有其它的方案,可以间接实现我想要的效果(就是可以加载很多图片,并且点击可以弹出窗口)。
请各位大牛们,帮帮忙,如果问题得到圆满解决,加倍给分!
我作了一个界面,包括很多Picture Control控件,加载了很多BMP图。
现在想要实现的功能为:点击BMP图(也就是Picture Control控件),弹出一个对话框(模式的、无模式的都成)。
问题是:Picture Control控件没有Click事件,因此,不知道如何实现?
或者如果不能实现,有没有其它的方案,可以间接实现我想要的效果(就是可以加载很多图片,并且点击可以弹出窗口)。
请各位大牛们,帮帮忙,如果问题得到圆满解决,加倍给分!
作者: peter511 发布时间: 2011-12-13
Picture Control控件选中 SS_NOTIFY 属性vs2005中设置 NOTIFY 为TRUE
父窗口就可以接收STN_CLICKED 单击消息
可以用ON_COMMAND_RANGE 批量接收一批控件
ON_COMMAND_RANGE(id, idLast, memberFxn)
父窗口就可以接收STN_CLICKED 单击消息
可以用ON_COMMAND_RANGE 批量接收一批控件
ON_COMMAND_RANGE(id, idLast, memberFxn)
作者: gameslq 发布时间: 2011-12-13
那单击事件的编写函数要在哪里写呢?不好意思,我是新手
作者: peter511 发布时间: 2011-12-13
C/C++ code
BOOL CtestDlg::PreTranslateMessage(MSG* pMsg) { if (WM_LBUTTONDOWN == pMsg->message ) { if (GetDlgItem(IDC_STATIC1)->GetSafeHwnd() == pMsg->hwnd) { //这里处理谈对话框,可以postmessage给自己去处理,也可以直接函数调用 } } return CDialog::PreTranslateMessage(pMsg); } IDC_STATIC1是控件的ID,不要用默认的,另外Notify属性改成true
作者: dahaiI0 发布时间: 2011-12-13
1楼的方法更好,memberFxn有个参数,比如说
void CTest::memberFxn(UINT uID)
{
Switch(uID)
{
case ID_STATIC1:
//点了图片1,弹框处理
break;
case ID_STATIC2:
//点了图片2,弹框处理
break;
....
}
}
void CTest::memberFxn(UINT uID)
{
Switch(uID)
{
case ID_STATIC1:
//点了图片1,弹框处理
break;
case ID_STATIC2:
//点了图片2,弹框处理
break;
....
}
}
作者: dahaiI0 发布时间: 2011-12-13
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28