sunnyli3166 2014-12-03 02:53 采纳率: 36.4%
浏览 1972
已采纳

SetWindowLong出现的问题

各位大侠。我在MFC 框架类中加Button事件,想实现View窗口透明,结果整个框架窗口全部透明了,改怎么改啊?、谢谢!着急!!
void CMainFrame::onbutton1:

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; 


        fun=(MYFUNC)GetProcAddress(hInst,"SetLayeredWindowAttributes"); 
        if(fun) 
            fun(this->GetSafeHwnd(),0,70,2); 
        FreeLibrary(hInst); 
    }
  • 写回答

1条回答 默认 最新

  • Coursera 2014-12-03 05:51
    关注

    fun(this->GetSafeHwnd(),0,70,2);
    修改成

    pWnd=((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView();
    fun(pWnd>GetSafeHwnd(),0,70,2);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?