<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/