有拖动,放大,缩小选区。
关键是选区好像不是透明那么简单,单是透明的话,选区背后只能看不能摸,这个选区的背后没受影响,跟正常操作一样。不知道咋实现的。高手指点指点。

解决方案 »

  1.   

    o! 可以建个rgn,只有边上要响应鼠标操作的部分,setwindowrgn
      

  2.   

    rgn还是窗口吧,这个窗口怎么建,响应消息在哪里响应?除非选区是个窗口。。
      

  3.   

    是窗口啊!setwindowrgn就是搞窗口的。
      

  4.   

    很简单啊,就是一个只有边框的窗口呗其他地方都是透明的。用layer window 就是这样的效果嘛
      

  5.   

    这样的窗口,窗口背后能正常操作吗,有木有多点提示,DEMO。我先查资料试着实现看看。
      

  6.   


    可以正常操作你看一下UpdateLayeredWindow这个函数
      

  7.   

    你的意思是用setwindowrgn可以做是吗,有点糊涂。。,这个函数只是控制形状吧,窗口还是需要透明?
    能不能给个例子,整的有点朦了现在。。
      

  8.   

    如果设成全透的话就相当于什么都没有了,可以操作底下的东西。alpha控制部分透明就OK了。可以先弄个PNG
      

  9.   

    有点明白楼主的意思了。可以直接在桌面上绘图,也可以创建一个只有边框的窗口(用SetWindowRgn把内容区域透明掉)。------------------------------------------------------------------------
      

  10.   

    我想楼主所谓“这个选区的背后没受影响,跟正常操作一样”,应该只是指键盘操作吧?鼠标操作应该还是被这个“透明窗口”给拦截了,否则怎么“拖动”呢?如果这样的话,可以试试在收到 WM_SETFOCUS 消息的时候用 SetFocus() 把焦点设回去,也许就够了,hehe
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)
      

  11.   

    谢谢大家鸟,已经按 zhanshen2891 的方法搞定了。