MFC跑图库编程时的问题

CPAOTUKU2Dlg::OnBnClickedReadimage()
{
// TODO: 在此添加控件通知处理程序代码
    HTuple  width,heigth;Index=0;
HTuple  hv_ImageFiles;
    list_files("C:/Users/feng/Desktop/新建文件夹/凹陷",(HTuple("files").Append("follow_links")),&hv_ImageFiles);
    tuple_regexp_select(hv_ImageFiles,(HTuple("\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima)$").Append("ignore_case")),&hv_ImageFiles);
   
if (Index<= (hv_ImageFiles.Num())-1)
{
read_image(&m_Image, HTuple( hv_ImageFiles[Index]));
get_image_size(m_Image, &width, &heigth);
set_part(m_hWindowHandle, 0, 0, heigth - 1, width - 1);
disp_obj(m_Image, m_hWindowHandle);
Index=Index+1;
return;
}

}

     在读取图片按钮的消息映射函数中写程序时,为什么只会显示一张图片。罪魁祸首在Index=0;因为在定义的类成员变量下不可以直接定义Index=0;若编译会出现Index不是静态常量错误。但如果直接将Index=0写在CPAOTUKU2Dlg::OnBnClickedReadimage()下,跑图只能出现第一张,因为每点一下按钮就会执行这个函数,Index=0,永远为0,所以跑的永远是第一张图片。

解决办法:将Index=0;放到窗口初始化程序BOOL CPAOTUKU2Dlg::OnInitDialog()下。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值