Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ClientHeight verkleinern nicht möglich? (https://www.delphipraxis.net/26027-clientheight-verkleinern-nicht-moeglich.html)

Aenogym 16. Jul 2004 17:12


ClientHeight verkleinern nicht möglich?
 
hi,

ich habe ein problem. mein timer vergrößert mal die clientheight und mal verkleinert er sie. zumindest soll er das. vergrößern klappt auch nur wenn er sie verkleinern soll, passiert einfach nix. mein gesetzter breakpoint wird aufgerufen aber der debug inspector verrät, dass sich die clientheight nach aufrufen der codezeile nicht geändert hat.

hier mein code (in tempheight sieht die höhe vor dem schließen, damit der timer beim öffnen and er stelle anhält):

Delphi-Quellcode:
procedure Tfrm_instant_msg.Timer1Timer(Sender: TObject;
  LagCount: Integer);
begin
  if close = false then
  begin
    //öffnen
    if self.clientheight = tempheight then
    begin
      timer1.Enabled := false;
    end
    else
      self.ClientHeight := self.clientheight + 1; //funktioniert problemlos
  end;

  if close = true then
  begin
    //schließen
    if self.clientheight = 0 then
    begin
      timer1.Enabled := false;
    end
    else
      self.ClientHeight := self.clientheight - 1; //diese zeile wird ausgeführt, jedoch ändert sich die höhe nicht
  end;
end;
wisst ihr, was ich falsch mache? kann ich es sonst evtl. anders lösen?

danke,
Aenogym

Ultimator 16. Jul 2004 17:16

Re: ClientHeight verkleinern nicht möglich?
 
Ich hab zwar keine ahnung, wieso es nicht geht, aber probier mal dec(self.Clientheight) und inc(self.cliehtheight).
Vielleicht geht das...

Robert_G 16. Jul 2004 17:21

Re: ClientHeight verkleinern nicht möglich?
 
Zitat:

Zitat von Ultimator
Ich hab zwar keine ahnung, wieso es nicht geht, aber probier mal dec(self.Clientheight) und inc(self.cliehtheight).
Vielleicht geht das...

Schaue dir danach den generierten Code im DisAssembler an -> Es wird exakt der gleiche sein! (Oder er steigt dir auf's Dach, weil er die Property für ReadOnly hält ;) )

Ich stochere jetzt auch im Dunkeln, aber wird das ClientRect nicht der eigentlichen Control-Größe angepasst?

Ein einfaches ...
Delphi-Quellcode:
self.Height := self.Height - 1;
.. würde doch IMHO zum gleichen Ziel führen (Bitte korrigiert mich, falls ich jetzt Käse geschrieben habe :roll: )

alcaeus 16. Jul 2004 17:23

Re: ClientHeight verkleinern nicht möglich?
 
Nein Robert, du redest keinen Käse. ClientHeight ist nur die Größe des Controls (also Height) minus der Größe des Randes und der Titelleiste. Bei ClientWidth verhält es sich ähnlich.
Wenn du also Height oder Width um 1 dekrementierst, so verringern sich auch ClientHeight bzw. ClientWidth

Greetz
alcaeus

supermuckl 16. Jul 2004 17:24

Re: ClientHeight verkleinern nicht möglich?
 
naja height is mehr als clientheight

dazwischen liegt unsichtbarer bereich (nicht sichtbar)

Ultimator 16. Jul 2004 17:27

Re: ClientHeight verkleinern nicht möglich?
 
Zitat:

dazwischen liegt unsichtbarer bereich (nicht sichtbar)
Was du nicht sagst :mrgreen:

Niko 16. Jul 2004 17:29

Re: ClientHeight verkleinern nicht möglich?
 
Hi,

hast du vielleicht in Constraints eine Minimalhöhe angegeben?

Aenogym 16. Jul 2004 17:39

Re: ClientHeight verkleinern nicht möglich?
 
nein, constraints sind auf 0. ich ahbe auch schon self.height := self.height - 1 versucht. geht aber auch nicht. dec(self.clientheight); geht auch nicht.
könntes es vielleicht daran liegen, dass ich einen TWebbrowser auf alClient und ein Panel auf alBottom auf dem Form habe? :gruebel:

alcaeus 16. Jul 2004 17:43

Re: ClientHeight verkleinern nicht möglich?
 
Zitat:

Zitat von Aenogym
könntes es vielleicht daran liegen, dass ich einen TWebbrowser auf alClient und ein Panel auf alBottom auf dem Form habe? :gruebel:

Nein, an dem sollte es normal nicht liegen. Vielleicht hast du aber Constraints beim WebBrowser oder dem Panel gesetzt. Normalerweise behindern die Komponenten aber nicht das Verkleinern der Form.

Greetz
alcaeus

Aenogym 16. Jul 2004 17:44

Re: ClientHeight verkleinern nicht möglich?
 
jetzt klappt es. irgendwie muss es einen konflikt mit der variable gegeben haben...
verstehe ich zwar nicht, weil ich nicht viel geändert habe, aber naja.

problem gelöst. danke leute ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 Uhr.
Seite 1 von 2  1 2      

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