Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi verschiedene groubindex-eigenschaften automatisch einstellen (https://www.delphipraxis.net/59590-verschiedene-groubindex-eigenschaften-automatisch-einstellen.html)

Der_Unwissende 26. Dez 2005 17:10

Re: verschiedene groubindex-eigenschaften automatisch einste
 
Sorry, aber von welchem Code genau sprichst du denn gerade? :wink:

DGL-luke 26. Dez 2005 22:43

Re: verschiedene groubindex-eigenschaften automatisch einste
 
was spricht bittesehr dagegen, bei allen den groupindex auf 0 zu lassen?

(merke: groupindex = 0 ^= nicht zu einer group gehörend)

Ansonsten mal ein kleines beispiel, wie man ein 2d-Feld aus SpeedButtons zur laufzeit generiert:

Delphi-Quellcode:
type TButtons = array of TSpeedButton;

type TMetrics = record Top,Left,Width,Height:integer; end;

procedure MakeButtons(Count: Integer; Owner: TControl; Metrics: TMetrics; numCols: Integer; out Buttons: TButtons);
var Col,Row: Integer;
begin
setlength(Buttons,Count);
col := 0;
row := 0;

for i := 0 to Count -1 do
  begin
    Buttons[i] := TSpeedButton.Create(Owner);
    Buttons[i].Top := row * Metrics.Height + Metrics.Top;
    Buttons[i].Left := col * Metrics.Width + Metrics.Left;
    Buttons[i].Width := Metrics.Width;
    Buttons[i].Height := Metrics.Height;
    //Für dieses Mal: Eindeutigen GroupIndex vergeben
    Buttons[i].GroupIndex := i;
    // Positionen überprüfen
    Col := Col + 1;
    if Col > numCols then
      begin
        Col := 0;
        Row := Row + 1;
      end;
  end;
end;
Ungetestet. Aber ich glaub fast, das muss jetzt in die CodeLib.

Der_Unwissende 27. Dez 2005 10:40

Re: verschiedene groubindex-eigenschaften automatisch einste
 
[quote="DGL-luke"]was spricht bittesehr dagegen, bei allen den groupindex auf 0 zu lassen?

(merke: groupindex = 0 ^= nicht zu einer group gehörend)
[/delphi]

Dagegen spricht die Eigenschaft down. Wie gesagt ich weiß nicht genau was für ein Spiel das wird, aber wenn jmd. SpeedButtons nimmt, dann spricht einiges dafür, dass man einige gedrückt lässt und andere nicht. Alle Speedbuttons mit gleichem Groupindex gehören zu einer Gruppe (wär hätte das gedacht) und in jeder Gruppe ist immer max. ein Button Down.
Also führt nichts an eigene einzigartige GroupIndizes vorbei

Gruß Der Unwissende

DGL-luke 27. Dez 2005 11:13

Re: verschiedene groubindex-eigenschaften automatisch einste
 
*ausprobieren muss*

tatsächlich... na das ja mal n designfehler der übelsten Sorte.

was solls, hoffe mein code funktioniert.

Sharky 27. Dez 2005 11:17

Re: verschiedene groubindex-eigenschaften automatisch einste
 
:gruebel:

Warum nicht ganz einfach so:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to Pred(ComponentCount) do
  begin
    if (Components[i] is TSpeedButton) then
    begin
      (Components[i] as TSpeedButton).GroupIndex := i + 1;
    end;
  end;
end;

Der_Unwissende 27. Dez 2005 11:23

Re: verschiedene groubindex-eigenschaften automatisch einste
 
Zitat:

Zitat von Sharky
:gruebel:

Warum nicht ganz einfach so:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to Pred(ComponentCount) do
  begin
    if (Components[i] is TSpeedButton) then
    begin
      (Components[i] as TSpeedButton).GroupIndex := i + 1;
    end;
  end;
end;

Weil

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to Pred(ControlCount) do
  begin
    if (Controls[i] is TSpeedButton) then
    begin
      (Controls[i] as TSpeedButton).GroupIndex := i + 1;
    end;
  end;
end;
schon ausreichen würde :wink:

Aber wenn es ein Spiel wird, dass eine Art Minesweeper ist, hm, 100+ Buttons per Hand setzen? Viel Spaß.

Sharky 27. Dez 2005 11:31

Re: verschiedene groubindex-eigenschaften automatisch einste
 
Hai Unwissender,

was möchtest Du uns mit deinem Posting denn sagen?

P.S.: ICH würde die Buttons sicher auch zur Laufzeit erzeugen. Aber die Frage war ja wie man den Grouindex der Buttons setzt ;-)

Der_Unwissende 27. Dez 2005 11:39

Re: verschiedene groubindex-eigenschaften automatisch einste
 
Ich wollte nur sagen, dass Controls es auch tun, du hast Components verwendet. :wink:

Und du hast recht, bin ich wohl etwas OT mit meinen anderen Antworten.

konda 27. Dez 2005 18:09

Re: verschiedene groubindex-eigenschaften automatisch einste
 
Zitat:

Zitat von Der_Unwissende
Sorry, aber von welchem Code genau sprichst du denn gerade? :wink:

von deinem :bouncing4:

konda 27. Dez 2005 18:14

Re: verschiedene groubindex-eigenschaften automatisch einste
 
Zitat:

Zitat von Der_Unwissende
Sorry, aber von welchem Code genau sprichst du denn gerade? :wink:

von deinem code :bounce1:
(tut mir leid. war irgendwie nen fehler so das er mir zuerst meinen beitrag nicht angezeigt hat und ich dachte ich hätte ihn nicht abgeschickt). :gruebel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:35 Uhr.
Seite 2 von 2     12   

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