Avatar billede -bomann- Nybegynder
28. november 2002 - 09:05 Der er 9 kommentarer og
1 løsning

Kan man få et gennemsigtigt panel??? (ANDET FORSØG)

Kender du en panel-komponent der har egenskaben transparent? Ikke noget med at tilknytte et billede til panelet eller andet finurligt - bare gennemsigtig - også ved flere oven på hinanden!!! (Den må gerne være KYLIX kompatibel)

Hvis JA, så er her 150 lette!
Avatar billede morten_s Nybegynder
28. november 2002 - 09:08 #1
Hvis du har Delphi 6 så sætter du AlphaBlend til True på din form, så kan du variere på AlphaValue
Avatar billede -bomann- Nybegynder
28. november 2002 - 09:17 #2
Jeg forstår ikke helt hvad du mener!!? Hjælpen siger at man skal køre 'win2000 or better...' Det skal kunne køre på en win98 maskine! Udviklingsmiljøet er Delphi7!
Avatar billede borrisholt Novice
28. november 2002 - 09:35 #3
unit Tranpanl;

interface

uses
  Windows, SysUtils, Classes, Controls, Graphics;

type
  TTranPanel = class(TCustomcontrol)
  private
    FBorder: Boolean;
    procedure SetBorder(Value: Boolean);
  protected
    procedure Paint; override;
  public
    procedure CreateParams(var Params: TCreateParams); override;
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    property Border: Boolean read FBorder write SetBorder;
    property Visible;
    property Enabled;
    property Align;
    property OnClick;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Borrisholt', [TTranPanel]);
end;

procedure TTranPanel.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.ExStyle := Params.ExStyle + WS_EX_Transparent;
  ControlStyle := ControlStyle - [csOpaque] + [csAcceptsControls]
end;

constructor TTranPanel.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  Width  := 100;
  Height := 100;
end;

destructor TTranPanel.Destroy;
begin
  inherited Destroy;
end;

procedure TTranPanel.Paint;
begin
  if FBorder or (csDesigning in ComponentState) then
  begin
    Canvas.Brush.Color := clBtnShadow;
    Canvas.FrameRect(ClientRect);
  end;
end;

procedure TTranpanel.SetBorder(Value: Boolean);
begin
  if Value <> FBorder then
  begin
    FBorder := Value;
    Invalidate;
  end;
end;

end.

Jens B
Avatar billede -bomann- Nybegynder
28. november 2002 - 10:22 #4
Den virker ikke når man har et panel i et panel!!? :/
Avatar billede lanstorp Nybegynder
28. november 2002 - 21:51 #5
Avatar billede dl Nybegynder
04. december 2002 - 12:26 #6
Du kan kun få et transparent panel eller form på en windows 2000/xp.
//dl
Avatar billede borrisholt Novice
04. december 2002 - 13:31 #7
dl>> Det er ikke rigtigt mit panel burde da også virke på win9X.

Jens B
Avatar billede dl Nybegynder
05. december 2002 - 13:16 #8
borrisholt >> hyar lige set på din hjemmeside. Og det ser ikke pæn ud på min Windows XP computer. Alle tingne er meget små og ligger oppe i venstre side af skræmen.

//dl
Avatar billede lanstorp Nybegynder
05. december 2002 - 17:20 #9
>>Borrisholt,
Har også problemer med at se din side, med både W-2K, W-XP, MS-IE 6 og Netscape 7.0. Netscape presser det hele op til venstre og IE laver en smal stribe.  Det har været sådan ca. 1 årstid. Men har dog en maskine på arbejde, hvor der ingen problemer er med at se siden ???
Avatar billede -bomann- Nybegynder
11. april 2003 - 11:57 #10
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester