pThumbnailBox_human->RemoveAllImage(); 然后重新AddImage() 然后pThumbnailBox_human->Invalidate();
按钮的响应里有没有绘制代码,还是只是调了Invalidate()?
因为滑动会引起Invalidate导致整个窗口重画,我以前是全部画出来的,你现在搞成Static我真心没懂为啥非要搞个Static你才能显示文字,画上去不就完了吗。只要滚动了,就会引发整个窗体重绘,你设置单双显示应该把这个开关设成成员变量,在OnPaint里去根据这个开关来设置显示行数,你如果在RadioButton的OnClick里用CClientDC来绘制是不行的,我不知道你如何处理的逻辑
[quote=引用 28 楼 pcradio 的回复:] 你应该把pThumbnailBox_human声明成员变量,OnInitDialog里面new CThumnailBox,然后做初始化添加AddImage,之后你按钮的操作只需要RemoveAllImage你之前添加的图片,然后AddImage添加新图片,再pThumbnailBox_human->Invalidate刷新就可以了,不要重新创建
你应该把pThumbnailBox_human声明成员变量,OnInitDialog里面new CThumnailBox,然后做初始化添加AddImage,之后你按钮的操作只需要RemoveAllImage你之前添加的图片,然后AddImage添加新图片,再pThumbnailBox_human->Invalidate刷新就可以了,不要重新创建
[quote=引用 21 楼 pcradio 的回复:] 因为滑动会引起Invalidate导致整个窗口重画,我以前是全部画出来的,你现在搞成Static我真心没懂为啥非要搞个Static你才能显示文字,画上去不就完了吗。只要滚动了,就会引发整个窗体重绘,你设置单双显示应该把这个开关设成成员变量,在OnPaint里去根据这个开关来设置显示行数,你如果在RadioButton的OnClick里用CClientDC来绘制是不行的,我不知道你如何处理的逻辑
assertion fail
[quote=引用 15 楼 Ryan890830 的回复:] [quote=引用 14 楼 pcradio 的回复:] Line:59的ASSERT()是我加上去的,如果你AddImage时图片路径不对或者文件格式有问题,就会触发,你检查AddImage时传入图片的路径
[quote=引用 17 楼 Ryan890830 的回复:] [quote=引用 16 楼 pcradio 的回复:] [quote=引用 15 楼 Ryan890830 的回复:] [quote=引用 14 楼 pcradio 的回复:] Line:59的ASSERT()是我加上去的,如果你AddImage时图片路径不对或者文件格式有问题,就会触发,你检查AddImage时传入图片的路径
19,468
社区成员
50,698
社区内容
加载中
试试用AI创作助手写篇文章吧