我就在透明窗体上面绘制过,也能做成悬浮框。 透明窗体就用SetLayeredWindowAttributes,缺点是不能让其成为子窗体。否则,透明效果失效。 你悬浮窗体用WM_LUBTTONDOWN的消息 SendMessage( WM_NCLBUTTONDOWN, HTCAPTION, MAKELPARAM( point.x, point.y ) ); ……
已经实现!三层窗口,一层全透明的用来显示,一层透明度为1的用来捕获鼠标事件,最上面一层是悬浮的工具条窗口,使用的都是SetLayeredWindowAttributes,捕获到的时间通过消息机制传递到全透明窗口,全透明窗口根据接收到的坐标数据绘制图形。
关键是我设置为半透明时,画出来的痕迹也是跟窗体的透明度一样是半透明的!我想要的是画出来的是不透明的,所以想知道你是怎么画的!http://o22azq.sn2.livefilestore.com/y1mCxX1PG-my972ejesnFfQLmh3stnpANwjScPVnIKc2MOOHDhM_wE4akL8zhvh_ca4QQCIjp6GqhQhmVlcle6Anl……
全透明的窗体捕获不到鼠标事件!所以用钩子啊!你不用钩子,你是怎么实现鼠标在透明窗体上移动绘制图型的呢? 除非你绘制的图形也是全透明的,我没招以外,我绘制的图形用控件,凭啥接收不到消息呢? 而且干嘛全透明,5-10的透明度(0-255)也能点到窗体的。
区域是什么呢?最简单的无非就是个CRect 而仿显存无非就是个CDC+CBitmap 窗口就是一棵数,显示就是子子孙孙把他们自己的仿显存数据拷贝到父亲的仿显存 到桌面这个老祖宗窗口后,一次性拷贝到真显存,如此而已 有了这个理解,为啥就不能直接弄几个CDC+CBitmap来实现呢? CDC直接的透明不透明都是自己说了算 而你直接用他定义好的窗口类,不……
哎,又一个中毒的兄弟 慢慢挣扎,总有一天,你会从微软的套套爬出来的 那时候,你一定会包涵沧桑而又满怀激动的对SetLayeredWindowAttributes说: 呸!
15,979
社区成员
115,896
社区内容
加载中
试试用AI创作助手写篇文章吧