Justering av fönsterstorlekar

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1

Jag vill använda ett script för att presentera dialoger, dvs fönster som ligger i förgrunden. Med FM12 så infördes möjligheten till "modala dialoger" som ligger framför andra fönster tills det stängs.

Som inparameter har jag namnet på en layout. Dialogrutorna kommer att vara av olika storlek beroende på mängden fält i dialogen. Finns det ett bra sätt att anpassa fönstrets storlek så att det matchar dialogrutans? Rutan kan till exempel vara definerad av ett grafiskt objekt som en fyrkant som ligger i bakgrunden.

Jag måste ha missat det uppenbara, men inget av scriptstegen för fönster-hantering verkar kunna göra följande:

1. Skapa ett nytt fönster som en "modal" dialog.
2. Gå till rätt layout.
3. Justera storleken på fönstret.

Det är alltså punkt tre som jag kör fast på. En möjlighet är att använda fönstrets storlek som inparameter till scriptet och i punkt 3 ställa storleken med en "resize". Men om scriptet kallas från flera olika ställen och jag för mig att ändra i dialogrutans layout så måste jag ställa om storleksparametern från alla de ställen jag kallar på scriptet.

Så frågan är: har jag missat något eller går det att anpassa fönstrets storlek efter ett grafiskt object? Hittils har jag inte lyckats...

Mikael

kan inte storleksparametern sättas i ett eget script (alternativt i ngn settings-tabell), och så anropas sedan detta script för att hämta och skicka vidare värdena.

I så fall får du ju bara ett ställe att ändra det på

Jepp, helt rätt - det är en lösning. Eller så sätts dom i globala variabler ($$windowX etc). Fast jag hade föredragit att inte behöva fiffla med storlekarna på det viset…

Mikael

Ja globala variabler kommer också fungera, det beror ju mest på hur renlärig man är. Det finns ju människor (inte jag) som anser att globaler är nästintill djävulens verk

Du kan t.ex. använda funktionerna GetLayoutObjectAttribute ( "objekt";"width" ) respektive GetLayoutObjectAttribute ( "objekt";"height" ) för att ta reda på storleken på ett objekt. Objektet måste ha ett namn, i funktionerna heter det "objekt". Sen kan du justera fönstrets storlek så att objektet ryms.

Ursprungligen av Rolf Clausen:

Du kan t.ex. använda funktionerna GetLayoutObjectAttribute ( "objekt";"width" ) respektive GetLayoutObjectAttribute ( "objekt";"height" ) för att ta reda på storleken på ett objekt. Objektet måste ha ett namn, i funktionerna heter det "objekt". Sen kan du justera fönstrets storlek så att objektet ryms.

Aha! Självklart är det så man skall gå till väga. Tack Rolf!

Mikael

1
Bevaka tråden