Hallo,
vielleicht kann mir jemand einen Tipp geben.
Ich erzeuge ein Fenster über die tdModal()-Funktion. Wenn ich dieses Fenster jetzt vergrößere oder verkleinere sollen einfach nur alle Childs() neu positioniert und in der Größe proporional angepasst werden. Eigentlich war ich davon ausgegangen, dass Clayton dieses Verhalten eingebaut hat Das scheint aber nicht so zu sein. Das Fenster ändert zwar seine Größe, alle Childs (das sind 2 Browser und ein paar Schaltflächen) bleiben aber gleich groß und sitzen dann irgendwo links unten.
Kann ich die tdcDLG.PRG irgendwie einfach anpassen, dass dies dann bei "meinen" Fenstern funktioniert?
Danke und Gruß
Christof
Resize von tdModal()-Window
Moderator: Moderatoren
- Christof
- Rekursionen-Architekt
- Beiträge: 265
- Registriert: Mo, 01. Okt 2007 17:14
- Wohnort: Bedburg
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Resize von tdModal()-Window
Vielleicht hilft hier noch der Code der Resize-Methode aus tdcDlg.PRG.
Code: Alles auswählen
******************************************************************************
* METHOD tdcDlg:resize()
******************************************************************************
METHOD tdcDlg:resize(aOld,aNew)
LOCAL oDa,nDaHt
LOCAL i,nLen
******* If using Top or Bottom Bars
IF ! empty(::oTopBar)
::oTopBar:resize()
ENDIF
IF ! empty(::oBottomBar)
::oBottomBar:resize()
ENDIF
******* If using Left or Right Bars
IF ! empty(::oLeftBar)
::oLeftBar:resize()
ENDIF
IF ! empty(::oRightBar)
::oRightBar:resize()
ENDIF
******* If using a scrolling window
IF valtype(::oBase) == "O"
******* resize
::oBase:setSize({::oBase:currentsize()[1]+(aNew[1]-aOld[1]),;
::oBase:currentsize()[2]+(aNew[2]-aOld[2])})
******* repaint
::oBase:invalidaterect()
ENDIF
******* If using aRegit
IF ::aRegit != nil .AND. ! empty(::aRegit)
oDa := ::drawingarea
nDaHt := oDa:currentSize()[2]
nLen := len(::aRegit)
oDa:lockUpdate(.T.)
IF nLen > 0
FOR i := 1 TO nLen
IF ::aRegit[i,1] != nil .AND. ::aRegit[i,1]:status() == XBP_STAT_CREATE
::aRegit[i,1]:setPos({::aRegit[i,2],nDaHt-::aRegit[i,3] })
ENDIF
NEXT
ENDIF
oDa:lockUpdate(.F.)
oDa:invalidateRect()
ENDIF
RETURN self
* End of METHOD tdcDlg:resize()
******************************************************************************