Verhalten von Paletten

Started by Arcuso, February 04, 2010, 07:31:17 AM

Previous topic - Next topic

Arcuso

Hallo Forum !

1.) Palette zugeklappt (nirgendwo angedockt) erstmalig aufrufen
Beim erstmaligen Aufruf erscheint die Palette zunächst im ACAD-Fenster links angedockt.
Da sie mehr breit als hoch ist, möchte ich sie als Standard immer zugeklappt und platzsparend irgendwo am Rande ruhen lassen.

2.) Palette automatisch zuklappen als eine mit Lisp steuerbare Eigenschaft ?
Eine andere Palette möchte ich temporär aufgeklappt halten und die Daten von fortlaufend geklickten Blöcken sofort in den Feldern anzeigen. Erst am Ende der Auswahl soll die Lisp-Routine die Palette zuklappen, ohne einen weiteren Knopf drücken zu müssen.

3.) Palette nur dann automatisch zuklappen, wenn kein Element den Fokus hat.
Wenn mehrere Eingabefelder enthalten sind und man interaktiv im Grafik-Editor etwas macht, hätte man gerne, dass die Palette offen bleibt, wenn ein Feld den Fokus hat. Sonst muss man nach dem erneuten Aufklappen dieses Feld wieder suchen.

4.) Nicht-modalen Dialog minimieren
Könnte man ihn, um Platz am Bildschirm zu sparen, wie in Windows üblich, auch in der Task-Leiste mit allen Werten verfügbar halten?
Oft möchte man zwischendurch mit AutoCAD etwas grafisch erledigen und dann den Dialog wieder unverändert darstellen.
Ein 2.Monitor ist nicht immer verfügbar, wo man sich die Fenster und Paletten permanent auslagern kann.

Fred Tomke

Hallo,

zu 1.

Derzeit gibt es noch nicht die Möglichkeit, die Paletten-API von Autodesk zu steuern und Vorgabewerte zu setzen, was ich auch befürworten würde. Ich hatte zwischenzeitlich von Autodesk Tipps dazu erhalten und bereits den Entwicklern gepostet. Jetzt muss es nur noch jemand einbauen ...

zu 2.

Näherungsweise kann man es mit der Paletten-Eigenschaft KeepFocus erreichen: Ist KeepFocus T, wird die Palette nicht mehr automatisch zugeklappt, wenn Automatisch ausblenden aktiv ist.

zu 3.

Ich habe gerade so einen Fall (siehe Screenshot). Das kannst Du mit SetFocus und KillFocus erzielen. Innerhalb von SetFocus rufst Du (dcl_control_setkeepfocus MyProject_MyForm T) und in KillFocus (dcl_control_setkeepfocus MyProject_MyForm nil) auf.

zu 4.

Ja, da guckst Du bitte mal bei den Samples den FormMover an. Da kann man einen Knopf klicken und der Dialog verkleinert sich.
Ansonsten bei den nicht-modalen Dialogen die Hide-Methode beachten.

VG, Fred
Fred Tomke
Dipl.-Ing. (FH) Landespflege

[ landscaper - landscape developer - digital landscape and urban design]