Listbox in Canvas anzeigen

Hallo,
gibt es eine Möglichkeit eine komplette Listbox in einem Canvas anzuzeigen?
Die Listbox liegt außenhalb des Layouts und ich möchte sie bei bedarf einblenden.

Geht das überhaupt und wenn ja, mit welchem Befehl?

Viele Grüße
Andreas

Warum legst Du nicht die ListBox in ein eigenes Fenster, das kannst Du auch bei Bedarf aufrufen.

Eine andere Möglichkeit ist, die ListBox im Hauptfenster zu platzieren , unsichtbar zu machen(lb.visible = false) und bei Bedarf einzublenden(lb.visible=true).

Hallo Axel,
natürlich ginge das so, ist aber nicht was ich brauche. Es geht um einen Datenselektor, in den ich je nach Bedarf einzelne Elemente (Listboxen, Felder, Buttons usw.) ein- uns ausblenden kann.

Ich habe auch schon mit Containern experimentiert. Da habe ich das Problem, dass das Fenster im Container unter Umständen größer sein kann als der Container selbst. Ich habe aber keine Möglichkeit gefunden, das Fenster innerhalb des Containers zu scrollen. Wenn das möglich wäre, würde es auch funktionieren.

Aus diesem Grund experimentiere ich im Moment mit dem Canvas.

Viele Grüße
Andreas

Wie wre es mit einem Overlay-Fenster stattdessen? Wenn Du das nur fr Mac OS brauchst…

Theoretisch ginge das, meines Wissens aber nicht mit Bordmitteln. In Mac-Terminologie, aber auf den anderen Systemen dürfte das nicht viel anders sein, nur anders benamst, ist jedes sichtbare Control auch immer ein View (NSView auf OS X, UIView auf iOS). Ein View kann beliebig viele Unterviews besitzen, dazu gibt es den Befehl abbSubview. Das dürfte der sein, den intern auch ein ContainerControl verwendet. Da er auf anderen Xojo-Controls nicht verfügbar ist, müstest du ihn dazudeclaren.
Was dann auch wieder den Wunsch nach einem Xojo-Scrollview aufbringen dürfte, bei dem ein Einbetten von Subviews per Methode dazugehören müsste.

Hallo Ulrich,

ich habe da leider noch keine elegante Lösung gefunden. Daher die Idee mit dem Canvas. Da könnte ich dann alles selbst zeichnen. Ich will natürlich keine Listbox nachbauen müssen sondern will eine normale Listbox im Canvas anzeigen.

Viele Grüße
Andreas

Hi Andreas, ich verstehe nicht ganz, was Du erreichen willst.

Ahhh… Ich denke, das ist schon der richtige Ansatz. Ich würde ein Container-Control pro Selektor-Typ erzeugen. Innerhalb des CC kannst Du einen Canvas platzieren. Alles was innerhalb des Canvas platziert ist, kann auch in diesem gescrollt werden.
HTH

Zum Beispiel so:
SelectorExample.zip