大家好:
     现在在开发一个win32应用程序时,需要实现透明窗体,就是该窗口在其他应用程序表面时,看不到该窗体,例如在写字板上面时,看不见该窗体的任何信息,
    如果使用MFC类库,则可以很容易的通过设置对话框属性来解决;
    请问,采用WIN32函数如何实现该功能,谢谢

解决方案 »

  1.   

    下面的代码实现在2000系统下的透明窗体,98不行。
             //加入WS_EX_LAYERED扩展属性
    SetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE,
    GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000);
    HINSTANCE hInst = LoadLibrary("User32.DLL"); 
    if(hInst) 

    typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD); 
    MYFUNC fun = NULL;
    //取得SetLayeredWindowAttributes函数指针 
    fun=(MYFUNC)GetProcAddres(hInst, "SetLayeredWindowAttributes");
    if(fun)fun(this->GetSafeHwnd(),0,128,2); 
    FreeLibrary(hInst); 
    }