Avatar billede danielks Nybegynder
26. november 2002 - 14:24 Der er 4 kommentarer og
1 løsning

Gennemsigtig

Hvordan gør man en form delvis gennemsigtig ??? skal angives i procent... så den kan ændres af en anden instans...
Avatar billede jakob_andreasen Nybegynder
26. november 2002 - 14:27 #1
Hvilket graffikkort har du
Avatar billede dkn Nybegynder
26. november 2002 - 14:31 #2
hvis du har delphi 6 har forn en alphablind værdi man kan sætte fra 0-255.
Avatar billede borrisholt Novice
26. november 2002 - 14:54 #3
hvis ikke brug den her :

unit AlphaBlendForm;

interface
uses
  Classes, Forms, Dialogs, Windows;
Type
  TAlphaBlendForm = class(TForm)
  private
    FTransparency: Integer;
    procedure SetTransparency(const Value: Integer);
  public
    constructor Create(AOwner : TComponent); override;
    property Transparency : Integer read FTransparency write SetTransparency;
  end;

implementation

Const
  WS_EX_LAYERED = $00080000;
  LWA_COLORKEY  = $00000001;
  LWA_ALPHA    = $00000002;
  ULW_COLORKEY  = $00000001;
  ULW_ALPHA    = $00000002;

Type
  PBlendFunction = ^TBlendFunction;
  TBlendFunction = Packed Record
    BlendOp            : Byte;
    BlendFlags          : Byte;
    SourceConstantAlpha : Byte;
    AlphaFormat        : Byte;
  End;

Function SetLayeredWindowAttributes(hWnd : hWnd; crKey : TColorRef; bAlpha : Byte;
                                    dwFlags : Integer) : Integer; StdCall;
                                    External User32 Name 'SetLayeredWindowAttributes';

Function UpdateLayeredWindow(hWnd : hWnd; hdcDst : hDC; pptDst : PPoint; psize : PSize; hdcSrc : hDC;
                            pptSrc : PPoint; crKey : TColorRef; pblend : PBlendFunction;
                            dwFlags : Integer) : Integer; StdCall;
                            External User32 Name 'UpdateLayeredWindow';

{ TAlphaBlendForm }


constructor TAlphaBlendForm.Create(AOwner: TComponent);
begin
  inherited;
  SetWindowLong(Handle,GWL_EXSTYLE,GetWindowLong(Handle,GWL_EXSTYLE) Or WS_EX_LAYERED);
end;

procedure TAlphaBlendForm.SetTransparency(const Value: Integer);
begin
  if FTransparency = Value then
    exit;
  FTransparency := Value;
  SetLayeredWindowAttributes(Handle,0,FTransparency,LWA_ALPHA);
end;

end.
Avatar billede danielks Nybegynder
26. november 2002 - 15:21 #4
jakob_andreasen> hva er du ikke lidt galt i byen med den der kommentar...

dkn> smid et svar så får du point
Avatar billede dkn Nybegynder
26. november 2002 - 15:52 #5
svar :)
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