Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Anzeigefehler bei eigener Komponente (https://www.delphipraxis.net/104729-anzeigefehler-bei-eigener-komponente.html)

TeronG 10. Dez 2007 13:03


Anzeigefehler bei eigener Komponente
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi
Da sich in meinen Programmen einiges (visuell) wiederholt dacht ich mir ich bau mir ne eigene Komponente.
So weit klappt auch alles nur manchmal kommt es zu einem Anzeigefehler (siehe Anhang) der verschwindet, wenn ich z.B. Alt-Tab oder ähnliches mache.

Ich schätze mal, ich hab beim erstellen der einzelnen "Unterkomponenten" was vergessen bzw. falsch gemacht. :gruebel: (is ja schließlich meine erste Kompon-ente)

Hier mal n bissl Code:
Delphi-Quellcode:
type
  TEingabefeldString = class(TCustomControl)
Delphi-Quellcode:
constructor TEingabefeldString.Create(AOwner: TComponent);
begin
  inherited;

  Width := 212;
  Height := 70;

  OnCanResize := ObjectCanResize;

  GroupBox := TGroupBox.Create(Self);
  with GroupBox do
  begin
    parent := Self;
    SetBounds(1,1,209,65);
  end;

  EdEingabefeld := TLMDEdit.Create(Self);
  with EdEingabefeld do
  begin
    parent := GroupBox;
    SetBounds(16,24,89,22);
    TabOrder := 0;

    OnKeyDown      := EdStringEditfeldKeyDown;
    OnTextChangedAt := EdStringEditfeldTextChangedAt;
  end;

  BtnUebernehmen := TLMDButton.Create(Self);
  with BtnUebernehmen do
  begin
    Parent := GroupBox;
    SetBounds(120,24,75,25);
    Caption := #252'bernehmen';
    Enabled := False;
    TabOrder := 1;
    Color := clBtnFace;
    ParentColor := False;
    OnClick  := BtnUebernehmenClick;
    OnKeyDown := BtnUebernehmenKeyDown;
  end;

  Aussehen := asNormal;
end;
Delphi-Quellcode:
destructor TEingabefeldString.Destroy;
begin
  BtnUebernehmen.Free;
  EdEingabefeld.Free;
  GroupBox.Free;
  inherited;
end;
Den gleichen Fehler habe ich auch bei einer anderen Komponente, die mit TAbNumSpin arbeitet.

Währe schön, wenn ihr mir helfen könntet.

SirThornberry 10. Dez 2007 13:24

Re: Anzeigefehler bei eigener Komponente
 
ich glaube du vergisst den Controlstyle zu setzen.

du kannst übrigens auch anstelle von
Delphi-Quellcode:
Width := 212;
Height := 70;
foglendes schreiben
Delphi-Quellcode:
SetBounds(Left, Top, 212, 70);
so wie du es beim Edit etc. gemacht hast :)

TeronG 10. Dez 2007 15:10

Re: Anzeigefehler bei eigener Komponente
 
Zitat:

Zitat von SirThornberry
du kannst übrigens auch ... foglendes schreiben
Delphi-Quellcode:
SetBounds(Left, Top, 212, 70);
so wie du es beim Edit etc. gemacht hast :)

Ja ne is klar ...

Zitat:

Zitat von SirThornberry
ich glaube du vergisst den Controlstyle zu setzen.

Hmm das ist wohl war. Aber auf was sollte ich es denn setzten?
Ich hab mal csOpaque "versucht" und der Fehler tritt tatsächlich nicht mehr auf. Ist aber nur TryAndError :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz