Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi labels verändern sich nicht (https://www.delphipraxis.net/18378-labels-veraendern-sich-nicht.html)

Haegar 17. Mär 2004 18:25


labels verändern sich nicht
 
Liste der Anhänge anzeigen (Anzahl: 1)
hi,
in meinem leveleditor (simpel mit drawgrid) kann man per trackbar die anzahl an zeilen und spalten bestimmen (quasi breite und höhe des levels).
die im bild rot markierten labels sollten sich bei verändern einer trackbar mit verändern, nur funktioniert das nicht. scrollbars und das drawgrid funktionieren richtig, nur die labels verändern sich nicht. sie sollen die aktuelle position der trackbar wiedergeben, um so die breite/höhe anzuzeigen.

hier der code...
Delphi-Quellcode:
procedure Tfrm_haupt.trackb_breitChange(Sender: TObject);
begin
 case (Sender as TTrackbar).Tag of
  1: begin
      drwgrid.ColCount:=(Sender as TTrackbar).Position;
      lbl_breit.Caption:=IntToStr((Sender as TTrackbar).Position); //-> klappt net
      with scroll_level_h do
       begin
        Enabled:=drwgrid.ColCount>21;
        if (((Sender as TTrackbar).Position-21)>0) then
         Max:=(Sender as TTrackbar).Position-21;
       end;
     end;
  2: begin
      drwgrid.RowCount:=(Sender as TTrackbar).Position;
      lbl_hoch.Caption:=IntToStr((Sender as TTrackbar).Position); //-> klappt net
      with scroll_level_v do
       begin
        Enabled:=drwgrid.RowCount>14;
        if (((Sender as TTrackbar).Position-14)>0) then
         Max:=(Sender as TTrackbar).Position-14;
       end;
     end;
 end;
end;
danke schonmal
gruß haegar

Jens Schumann 17. Mär 2004 19:11

Re: labels verändern sich nicht
 
Hallo,
ich muß gestehen - ich habe keine Ahnung.
Folgender Code läuft bei mir wie erwartet. Evt ist es ja ein kleine
Delphi-Quellcode:
Hilfeprocedure TForm1.TrackBar1Change(Sender: TObject);
begin
  Case (Sender as TTrackBar).Tag of
    1 : Label1.Caption:=IntToStr((Sender as TTrackBar).Position);
    2 : Label2.Caption:=IntToStr((Sender as TTrackBar).Position);
    end;
end;

herges 17. Mär 2004 20:08

Re: labels verändern sich nicht
 
Probiers mal mit dem Befehl Label1.update;.

Das hat bei uns(Schule) geholfen.
Es ging aber auch mittels application.proccesmessages.
Weis also nich wo der Update-Befehl noch alles dirn ist.
Gruß
herges

Haegar 18. Mär 2004 21:18

Re: labels verändern sich nicht
 
funktioniert leider auch nicht, bin echt am verzweifeln, kann doch nur was simples sein, aber wie gesagt für euch war ja auch nix ersichtlich :cry:

gruß haegar :gruebel:

notam 18. Mär 2004 22:21

Re: labels verändern sich nicht
 
Also ich hab auch nicht sooo viel Ahnung, aber
Delphi-Quellcode:
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  label1.Caption := inttostr(TrackBar1.Position);
end;
läuft bei mit wunderbar...

Haegar 18. Mär 2004 23:31

Re: labels verändern sich nicht
 
tjs das is aber schön für euch ;)
und an diesem "Sender as TTrackbar" kann es ja eigentlich auch net liegen, da eine überprüfung mit showmessage die richtigen werte anzeigt!
ich hab grad mal was probiert.
ud zwar habe ich dem label direkt was zugewiesen.....einfach ein beliebiges wort (z.B. lbl_breit.caption:='delphi')...aber nicht mal das funktioniert!!??

so ein shitkram

naja was solls
vielleicht geschiet ja noch ein wunder

cya

Luckie 18. Mär 2004 23:45

Re: labels verändern sich nicht
 
Zeig mal, wie die Prozedur aufgerufen wird.

Haegar 18. Mär 2004 23:59

Re: labels verändern sich nicht
 
die procedure wird ja vom programm selber aufgerufen, sobald einer der beiden trackbars benutzt wird (on change also) sieht man ja im ersten posting! es hat sich auch seitdem nix verändert, sieht genauso aus wie oben, da ja alle veränderungen keine wirkung zeigten!

das kuriose is aber das wenn ich den wert einer trackbar um 1 ändere dann wird diese procedure 2 mal ausgeführt! soll heissen ich hab zum beispiel 2 mal eine showmessage bekommen, obwohl der befehl nur einmal drin stand. trägt zwar nix zum problem bei, wundert mich aber trotzdem!

PS: nicht täuschen lassen das da oben der procedurekopf "trackb_breit" enthält, wird rtotzdem von beiden benutzt trackbars genutzt! nur so mal am rande

ciao haegar


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:06 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 by Thomas Breitkreuz