AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi UpdateLayeredWindow + Buttons/Edit
Thema durchsuchen
Ansicht
Themen-Optionen

UpdateLayeredWindow + Buttons/Edit

Ein Thema von Gruber_Hans_12345 · begonnen am 19. Jan 2009 · letzter Beitrag vom 19. Jan 2009
Antwort Antwort
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#1

UpdateLayeredWindow + Buttons/Edit

  Alt 19. Jan 2009, 10:31
Hallo

Wie schaffe ich es auf einem Form, das ich mit UpdateLayeredWindow Transparent mache, auch noch Buttons, Edit und LAbels anzuzeigen?

Bei mir werden die einfach nicht angezeigt bzw. das UpdateLayeredWindow wird einfach drüber gezeichnet ...
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#2

Re: UpdateLayeredWindow + Buttons/Edit

  Alt 19. Jan 2009, 15:30
Hallo, habe gerade rausgefunden, das es mit UpdateLayeredWindow leider nicht funktioniert ;(

Weiss jemand anders eine Lösung, um ein Formular mit AlphaChannel zu versehen?

Ich habe eine Formular, das nach einer Form ausgeschnitten werden soll (Bisher habe ich es mit den JV gemacht, da gabs ein TJvTransparentForm)
aber nun möchte ich auch eine Halbtransparent verwenden
In meinem Fall ist es ein Schatten, der im PNG existiert, und der nun mitgezeichnet werden soll.

Mit UpdateLayeredWindow funkt es optisch 1a, aber wie gesagt kann dies ja keine Childcontrols verwenden ...
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

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

Re: UpdateLayeredWindow + Buttons/Edit

  Alt 19. Jan 2009, 15:37
Hey, vllt hilft dir das hier weiter:

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;
Aufruf:

MakeWindowTransparent(form1.handle, 155); mfg
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#4

Re: UpdateLayeredWindow + Buttons/Edit

  Alt 19. Jan 2009, 16:50
nein, das bringt mir ledier nichts, da die transparenz bei mir über den alpha kanal gesteuert werden muß.
Gruss Hans

2B or not 2B, that is FF
  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 06:46 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