Redimensionar MDICHILD

Redimensionar MDICHILD

Postby antolin » Tue Feb 26, 2013 11:26 am

Buenas.

Tengo una TDMICHILD que cuando la redimensiono con el raton necesito que nunca sea menor que 400X300. Lo he solucionado con el bResized asi:

Code: Select all  Expand view
oWin:Resized := { |S,W,H| CambSize(oWin,S,W,H) }
...
...
FUNCTION CambSize(oWin,Style,nWidth,nHeight)
   IF Style = 0
      IF nWidth < 400
          oWin:nWidth := 400
      ENDIF
      IF nHeight < 300
         oWin:nHeight := 300
      ENIF
   ENDIF
RETURN NIL


Funciona perfectamente, pero me preguntaba si no hubiera una solución más elegante porque visualmente no es muy acertda ya que al window se redibuja constantemente, parapadea, hay como interferencias, y no resulta nada bonito.

¿Hay alguna variable que impida que la ventana se redimensione más hallá de un límite, o algo así?

Lo he intentado con aMinMaxInfo. El redimensionado va perfectamente, pero después no consigo que vuelva a maximizarse normalmente ponga los valores que ponga en ese array ¿Cómo se haría?

¿Alguna idea?

Gracias.
Peaaaaaso de foro...
antolin
 
Posts: 492
Joined: Thu May 10, 2007 8:30 pm
Location: Sevilla

Re: Redimensionar MDICHILD

Postby Bayron » Tue Feb 26, 2013 11:59 am

Antolin,
Como haz utilizas aMinMaxInfo???
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
User avatar
Bayron
 
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: Redimensionar MDICHILD

Postby antolin » Tue Feb 26, 2013 12:15 pm

Sencillo.

Code: Select all  Expand view
aMinMaxInfo := { Max Width size, Max Height size, Max Pos x, Max Pos y, Min TrackSize x, Min TrackSize y, Max TrackSize x, Max TrackSize y }

Por ejemplo: aMinMaxInfo := { 1024,765,0,0,400,300,1024,765 }
Los valores 'Min TrackSize x' y 'Min TrackSize y' son los que limitan el tamaño mínimo de la pantalla pero aunque reponga el tamaño máximo 'Max TrackSize x' y 'Max TrackSize y' a su valor original, la pantalla no se maximiza correctamente ni con 'Max Width size' y 'Max Height size' adecuados.

Y aun cuando hago aMinMaxInfo := NIL parece como si los valors de máximo tamaño no se borraran y la pantalla tampoco se maximiza correctamente a no ser que la minimize primero.
Peaaaaaso de foro...
antolin
 
Posts: 492
Joined: Thu May 10, 2007 8:30 pm
Location: Sevilla

Re: Redimensionar MDICHILD

Postby antolin » Tue Feb 26, 2013 1:14 pm

Hay más comands interesantes no incluidos en mi version de FWH (2007):

WM_WINDOWPOSCHANGING 0x0046
WM_WINDOWPOSCHANGED 0x0047
WM_SIZING 0x0214

No se si en otras versiones los han tenido en cuanta.
Peaaaaaso de foro...
antolin
 
Posts: 492
Joined: Thu May 10, 2007 8:30 pm
Location: Sevilla

Re: Redimensionar MDICHILD

Postby antolin » Wed Feb 27, 2013 8:58 am

Ups... el último mensaje está en el post equivocado
Peaaaaaso de foro...
antolin
 
Posts: 492
Joined: Thu May 10, 2007 8:30 pm
Location: Sevilla


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 30 guests

cron