Activex小问题,搞了一个星期都没出来,郁闷死...

时间:2021-09-08 20:31:03
用MFC向导生成个Activex工程,并在CXXXCtrl::OnCreate里创建一标签:
    ...
m_stcRect.Create(_T("Sample"),WS_VISIBLE|WS_CHILD|SS_NOTIFY,CRect(0,0,20,10),this,3000);
    ...
现想在点击该Static时在其上加个边框,因此在响应其单击函数中加入:
    ...
m_stcRect.ModifyStyle(0,WS_BORDER,SWP_DRAWFRAME);
Invalidate();
    ...
  编译生成OCX后应用于网页,没能如愿。当单击该标签时边框一闪就没了,
只有把网页最小化后还原才看到边框,或用别的窗口档住该标签再移开也可以。
知道是重绘问题,可就是解决不了。望大家帮帮小弟一把,谢谢。

10 个解决方案

#1


我好像也遇到了这种问题。

估计会不会是static自己的问题?

#2


可以换种思路解决,自己用framerect自己画边框

#3


InvalidateRect(NULL);

#4


晕,Invalidate() 就是 InvalidateRect(NULL)

#5


第一次弄ActiveX就遇上这问题,太打击我了....
我在普通的EXE程序中弄都正常得不得了,哎。
谢谢大家的关注。
sycnick(李小虾),framerect是什么?难不成要自己画框框??

#6


我只不过是想做个类似点击选中再点击取消选中的效果...

#7


是的,自己画框

#8


自己画框,其实也用不了多少代码

#9


自己画框虽然可行,要考虑重绘、滚动等问题。
呵呵,这问题惊动了两位星级人物各准星级的小虾,谢谢。
再等等,看有没有标准答案...

#10


自画完成,谢谢。

#1


我好像也遇到了这种问题。

估计会不会是static自己的问题?

#2


可以换种思路解决,自己用framerect自己画边框

#3


InvalidateRect(NULL);

#4


晕,Invalidate() 就是 InvalidateRect(NULL)

#5


第一次弄ActiveX就遇上这问题,太打击我了....
我在普通的EXE程序中弄都正常得不得了,哎。
谢谢大家的关注。
sycnick(李小虾),framerect是什么?难不成要自己画框框??

#6


我只不过是想做个类似点击选中再点击取消选中的效果...

#7


是的,自己画框

#8


自己画框,其实也用不了多少代码

#9


自己画框虽然可行,要考虑重绘、滚动等问题。
呵呵,这问题惊动了两位星级人物各准星级的小虾,谢谢。
再等等,看有没有标准答案...

#10


自画完成,谢谢。