Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Formular durchsichtig machen (https://www.delphipraxis.net/62950-formular-durchsichtig-machen.html)

mindforce 11. Feb 2006 20:40


Formular durchsichtig machen
 
Hi,

ich glaube so einen Code gibt es nicht.
Gibt es einen Quellcode mitdem man ein Formular Transparent machen kann?

Gruss,

Mindforce

Bernhard Geyer 11. Feb 2006 20:42

Re: Formular durchsichtig machen
 
Hier im Forum suchenFormular Transparent

Mirilin 11. Feb 2006 20:43

Re: Formular durchsichtig machen
 
:hi:

ja gibt es.
-> suche


mfg Tobias

mOzZzI 11. Feb 2006 20:51

Re: Formular durchsichtig machen
 
Du hast doch Delphi 2005 PE, oder nicht??

Dann benutze doch AlphaBlend...

Delphi-Quellcode:
Form1.AlphaBlend:=True;
Form1.AlphaBlendValue:=215; //Kann man ja verändern ;-)
Mfg Philipp

mindforce 11. Feb 2006 20:54

Re: Formular durchsichtig machen
 
HU! Geil!!!!!!!!!!11 :shock: Sieht ja fett aus!

Geil. Funktioniert. Aber wie geht das in Delphi 3 Pro????

// Kann man auch das Fenster unsichtbar machen OHNE das die Labels und so transparent gemacht werden?

/// Hmmm... Funzt Irgendwie nicht!!! Bleibt immer gleich. :(

mOzZzI 11. Feb 2006 21:06

Re: Formular durchsichtig machen
 
ich glaube so geht es...

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

const
  WS_EX_LAYERED = $80000;
  LWA_COLORKEY = 1;
  LWA_ALPHA = 2;

type
  TSetLayeredWindowAttributes = function(
    hwnd: HWND; // handle fuers fenster
    crKey: TColor; // die farbe
    bAlpha: byte; // wert fuer die blend funktion
    dwFlags: DWORD //
    ): BOOL; stdcall;

  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure SetTransparentForm(AHandle: THandle; AValue: byte = 0);
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;
end;




procedure TForm1.FormCreate(Sender: TObject);
begin
    // 0 --> voll transparent
    // 255 --> nicht trabsparent
  SetTransparentForm(Handle, 240);

end;

end.

mindforce 11. Feb 2006 21:12

Re: Formular durchsichtig machen
 
/// Hmmm... Funzt Irgendwie nicht!!! Bleibt immer gleich.

mOzZzI 11. Feb 2006 21:15

Re: Formular durchsichtig machen
 
Naja, es gibt ja noch die schöne Suche
Hier im Forum suchenalphablend


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:27 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