AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Problem mit GridPanel

Ein Thema von Gutelo · begonnen am 3. Okt 2013 · letzter Beitrag vom 3. Okt 2013
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.505 Beiträge
 
Delphi 12 Athens
 
#1

AW: Problem mit GridPanel

  Alt 3. Okt 2013, 12:18
Da das GridPanel die Komponenten selber ausrichtet, wirst du immer Probleme bekommen, wenn man da versucht selber was einzuordnen.
Vorallem dann, wenn die Position wo was einsortiert wird, mit denen von dir kollidiert.

Füge mal diesen Code ans Ende deiner inneren Schleife. (hinter die derstellte CheckBox)

Delphi-Quellcode:
Application.ProcessMessages;
Sleep(1000);
Und schau dir an, was da passiert.
Genau auf die Position der neuen und "alten" CheckBox achten.

So, und nun dreh mal die Erstellungsreihenfolge um, so daß keine Kollitionen mehr entstehen.

Delphi-Quellcode:
for i := 6 downto 2 do
  for j := 6 downto i do
Wenn du später nicht via FindComponent auf die Komponenten zugreifen willst/mußt, dann kannst du den .Name auch leer lassen.

PS: Der [delphi]-Code macht sich bestimmt besser.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.505 Beiträge
 
Delphi 12 Athens
 
#2

AW: Problem mit GridPanel

  Alt 3. Okt 2013, 12:27
Erst AddControl und dann der Parent geht scheinbar auch.
Delphi-Quellcode:
for i := 2 to 6 do
  for j := i to 6 do
  begin
    RB[i,j] := TCheckbox.Create(TG);
    RB[i,j].caption := inttostr(i) + ' if ' + inttostr(j);
    RB[i,j].enabled := false;
    TG.ControlCollection.AddControl(RB[i,j], j-2, i-2);
    RB[i,j].Parent := TG;
  end;
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Gutelo

Registriert seit: 29. Sep 2013
152 Beiträge
 
#3

AW: Problem mit GridPanel

  Alt 3. Okt 2013, 12:33
Hallo Himitsu,

ja per "slow motion" hatte ich inzwischen auch gesehen dass er beim Fuellen der 3. Zeile die Elemente in der zweiten Zeile nach links verschiebt. Allerdings macht er das bei den weiteren Zeilen nichtmehr.

Dass Gridpanel die Objekte selber sortiert ist meines Erachtens eine hirnlose Funktion, vorallem wenn man dem User explizit die Moeglichkeit gibt die properties row und column zu setzen. Kontrolle der Platzierung sollte meines Erachtens beim User liegen und nicht beim Grid.

Vielen Dank fuer deine Hilfe,

Gutelo

PS: Das war erstmal eine Proof-of-Principle Schnellimplementierung
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 07:35 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