如题请各位大侠帮忙!注意是用Win32,不是MFC!而且是在EVC中!我想要的效果是创建一个透明窗体,可以看到后面的桌面,在这个窗体上用鼠标做到画图效果。自己研究了好久,发现吧窗体类设置成 wc.hbrBackground = (HBRUSH) GetStockObject(NULL_BRUSH);可以实现透明窗体,但是在这个窗体上弹出一个对话框再关闭,这个对话框在界面上刷不掉,抓狂中请各位帮忙!!!

解决方案 »

  1.   

    设置WS_EX_LAYERED扩展风格,然后调用SetLayeredWindowAttributes函数设置一个透明色,窗口中需要透明的地方都使用这个颜色。
      

  2.   

    能否说详细些?是在CreateWindowEx中设吗?没有这个参数啊?
      

  3.   

    可以在CreateWindowEx中给出,也可以创建之后再设置。
    这个扩展风格是2000之后才有的,要定义在包含头文件之前#define _WIN32_WINNT 0x0500或更大的值才行,你也可以自己在代码中定义#define WS_EX_LAYERED 0x00080000。