![]() |
Delphi 3 Editor transparent machen ?
Huhu @ all :)
Wie ihr dem Titel schon entnehmen könnt, würde ich gerne die Entwicklungsumgebung von Delphi transparent haben. Gibt es da eine Möglichkeit? Oder nur den Editor durchsichtig... ?! Vielen Dank für eure Hilfe, Christian [edit=sakura]Nicht sofort wieder nach oben holen. Bitte einfach mal warten... Mfg, sakura[/edit] |
Re: Delphi 3 Editor transparent machen ?
Hallo Christian_1980!
Ich kann dir zwar leider nicht helfen! Aber mich würde dennoch interessieren, warum du dat Dingen Transparent haben möchtest? :gruebel: Gruß Tim |
Re: Delphi 3 Editor transparent machen ?
Weil ich das schick fände :stupid:
|
Re: Delphi 3 Editor transparent machen ?
Ein Hallöle von
![]()
Delphi-Quellcode:
Add:
//benötigt Windows 2000...
Const LWA_ALPHA = $2; WS_EX_LAYERED = $80000; Function SetLayeredWindowAttributes(Const hWnd: HWND; crKey: Integer; bAlpha: Byte; dwFlags: Integer): Integer; stdcall; external 'user32.dll'; Procedure TForm1.FormCreate(Sender: TObject); Var Temp: Integer; Begin Temp := GetWindowLong(Handle, GWL_EXSTYLE); Temp := Temp or WS_EX_LAYERED; SetWindowLong(Handle, GWL_EXSTYLE, Temp); { T = transparents } { T = 255: undurchsichtig } { T = 0: 100% durchsichtig (nicht sichtbar) } SetLayeredWindowAttributes(Handle, 0, 200{T}, LWA_ALPHA); End; Handle = das Handle des Fensters, welches geändert werden soll. http://www.delphipraxis.net/images/common/divider.jpg ![]() ![]() ![]() |
Re: Delphi 3 Editor transparent machen ?
Hi Himitsu !!
Erstmal danke.. wie komme ich an das handle des editors? folgendes hab ich auch grad selbst gefunden:
Delphi-Quellcode:
bräuchte nur noch das entsprechende handle...
procedure MakeWindowTransparent(Wnd: HWND; Alpha: Byte);
const WS_EX_LAYERED = $80000; LWA_ALPHA = $02; type TSetLayeredWindowAttributes = function(const hWnd: HWND; crKey: Integer; bAlpha: Byte; dwFlags: Integer) : Integer; stdcall; var SetLayeredWindowAttributes : TSetLayeredWindowAttributes; User32DLL : THandle; begin User32DLL := LoadLibrary('User32.dll'); if User32DLL <> 0 then begin @SetLayeredWindowAttributes := GetProcAddress(User32DLL, 'SetLayeredWindowAttributes'); if @SetLayeredWindowAttributes <> nil then begin SetWindowLong(Wnd, GWL_EXSTYLE, GetWindowLong(Wnd, GWL_EXSTYLE) or WS_EX_LAYERED); SetLayeredWindowAttributes(Wnd, 0, Alpha, LWA_ALPHA); end; end; FreeLibrary(User32DLL); end; (* MakeWindowTransparent *) Danke, christian |
Re: Delphi 3 Editor transparent machen ?
Warum geht das nicht mit:
Delphi-Quellcode:
Findwindow('','Delphi 3')
:?: :roll: |
Re: Delphi 3 Editor transparent machen ?
Mit FindWindow müsste das geh'n:
Hab dir mal dir Fensterklassen rausgesucht: Hauptfenster = TAppBuilder Editfenster = TEditWindow Objektinspektor = TPropertyInspector Objekt-Hierarchie = TObjectTreeView Brauchst nur das Fenster mit der entsprechenden Klasse finden und schon hast'e das Handle. Ich persönlich lasse das über meinen Grafiktreiber (nView - nVidia GeForce) machen. http://www.delphipraxis.net/images/common/divider.jpg ![]() ![]() ![]() |
Re: Delphi 3 Editor transparent machen ?
Nach Deinen Ausführungen sollte es doch so gehen oder:
Delphi-Quellcode:
:?:
MakeWindowTransparent(Findwindow('','TEditWindow'), 210);
tut es leider nicht. zurückgeliefertes Handle ist 0. Christian |
Re: Delphi 3 Editor transparent machen ?
Probiers mal so herum:
Delphi-Quellcode:
TEditWindow ist der Klassenname des Fensters und nicht der Name, deshalb wird dies als erster Parameter von FindWindow übergeben.
MakeWindowTransparent(FindWindow('TEditWindow', nil), 210);
|
Re: Delphi 3 Editor transparent machen ?
ICH DANKE EUCH BEIDEN - Jetzt geht es !!!
*knuffel* |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz