AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Alphablend

Ein Thema von Basic-Master · begonnen am 13. Apr 2003 · letzter Beitrag vom 13. Apr 2003
Antwort Antwort
Basic-Master

Registriert seit: 9. Mär 2003
Ort: Brilon
395 Beiträge
 
Delphi 2007 Enterprise
 
#1

Alphablend

  Alt 13. Apr 2003, 20:32
Hi,
ich hab folgendes Problem: Wenn ich im Form Alphablend aktiviere (AlphaBlend = True und AlphaBlendValue = 125) und wenn ich das Projekt gestartet hab, das Form verschiebe, dann ist das mit AlphaBlend weg... Was kann ich dagegen tun?
Christian
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 13. Apr 2003, 20:33
setzt doch bei onActivate vom Form!
den AlphaBlend und den AlphaBlendValue einfach neu!
David F.
  Mit Zitat antworten Zitat
Basic-Master

Registriert seit: 9. Mär 2003
Ort: Brilon
395 Beiträge
 
Delphi 2007 Enterprise
 
#3
  Alt 13. Apr 2003, 20:37
das ändert auch nix, wenn ich mit dem verschieben fertig bin, dann ist wieder alles so wie ohne...
Christian
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4
  Alt 13. Apr 2003, 20:43
vielleicht OnMouseUp! Weil nach dem verschieben lässt du Maustaste ja los

wenn das nicht klappt, weiss ich auch nicht weiter, hab selber nur D3, hatt d6 pers. nur kurz drauf, daher.
David F.
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#5
  Alt 13. Apr 2003, 21:53
Hallo,

AlphaBlend und Value funktioniert erst ab >= Win2k.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Basic-Master

Registriert seit: 9. Mär 2003
Ort: Brilon
395 Beiträge
 
Delphi 2007 Enterprise
 
#6
  Alt 13. Apr 2003, 21:59
also bei mir ist es da egal, habs ausserdem auch schon mit nem timer ausprobiert, leider ohne erfolg ah, mir ist glaub ich was eingefallen: könnt ihr mir die api für alphablend geben? ich glaub wenn man das nach verschieben nochmal setzt, dann könnte es gehen
Christian
  Mit Zitat antworten Zitat
Basic-Master

Registriert seit: 9. Mär 2003
Ort: Brilon
395 Beiträge
 
Delphi 2007 Enterprise
 
#7
  Alt 13. Apr 2003, 22:00
Zitat von Daniel B:
Hallo,

AlphaBlend und Value funktioniert erst ab >= Win2k.

Grüsse, Daniel
ja is klar, hab W2K Service Pack 3, ausserdem gíbts ja nur probleme nachm verschieben
Christian
  Mit Zitat antworten Zitat
Basic-Master

Registriert seit: 9. Mär 2003
Ort: Brilon
395 Beiträge
 
Delphi 2007 Enterprise
 
#8
  Alt 13. Apr 2003, 22:19
so die funktion heisst SetLayeredWindowAttributes
[edit] hier ist der code den ich hab, der fuktioniert (n grossteil hab ich ausm internet):
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
const
 WS_EX_LAYERED = $80000;
 LWA_COLORKEY = 1;
 LWA_ALPHA = 2;

type
  TForm1 = class(TForm)
  procedure SetTransparentForm(AHandle : THandle; AValue : byte = 0);
    procedure FormCreate(Sender: TObject);
    procedure FormConstrainedResize(Sender: TObject; var MinWidth,
      MinHeight, MaxWidth, MaxHeight: Integer);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.SetTransparentForm(AHandle : THandle; AValue : byte = 0);
var
 Info: TOSVersionInfo;
 SetLayeredWindowAttributes: TSetLayeredWindowAttributes;
begin
 //Check Windows version
 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);
        //Make form transparent
        SetLayeredWindowAttributes(AHandle, 0, AValue, LWA_ALPHA);
      end;
   end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
SetTransparentForm(handle, 125);
end;

procedure TForm1.FormConstrainedResize(Sender: TObject; var MinWidth,
  MinHeight, MaxWidth, MaxHeight: Integer);
begin
SetTransparentForm(handle, 125);
end;

end.
Christian
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:04 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