![]() |
Checkbox
Hallo, ich hab hoffentlich ein simples Problem, eventuell hatte jemand mal etwas ähnliches und kann mir hier einen Tip geben...
Problem ist folgendes: Ich hab vor mir ein kleines Tools zu schreiben welches eine Art Installations Menu (komplett grafisch) darstellt. Ich möchte für die Auswahl der zu installierenden Programme Checkboxen verwenden. Das Problem dabei ist, ich benutze in der GUI keine Tab/PageControls oder ähnliches, jetzt frage ich mich, wenn die GUI automatisch mit Checkboxen gefüllt wird (z.B. Programme Ordner auslesen und pro Programm eine Checkbox auf die GUI) wie kann ich ein blättern (vor/zurück) erreichen, weil wenn es sehr viele Programme sind wird logischerweise Irgendwann die GUI voll sein so das ich vor/zurückblättern muss... Eigentlich bräuchte ich in etwa so etwas: IniFile = Programme die zur verfügung stehen + Beschreibung zu den Programmen. Rubriken wie z.B. System, Antivirus usw. Routine zum einlesen des IniFiles + dynamische Checkbox Erstellung. Blätter Funktion, die durch die Sektionen der Ini wandern kann muss dann wieder dynamisch die Checkboxen auf die GUI basteln. Ansonsten wenn jemand eine simplerer Idee hat bin offen für alles, nur kann ich eben keine Standart Komponenten benutzen da wie gesagt die Oberfläche ist kompl. geskinnt, ich möchte daherauch keine 3rd Komponenten zum Skinnen einsetzen die womöglich noch Geld kosten oder ähnliches! Ich danke schonmal im vorraus! s! |
Re: Checkbox
Warum verwendest du denn kein Tab-/PageControl bzw. Notebook? Anders wirst du das glaube nicht so leicht realisiert bekommen.
Edit: Ok, hab überlesen, dass du eine geskinnte Form hast. Edit2: TNotebook (in der Palette unter Win 3.1 zu finden) könnte vlt. doch nützlich sein. Schau's dir mal an. |
Re: Checkbox
Nimm einen Listview mit Checkboxen.
|
Re: Checkbox
Zitat:
Geskinnt halt, richtig. Zu Edit2 nützt mir ja leider nichts, da ich nicht eine neue Komponente schreiben will um die Komplett transparent zu haben. Lucky, kann ich leider vergessen, da meine Checkboxen ebenfalls geskinnt sind, die ListView leider net. |
Re: Checkbox
Der Listview wird doch bestimmt von der Komponente auch geskinnt oder? Wo ist das Problem?
|
Re: Checkbox
Zitat:
Ich hatte mir gedacht, daß man das in etwa machen kann wie M$ so eine Art Menu wie beim Setup von XP oder so, da gibt es ja auch ein Menu nur eben nicht mit Checkboxen dafür die grünen [->] Buttons mit MouseOver/Leave |
Re: Checkbox
Eine neue Komponente schreiben musst du nicht. "Nur" TNotebook umbiegen und selber zeichnen. ;)
Heisst eine neue Komponente erstellen und die von TNotebook ableiten. Den OnPaint- / OnDraw-Event publizieren und dort drin halt "einfach" das Zeichnen, was hinter dem Notebook liegt. Google mal nach Transparent Panel oder such hier im Forum. Gab da schonmal so was, was halt einfach das auf sich selber gezeichnet hat, was dahinter lag. |
Re: Checkbox
Zitat:
Aber nochmal zurück zu den Checkboxen, vielleicht weisst du folgendes: Wie kann man auf einen Schlag sagen wir mal 30/40 Checkboxen auf die GUI klatschen und dafür sorgen, das sie wenigstens mittig sitzen und nicht über die GUI hinausragen? Etwa: ------------------------------ [x] [x] usw... [x] [x] [x] [x] [x] [x] ------------------------------ |
Re: Checkbox
Delphi-Quellcode:
Sollte klappen. Nicht vergessen, die dann auch wieder freizugeben wenn du sie nicht mehr brauchst (Programmende).
// Absichtlich dynamisches Array
var myCheckboxes: Array of TCheckbox; a: Integer; begin SetLength (myCheckboxes, 30); for a := 0 to Length (myCheckboxes) - 1 do begin myCheckboxes[a] := TCheckbox.Create (Self); with myCheckboxes[a] do begin Parent := Self; Name := 'Checkbox' + inttostr (a + 1); Caption := 'Checkbox ' + inttostr (a + 1); Width := 100; Left := 8; // ggf anpassen falls du Spalten machen willst Top := (a + 1) * 8; end; end; end; |
Re: Checkbox
Zitat:
Vielen Dank, Spalten? könnte sein mal sehen wie ich die [x] Plaziere... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 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