视图类内 在CListCtrl控件中双击缩略图弹出大图
来源:互联网 发布:启明星软件 功能 编辑:程序博客网 时间:2024/06/14 04:11
1新建一个对话框,用来显示图片
在头文件ShowPicDialog.h中添加
public:afx_msg void OnPaint();virtual BOOL OnInitDialog();public:TCHAR* path;//要显示图片的路径CImage m_pimgage;
在ShowPicDialog.cpp中添加
void ShowPicDialog::OnPaint(){CRect rc;GetClientRect(rc);CPaintDC dc(this); // device context for paintingdc.SetStretchBltMode(HALFTONE);HDC hDC = dc.GetSafeHdc();m_pimgage.Draw(hDC, rc);}BOOL ShowPicDialog::OnInitDialog(){m_pimgage.Load(path);//获取图像对象int img_width = m_pimgage.GetWidth();int img_height = m_pimgage.GetHeight();double width_height_rate = (double)img_width/(double)img_height;int max_width_height = max(img_height,img_width);if(max_width_height > 800){if(img_height> img_width){img_width = (int)(img_width*800/(double)img_height); img_height = 800;}else{img_height = (int)(img_height*800/(double)img_width);img_width = 800;}}SetWindowPos(NULL, 100, 100, img_width, img_height, SWP_SHOWWINDOW);return TRUE;}
2 添加双击响应函数(视图类头文件为ListDemoView.h)
在ListDemoView.h中添加
afx_msg void OnItemClickListctrl(NMHDR* pNMHDR, LRESULT* pResult);//处理双击问题
在ListDemoView.cpp中添加
BEGIN_MESSAGE_MAP(CListDemoView, CView)......ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST_DIVISION, OnItemClickListctrl)//处理item双击问题END_MESSAGE_MAP().......void CListDemoView::OnItemClickListctrl(NMHDR* pNMHDR, LRESULT* pResult) //处理item双击事件{NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;if(pNMListView->uChanged==LVIF_STATE){if(pNMListView->uNewState & LVIS_SELECTED){int nItem=pNMListView->iItem;//获取点中的项目编号CString imagepath_t;imagepath_t = pathset[nItem].c_str();//所有的图片绝对路径存放在vector<string>pathset中,此处为找到相应路径 TCHAR* imagepath = new TCHAR[50];imagepath = imagepath_t.GetBuffer(imagepath_t.GetLength());//cstring convert to tchar*imagepath_t.ReleaseBuffer();ShowPicDialog Spic;//新建用来显示图片的对话框对象Spic.path = imagepath; Spic.DoModal(); }}}
0 0
- 视图类内 在CListCtrl控件中双击缩略图弹出大图
- 在分割的视图内实现CListCtrl控件 结合CImageList实现图片的自动排列显示
- Android---文本中缩略图点击弹出大图效果实现
- MFC 双击picture控件后弹出另外一个对话框,显示大图的策略
- Android 缩略图点击弹出大图效果实现
- 一个SDI程序基于CFormView视。上面放一个CStatic控件,给视图添加双击消息,运行程序后,双击视图,会有弹出消息响应。 但是双击CStatic类控件,却没有响应
- Android开发之文本中缩略图点击弹出大图效果实现
- 列表视图控件 CListCtrl《转》
- jsp中点击图片在弹出层显示大图
- jsp中点击图片在弹出层显示大图
- 列表视图控件List Control以及CListCtrl类
- 在自绘CListCtrl控件中添加CSliderCtrl控件
- 在VC++ with BCG中实现双击标签关闭视图
- VC MFC列表视图(CListCtrl)控件
- VC MFC列表视图(CListCtrl)控件
- 点击图片在弹出层显示大图
- 在列表视图控件中插入图标
- VC中为clistctrl右键弹出菜单
- hdu 4858 容器的简单模拟
- Android ViewPager 中使用pagerAdapter
- 450A - Jzzhu and Children 找规律也可以模拟
- The best career advice I’ve received
- framework启动流程之android应用程序
- 视图类内 在CListCtrl控件中双击缩略图弹出大图
- IOS-设置照相机,SearchBar等按钮为简体中文
- javaweb+jasperreports报表+struts2
- android基础笔记:内容提供者及访问(ContentProvider、ContentResolver)
- HDU 4737 A Bit Fun
- RSA算法趣解及C实现(代码,实例,验证过程)
- 不要做一个浮躁的程序员
- hdu 1950
- XCode5显示行号