- Offizieller Beitrag
Hallo
Ich bin grad dabei ein bisschen mit DWM (windows vista Aero) zu experimentieren. Bin auch eigentlich schon fertig, Problem: Text wird falsch angezeigt.
Tja, ich bin nicht der einzige mit dem Problem Hab was gefunden was in Delphi geschrieben ist, habs auch verucht umzuschreiben, hat auch indirekt funktioniert.
Aber es hat nicht den gewünschen effekt.
Hier der Delphi code:
Spoiler anzeigen
LWA_COLORKEY = 1;
cBlurColorKey: TColor = clFuchsia
procedure GlassForm(frm: TForm; cBlurColorKey: TColor = clFuchsia);
SetLayeredWindowAttributesFunc = function(destWnd: HWND; cKey: TColor; bAlpha: Byte; dwFlags: DWord): BOOL; stdcall;
@fSetLayeredWindowAttributesFunc := GetProcAddress(GetModulehandle(user32), 'SetLayeredWindowAttributes');
frm.Color := cBlurColorKey;
SetWindowLong(frm.Handle, GWL_EXSTYLE, GetWindowLong(frm.Handle, GWL_EXSTYLE) or WS_EX_LAYERED);
fSetLayeredWindowAttributesFunc(frm.Handle, cBlurColorKey, 0, LWA_COLORKEY);
Alles anzeigen
Hier den Code, so wie ich ihn übersetzt hab:
Spoiler anzeigen
#include<WindowsConstants.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$clFuchsia = 0xFF00FF
$cBlurColorKey = $clFuchsia
$hMainGui = GUICreate("TEST", 400, 400, -1, -1,-1,$WS_EX_LAYERED)
GUISetBkColor($cBlurColorKey)
GUICtrlCreateLabel("TEST",10,10)
DllCall("user32.dll", "dword", "SetLayeredWindowAttributes", "hwnd", $hMainGui, "dword", $cBlurColorKey, "byte", 0, "byte",1)
GUISetState(@SW_SHOW, $hMainGui)
While True
Switch GUIGetMsg()
Case - 3
Exit
EndSwitch
WEnd
Also der Hintergrund verschwindet, super, aber es ist torzdem nicht das, was ich will^^
Also, da muss noch irgendwo ein kleine Fehler drin sein. Findet ihn jemand? Würde mir sehr helfen.
Mfg Spider