动态创建透明的CRichEditCtrl

finder_zhang 2010-08-26 09:41:57
我有一个继承自CWnd的窗,在上面画图的,现在要实现在图上写字的功能.
想在鼠标点击后,于窗上动态创建CRichEditCtrl,并且让该控件透明,可以看到底下所画的内容.

不知道怎样可以做到,之前在论坛里看到 赵杨 (用户名:Jcily) 发的一个 CAutoRich 类,但不太会用.
...全文
267 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
finder_zhang 2010-08-26
  • 打赏
  • 举报
回复
回4楼,WS_EX_TRANSPARENT加了没用,另外网站里的DEMO程序我下来看,并没有看到透明的功能啊.能帮我试清楚一下吗?
finder_zhang 2010-08-26
  • 打赏
  • 举报
回复
回3楼,不想要半透明的效果,想做到WINDOWS画图那个差不多的功能,后面的可以看到,前面Rich写的字,就直接盖上去.
kalrey 2010-08-26
  • 打赏
  • 举报
回复
想办法弄到对话框背景的bitmap,我想你肯定是用位图做背景吧,然后在对话框的OnCtlColor里把控件对应的这块Rect的bitmap取到(应该会吧,用dc),然后把用这块位图创建控件的画刷返回,记得这些工作放到对话框的OnCtlColor做
以上方法没用经过试验,不过应该没问题,个人YY,不是为分而来
kalrey 2010-08-26
  • 打赏
  • 举报
回复
在群里就告诉过你,直接把对话框的背景画刷对应的那块弄过来当背景画刷。。。
你丫的那天居然弄个NULL_BRUSH...你都不让重绘了啊。。。
jieleiping 2010-08-26
  • 打赏
  • 举报
回复
还有这个WS_EX_TRANSPARENT不知道行不行,没试过。。。
jieleiping 2010-08-26
  • 打赏
  • 举报
回复
http://www.codeguru.com/cpp/controls/richedit/article.php/c2407/Transparent-RichEditCtrl.htm
向立天 2010-08-26
  • 打赏
  • 举报
回复
你可以考虑这样
把RichEdit放到一个对话框上
然后通过SetLayerWindowAtrribute设置对话框透明
这样RichEdit不就透明了
wgm001 2010-08-26
  • 打赏
  • 举报
回复
这个还真有点难度.不过可以用别的办法实现,如:
在你的CWnd的窗上面再创建一个窗口,这个可以实现透明,叠在你的窗口上面.

finder_zhang 2010-08-26
  • 打赏
  • 举报
回复
请一定要给出测试过成功的代码.我试过代码成功了,一定结帖结分.
finder_zhang 2010-08-26
  • 打赏
  • 举报
回复
问题算是解决了,原来只要加上 WS_EX_TRANSPARENT 就行,但是在控件上点属性设透明,不行的.
用CreateEx 加上 WS_EX_TRANSPARENT 还是不行.
要建好后,再用 ModifyStyleEx 来改才行.

15,977

社区成员

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

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