AGB  ·  Datenschutz  ·  Impressum  







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

ClientRect begrenzen

Offene Frage von "oki"
Ein Thema von oki · begonnen am 25. Aug 2007 · letzter Beitrag vom 29. Aug 2007
 
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#3

Re: ClientRect begrenzen

  Alt 25. Aug 2007, 09:35
Hi unwissender,

Ich möchte es weitgehenst vermeiden, dass weitere Komponenten in meinem Control enthalten sind. Ich überarbeite gerade meine aktuelle Programmversion. Die elemente werden alle zur Laufzeit hinzugefügt. Das sin dann zum Schluss mehrere hundert (ist wirklich so, und ich war auch überrascht). In den einzelnen Controls weitere Kompos einzubinden hat in der Vergangenheit beim Zeichnen arge Performance Probleme verursacht. Deshalb gehe über den Weg "Zeichnen auf Canvas" ran. Da es viele verschiedene eigene Controls geben wird, die ich in einen solchen Container legen werde (zur Laufzeit) währe es mir lieber, wenn der Container das händelt. Wie bei einem Fenster. da kann man auch nichts in den Titel reinschieben.

Ich habs jetzt schon mal über ClientHeight und ClientWidth versucht. aber da wird das komplette Control verkleinert wenn ich diese Werte kleiner als Width und Height setze.

die Hilfe sagt hierzu eigentlich, dass das die richtige Stelle ist. aber entweder ich habe das falsch verstanden, oder was falsch gemacht.

Zitat:
Beschreibung

Mit ClientHeight können Sie die Höhe des Client-Bereichs des Steuerelements abrufen oder ändern.

Bei TControl ist ClientHeight mit der Eigenschaft Height identisch. In abgeleiteten Klassen kann aber eine ClientHeight-Eigenschaft implementiert werden, die sich von Height unterscheidet. So entspricht beispielsweise der Wert der Eigenschaft ClientHeight eines Formulars dem Wert von Height abzüglich der Höhe der Titelleiste, des Rahmens und der Bildlaufleiste.
Mein Code:
Delphi-Quellcode:
procedure TBaseRTControl.SetClientRect;
begin
  if FShowTitle then begin
    // minus Titelhöhe und ein Pixel Rahmen
    self.ClientHeight := Height - Abs(self.Canvas.Font.Height) - 7;
    self.ClientWidth := Width - 2;
  end else begin
    self.ClientHeight := Height - 2;
    self.ClientWidth := Width - 2;
  end;
end;
Gruß oki
42
  Mit Zitat antworten Zitat
 


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 21:46 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