我OnInitDialog中调用SetLayeredWindowAttributes()实现了不规则窗口,然后想调用 AnimateWindow实现淡入淡出的效果,但是总是不成功,不知道为什么。单独使用时,都是可以成功的。环境:WinXP sp1, vc6, 最新的Sdk//相关的代码HWND wnd = GetSafeHwnd();
LONG nStyle = GetWindowLong(wnd, GWL_EXSTYLE);
SetWindowLong(wnd, GWL_EXSTYLE, nStyle | WS_EX_LAYERED);
SetLayeredWindowAttributes(wnd, RGB(255,0,255), 255, LWA_COLORKEY);//以上代码可以实现不规则窗口
//加入下面的代码后,不仅没有淡入淡出,连不规则窗口的效果都没了。AnimateWindow(wnd, 1000, AW_BLEND); //返回1,说明函数执行成功了
LONG nStyle = GetWindowLong(wnd, GWL_EXSTYLE);
SetWindowLong(wnd, GWL_EXSTYLE, nStyle | WS_EX_LAYERED);
SetLayeredWindowAttributes(wnd, RGB(255,0,255), 255, LWA_COLORKEY);//以上代码可以实现不规则窗口
//加入下面的代码后,不仅没有淡入淡出,连不规则窗口的效果都没了。AnimateWindow(wnd, 1000, AW_BLEND); //返回1,说明函数执行成功了
HWND wnd = GetSafeHwnd();
AnimateWindow(wnd, 1000, AW_BLEND); //返回1,说明函数执行成功了LONG nStyle = GetWindowLong(wnd, GWL_EXSTYLE);
SetWindowLong(wnd, GWL_EXSTYLE, nStyle | WS_EX_LAYERED);
SetLayeredWindowAttributes(wnd, RGB(255,0,255), 255, LWA_COLORKEY);