AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Form Halbtransparent |> Fast durchsichtig
Thema durchsuchen
Ansicht
Themen-Optionen

Form Halbtransparent |> Fast durchsichtig

Ein Thema von Oldy · begonnen am 11. Jan 2009 · letzter Beitrag vom 12. Jan 2009
Antwort Antwort
Seite 1 von 2  1 2      
Oldy

Registriert seit: 12. Dez 2008
135 Beiträge
 
Delphi 7 Enterprise
 
#1

Form Halbtransparent |> Fast durchsichtig

  Alt 11. Jan 2009, 14:01
Hallo ihr.

Ich hab schon das Forum durchsucht un google schon seit 20 Minuten, habe aber leider nix gefunden
Also..
ich habe eine Form, auf der ein Bild ist,wobei die Form mit Autosize angepasst ist. Diese Form soll halbtransparent sein, also dass ich das dahinterliegende durch die Form und das Bild sehe, das Bild aber trotzdem auch noch (eben halbtransparent).
Danke schonmal
Mfg
Oldy
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#2

Re: Form Halbtransparent |> Fast durchsichtig

  Alt 11. Jan 2009, 14:04
Je nachdem welche Delphi-Version du einsetzt, ab Delphi 6 gibt es die Form-property AlphaBlend und AlphaBlendValue.

Diese musst du einfach auf einen gewünschten Wert setzen (zwischen 0 und 255).
http://delphi.about.com/od/graphics/l/aa022202a.htm
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Form Halbtransparent |> Fast durchsichtig

  Alt 11. Jan 2009, 14:06
Zitat von Meflin:
Diese musst du einfach auf einen gewünschten Wert setzen (z.B. 50 für 50% Transparenz).
Ist AlphaBlend nicht ein Wert von 0-255?

Dann wäre 50% ja 128!
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#4

Re: Form Halbtransparent |> Fast durchsichtig

  Alt 11. Jan 2009, 14:06
Zitat von Alfi001:
Ist AlphaBlend nicht ein Wert von 0-255?

Dann wäre 50% aj 128!
Völlig richtig habs auch gerade angepasst
  Mit Zitat antworten Zitat
Oldy

Registriert seit: 12. Dez 2008
135 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Form Halbtransparent |> Fast durchsichtig

  Alt 11. Jan 2009, 14:07
habe leider nur Delphi 5
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#6

Re: Form Halbtransparent |> Fast durchsichtig

  Alt 11. Jan 2009, 14:10
Dann könntest du das versuchen:
http://www.delphipraxis.net/internal...t.php?t=119359

Das Handle deiner Form bekommst du über Form.Handle
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Form Halbtransparent |> Fast durchsichtig

  Alt 11. Jan 2009, 14:12
Du kannst es auch mit folgendem Code machen:


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;

Aufrufen tust du es dann so:

MakeWindowTransparent(Form1.Handle, 128); Edit:
Mhh mitm Link war einer schneller
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Oldy

Registriert seit: 12. Dez 2008
135 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Form Halbtransparent |> Fast durchsichtig

  Alt 11. Jan 2009, 14:15
ich hab beides ausprobiert und bei beiden das selbe
Keine fehlermeldung, es passiert einfach nichts..
liegts daran dass ich win 98 verwende?
Alexander
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#9

Re: Form Halbtransparent |> Fast durchsichtig

  Alt 11. Jan 2009, 14:24
Zitat von Oldy:
liegts daran dass ich win 98 verwende?
Ja. Geht erst ab Win 2000. Gibt es irgendeinen Grund, noch Win98 einzusetzen
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Form Halbtransparent |> Fast durchsichtig

  Alt 11. Jan 2009, 14:28
Hilft dieser Code aus dem SDC:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  SetWindowLong(Form1.Handle, GWL_EXSTYLE,
  (GetWindowLong(Form1.Handle, GWL_EXSTYLE) or WS_WX_TRANSPARENT));
end;
Grüße, Matze

Edit: Ach Mist, dann wird's ja komplett durchsichtig (unsichtbar). Sorry.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:40 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