Hi!!
Diese Frage tauchte hier irgendwo schonmal auf, wurde aber nicht beantwortet.
Also: Weiß jemand, wie ich das realisieren kann?
Habe versucht, Alphablend = true zur DesignTime oder RunTime zu setzen, ohne Erfolg. Auch das Schreiben einer manuellen Transparency-Methode (gab hier irgendwo mal einen Tipp für Delphi 5) lieferte kein Ergebnis:
Code:
var
Info: TOSVersionInfo;
SetLayeredWindowAttributes: TSetLayeredWindowAttributes;
begin
// geht meines wissen ab win2000
Info.dwOSVersionInfoSize := SizeOf(Info);
GetVersionEx(Info);
if (Info.dwPlatformId = VER_PLATFORM_WIN32_NT) and
(Info.dwMajorVersion >= 5) then
begin
SetLayeredWindowAttributes := GetProcAddress(GetModulehandle(user32), 'SetLayeredWindowAttributes');
if Assigned(SetLayeredWindowAttributes) then
begin
SetWindowLong(AHandle, GWL_EXSTYLE, GetWindowLong(AHandle, GWL_EXSTYLE) or WS_EX_LAYERED);
//und jetzt transparent zeichnen
SetLayeredWindowAttributes(AHandle, 0, AValue, LWA_ALPHA);
end;
end;
Gibt's denn ne Methode, AlphaBlend mit Delphi-Bordmitteln auf einem MDIChild zu setzen??