Big Trouble!Vc6.0生成和VS 2005生成的程序,表现行为不一样!

innosilicon2009 2010-03-16 04:02:03
问题描述
1 窗体上有我自绘的两个MyList,继承自CCtrlList
2 两个MyList中都有ON_NOTIFY_REFLECT(NM_CLICK, OnClick),就是在我点中一下列表中的某一条,在列表条上绘画出一个“勾”
3 VC 6中:两个MyList中都有各自的ON_NOTIFY_REFLECT(NM_CLICK, OnClick),我点一下MyList1,再去点一下MyList2,那样就会有两个勾,MyList1上一个,MyList2上一个
VS 2005中:我点一下MyList1,MyList1上出现一个勾,我再去点MyList2,结果MyList1上的勾消失了,只有MyList2上有
4 为了重绘“勾”的效果(比如我点一下MyList1 上的第一条,第一条出现勾,再点第二条,第一条的“勾”就消去了,在第二条上重绘“勾”),我用了Invalidate(),Invalidate()在各自的MyList类中(不是在父窗口中)
5 现在问题看起来是,VC 6.0中的Invalidate(),比如MyList1中的Invalidate()只重绘MyList1
vs2005中的 Invalidate(),比如MyList1的Invalidate()不仅重绘了MyList1,也重绘了MyList2。
补充说明:
1 MyList1和MyList2同在一个父窗口中国内,但是Invalidate()在各自的MyList类中
2 因为VS2005连接的窗体资源,按钮资源比较好看,所以我需要用vs2005链接vs2005的控件资源

分析:
应该是VC 6.0 和 VS 2005链接的MFC库不一样,其中这个Invalidate()函数改了。有没有哪位朋友碰到过这种问题,有解决经验的?求教了,Big Trouble.
...全文
94 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
warriormark 2010-03-19
  • 打赏
  • 举报
回复
每天一顶
warriormark 2010-03-18
  • 打赏
  • 举报
回复
继续顶
innosilicon2009 2010-03-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 r3000 的回复:]
VC2005下控件成“组”了吧?
[/Quote]

怎么设置它们不是一组?
选择上两个,然后属性里面的"Group”么?可以选择 False 或者 True,描述是:
指定基于Tab键顺序的一组控件中的第一个控件“

本身的选择就是False,我"True”“False”都选了,问题依旧
康斯坦汀 2010-03-17
  • 打赏
  • 举报
回复
VC2005下控件成“组”了吧?
innosilicon2009 2010-03-17
  • 打赏
  • 举报
回复
大家都没有碰到过么。。
warriormark 2010-03-17
  • 打赏
  • 举报
回复
换马甲顶
innosilicon2009 2010-03-17
  • 打赏
  • 举报
回复
顶一下,跪求大拿。。。
这个问题对于我来说很棘手哇
innosilicon2009 2010-03-16
  • 打赏
  • 举报
回复
自己顶下

15,978

社区成员

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

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