Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Delphi 3 Editor transparent machen ? (https://www.delphipraxis.net/12322-delphi-3-editor-transparent-machen.html)

Christian_1980 25. Nov 2003 10:09


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]

Coder18 25. Nov 2003 11:59

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

Christian_1980 25. Nov 2003 12:01

Re: Delphi 3 Editor transparent machen ?
 
Weil ich das schick fände :stupid:

himitsu 25. Nov 2003 12:49

Re: Delphi 3 Editor transparent machen ?
 
Ein Hallöle von http://www.FrankNStein.de/Smiley-Wolke.gif,

Delphi-Quellcode:
//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;
Add:
Handle = das Handle des Fensters, welches geändert werden soll.

http://www.delphipraxis.net/images/common/divider.jpg
http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif

Christian_1980 25. Nov 2003 13:06

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:
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 *)
bräuchte nur noch das entsprechende handle...

Danke, christian

Christian_1980 25. Nov 2003 13:39

Re: Delphi 3 Editor transparent machen ?
 
Warum geht das nicht mit:

Delphi-Quellcode:
Findwindow('','Delphi 3')

:?: :roll:

himitsu 25. Nov 2003 13:42

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
http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif

Christian_1980 25. Nov 2003 13:50

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

scp 25. Nov 2003 13:57

Re: Delphi 3 Editor transparent machen ?
 
Probiers mal so herum:
Delphi-Quellcode:
MakeWindowTransparent(FindWindow('TEditWindow', nil), 210);
TEditWindow ist der Klassenname des Fensters und nicht der Name, deshalb wird dies als erster Parameter von FindWindow übergeben.

Christian_1980 25. Nov 2003 14:00

Re: Delphi 3 Editor transparent machen ?
 
ICH DANKE EUCH BEIDEN - Jetzt geht es !!!


*knuffel*


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz