<pre class="cpp" name="code">SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE, GetWindowLong(this->GetSafeHwnd(),GWL_EXSTYLE)^0x80000); </pre><br> <pre></pre> <pre class="cpp" name="code">HINSTANCE hInst = LoadLibrary("User32.DLL"); if(hInst) { typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD); MYFUNC fun = NULL; //取得SetLayeredWindowAttributes函數指針 fun=(MYFUNC)GetProcAddress(hInst, "SetLayeredWindowAttributes"); if(fun) { //fun(this->GetSafeHwnd(),0,129,2); fun(this->GetSafeHwnd(),GetSysColor(COLOR_BTNFACE), 129, LWA_COLORKEY); } FreeLibrary(hInst); }</pre> <p><br> 使用以上方法實現半透明窗口時,</p> <p>編譯時輸出如下:</p> <p>error C2065: 'LWA_COLORKEY' : undeclared identifier</p> <p> </p> <p>明明引入了相關的頭文件:#include "WinUser.h",怎麼還會提示'LWA_COLORKEY'未定義呢?</p> <p>查看頭文件件中的定義發現,是條件定義的問題;</p> <p> </p> <p>在:#include "WinUser.h"之前添加:#define _WIN32_WINNT 0x0502</p> <p>問題解決;</p>
作者:csdn博客 微wx笑
返回欄目頁:http://www.bianceng.cn/Programming/cplus/