AGB  ·  Datenschutz  ·  Impressum  







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

TGroupBox transparent machen

Ein Thema von qb-tim · begonnen am 11. Apr 2007 · letzter Beitrag vom 16. Nov 2007
Antwort Antwort
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#1

TGroupBox transparent machen

  Alt 11. Apr 2007, 10:39
Hi,

ich würde gerne wissen, wie ich eine TGroupBox transparent mache, sodass ich noch die Rahmnung und Beschriftung sehe, aber die Komponenten dahinter sehe.. (quasi: BackgroundColor = Transparent)
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: TGroupBox transparent machen

  Alt 11. Apr 2007, 10:49
Warum tust du die Komponenten nicht einfach in die Groupbox?
Lukas Erlacher
  Mit Zitat antworten Zitat
gsmgrufti

Registriert seit: 14. Sep 2006
Ort: Nürnberg
23 Beiträge
 
Delphi 2006 Professional
 
#3

Re: TGroupBox transparent machen

  Alt 11. Apr 2007, 10:58
Du kannst dir was aus
http://www.swissdelphicenter.ch/de/showcode.php?id=1982
basteln
Müstest du nur anpassen auf Groupbox oder nimm einfach die bereits angepasste Variante von mir:
Delphi-Quellcode:
unit transgroupbox;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,ComCtrls,
  StdCtrls;
type
  TTransGroupBox = class(TGroupBox)
  private
    { Private declarations }
     procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;
  protected
    { Protected declarations }
    procedure CreateParams(var Params: TCreateParams); override;
  public
    { Public declarations }
    constructor Create(AOwner: TComponent); override;
    procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
  published
    { Published declarations }
  end;

procedure Register;

implementation

constructor TTransGroupBox.Create(AOwner: TComponent);
begin
  inherited ;
end;

procedure TTransGroupBox.CreateParams(var Params: TCreateParams);
begin
 inherited CreateParams(Params);
 Params.ExStyle := Params.ExStyle or WS_EX_TRANSPARENT;
end;

procedure TTransGroupBox.WMEraseBkgnd(var Message: TWMEraseBkgnd);
begin
  Message.Result := 1; // Prevent background from getting erased
end;


procedure TTransGroupBox.SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
var
  tlbVisible: Boolean;
begin
  tlbVisible := (Parent <> nil) and IsWindowVisible(Handle); // Check for visibility
  if tlbVisible then ShowWindow(Handle, SW_HIDE); // Hide-Move-Show strategy...
  inherited SetBounds(ALeft, ATop, AWidth, AHeight); // ... to prevent background...
  if tlbVisible then
  begin
   ShowWindow(Handle, SW_SHOW); // ... from getting copied
   Parent.repaint;
  end;
 
end;

procedure Register;
begin
  RegisterComponents('Transparenz', [TTransGroupBox]);
end;

end.
  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#4

Re: TGroupBox transparent machen

  Alt 11. Apr 2007, 11:20
Wunderbar! Sieht vielversprechend aus

  Mit Zitat antworten Zitat
Benutzerbild von qb-tim
qb-tim

Registriert seit: 3. Mär 2006
Ort: Deutschland
280 Beiträge
 
Delphi 6 Professional
 
#5

Re: TGroupBox transparent machen

  Alt 11. Apr 2007, 11:40
Es funktioniert prima, aber wenn ich ein TransGroupBox im Form ändere verzerrt es die Darstellung. Kann das irgendwie "repariert" werden?

Beispiel: Ich habe 3 Edits im TransGroupBox und verkürze sie. Ergebnis: Ich sehe 6 Edits (scheinbar): 3 mit original Länge und 3 verkürzte

Noch schlimmer: Ich verschiebe die TransGroupBox. Ergebnis: Die TransGroupBox und alle Komponenten haben sich (scheinbar) dupliziert. Eins ist am original Platz, das andere wo ich es hingetan habe (machmal auch einige auf den Weg dahin!!!)

Diese Graphischen Verzerrungen sind nur im Formeditor. Das Programm läuft einwandfrei und die Formdarstellung im Editor ist normal, nachdem ich das Programm durchführen lassen habe. Aber dann fängt es alles wieder von Forne an!

HILFE!
  Mit Zitat antworten Zitat
iron

Registriert seit: 10. Jul 2006
Ort: Berlin
113 Beiträge
 
Delphi 2005 Personal
 
#6

Re: TGroupBox transparent machen

  Alt 16. Nov 2007, 12:01
Auch wenn es jetzt eine ganze Weile später ist, aber man kann auch die TJvgGroupBox von den Jedis nehmen die hat eine Transparent Einstellung von Hause aus.
wer früher stirbt, ist länger Tot

Berliner Community http://berliner-cafe.de
  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 22:54 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