Delphi-PRAXiS

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 PageView / TabSheet (https://www.delphipraxis.net/1706-pageview-tabsheet.html)

nailor 18. Dez 2002 20:40


PageView / TabSheet
 
Ich bin ja zum Glück nicht der einzige, der Probleme mit PageControls hat. Also was ich will: Ich will zur Laufzeit (sagen wir:) 100 (sagen wir) Checkboxen auf TabsheetXYZ draufmachen. Auf der Form direkt wäre das ja kein Problem.

Nach dem Motto

Delphi-Quellcode:
 var MeineBoxen: array[0..99] of TCheckbox;

procedure Button1Click(Sender: TObject);
var i: integer;
begin
for i := 0 to 99 do
  begin
    MeineBoxen[i] := TCheckbox.Create;
    //Den ganzen Kram von denen einstellen
    InsertControl(MeineBoxen[i]);
  end;
end;
Dann sind die alle schön vor Ort. Nur wie mach ich das, wenn die auf ein Tabsheet in einem PageControl sollen. Die Hilfe schweigt sich was diese beiden Dinge angeht sehr schhön aus!

d3g 18. Dez 2002 20:52

Hi Nailor,

du musst als Parent nicht die Form sondern das TabSheet angeben, dann werden die Checkboxen auch dort erstellt. Wenn du allerdings 100 Checkboxen hast, dann erscheint es mir auf Designgründen logischer, eine Listbox zu benutzen, in der der User dann die gewünschten Optionen anklicken kann (MultiSelect muss natürlich auf True).

MfG,
d3g

nailor 18. Dez 2002 21:28

Es waren auch nicht hundert checkboxen, sondern nur ein paar buttons, die ich zu faul bin einzeln einzugeben.

ähm... wie stell ich das denn so einfach um?

nailor 18. Dez 2002 21:32

ach, und noch eine frage:
das ganze soll so was wie notepad werden. wenn ich eine textdatei mit readln einlese und in einem memo ausgeb, macht der immer noch eine neue zeile dahinter. was soll das/wie unterbindet man das/wie macht man die wieder weg?

Daniel B 18. Dez 2002 21:41

Moin Nailor,

schonmal mit "LoadFromFile" gearbeitet?

Grüsse, Daniel :hi:

nailor 18. Dez 2002 21:44

:kotz: der "haut-sich-selber-smilie" fehlt!

----

ok: du magst zwar rechthaben, dass es so viel!!! einfacher zu machen ist, aber fügt immer noch linefeed, carriage return ein!

Christian Seehase 19. Dez 2002 00:13

Moin Nailor,

ich hab's jetzt nicht probiert aber

Delphi-Quellcode:
Memo1.Lines.LoadFromFile(...);
Memo1.Lines.Delete(Memo1.Lines.Count-1);
könnte gehen, um die überflüssige Zeile zu entfernen.

Übrigens werden die Zeilen durch CR/LF (#13#10) getrennt.

d3g 19. Dez 2002 13:43

Hi Nailor,

ich habe mir InsertControl gerade mal angesehen. Da es bei jedem TWinControl (Delphi) / TWidgetControl (Kylix) vorhanden ist, musst du nur statt Form.InsertControl() TabSheet.InsertControl() aufrufen.

MfG,
d3g

nailor 19. Dez 2002 14:44

danke!

nailor 19. Dez 2002 16:48

das mit dem tabsheet1.insertcontrol(blabla) klappt wunderbar
das mit dem zeile entfernen nicht. egal wie ich die datei öffne, egal welche zeile ich danach zu deleten versuche. entweder geht es gar nicht, oder die letzte "echte" zeile geht weg.
Wenn ich aber das ganze in eine ListBox einlese: Kein Problem, obwohl ich nur einmal "Memo1" Durch"ListBox1" ersetzt habe...


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:15 Uhr.

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