双击左边树节点,在右边产生一个视图,当产生多个视图时,怎么实现切换视图时视图的重绘

Dreamcaihao 2012-10-19 09:31:24
我首先加载一副图片到一个视图上,左边悬浮窗有树节点,每个树节点代表一种处理图像的算法。当我双击树节点时,产生一个新的视图,并将该算法处理后的图像显示在新产生的视图中。当我双击多次树节点时,那就产生了多个视图,并且每个视图都是不同的算法处理后的图像。

问题1. 当双击树节点时,如何判断该算法处理图片的视图已经产生,并如何再将它设为活动窗口。
问题2. 当我切换视图时,每个视图要重绘,如何实现相应视图的图像的重绘。我现在只有一个视图类,切换试图时,在OnDraw函数里面怎么实现重绘不同算法处理后的图像?
...全文
140 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dreamcaihao 2012-10-20
  • 打赏
  • 举报
回复
嗯,谢谢上面两位的回答。。。
wangyangmoc 2012-10-19
  • 打赏
  • 举报
回复
上面错了……直接SetItemData的时候传入视图的指针就行,不用设置标志。发现有指针就setActiveView()
wangyangmoc 2012-10-19
  • 打赏
  • 举报
回复
问题1:CTreeCtrl::SetItemData(HTREEITEM hItem, DWORD_PTR dwData );CTreeCtrl::GetItemData(HTREEITEM hItem )
创建2个int变量作为标志,一个0一个1;初始化全部传进0的地址。创建视图后改为1的,以后只要用第二个函数检测标志就行。
问题2;每产生一幅图像会新建个视图,那么就个这个视图增加位图变量,在Ondraw绘制这幅图像就行。每个视图都会绘制自己的图像的,关于重绘操作系统会给你处理的
Eleven 2012-10-19
  • 打赏
  • 举报
回复
你双击树节点的时候可以建立一个关联,比如定义一个数据结构
typedef struct xxxx
{
HWND hWnd;
HTREEITEM hTreeItem;
};说将某一个HTREEITEM与视图窗口关联起来,比如当视图窗口窗口完成以后,关联视图窗口与对应的树节点。当然你需要动态维护这个数组或者链表结构。

15,979

社区成员

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

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