dialogo resizable desde recursos?

Post Reply
D.Fernandez
Posts: 518
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay
Contact:

dialogo resizable desde recursos?

Post by D.Fernandez »

Hola amigos:

Estoy buscando unos ejemplos que habían con REDEFINE Dialog.....bla,bla
que se podían cambiar el tamaño incluyendo los elementos incluidos en el dialog.
Esto ya está pronto?

Ya se, estoy medio pesado y perdido, disculpen.

Saludos

Ruben Dario Fernandez
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
User avatar
karinha
Posts: 7941
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 3 times
Contact:

Re: dialogo resizable desde recursos?

Post by karinha »

¿Te refieres a esto?

viewtopic.php?p=165486&hilit=ADAMI#p165486

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
D.Fernandez
Posts: 518
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay
Contact:

Re: dialogo resizable desde recursos?

Post by D.Fernandez »

Gracias Joao, pero no es esto.

Incluso Mr. Rao publicó unos ejemplos con animaciones
pero ahora no los encuentro y no se si esta totalmente funcional.

Gracias
Saludos.
Ruben Dario Fernandez
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
User avatar
karinha
Posts: 7941
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 3 times
Contact:

Re: dialogo resizable desde recursos?

Post by karinha »

Esto?

Relative coordinates of Controls:

viewtopic.php?t=44532

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
D.Fernandez
Posts: 518
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay
Contact:

Re: dialogo resizable desde recursos?

Post by D.Fernandez »

Siiiiii Joao,
sabes si está funcionando 100 %.?
No logro hacerlo funcionar desde recursos.

Un grande Joao. Gracias.

Saludos
Ruben Dario Fernandez
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
User avatar
nageswaragunupudi
Posts: 10721
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Been thanked: 8 times
Contact:

Re: dialogo resizable desde recursos?

Post by nageswaragunupudi »

Please try this sample as it is.
If this works as expected, you may use this for your other dialogs.

Code: Select all | Expand

#include "fivewin.ch"

function Main()

   local oDlg, oFont
   local aVar  := { PadR( "get1", 10 ), PadR( "edit", 10 ), Space( 10 ), PadR( "pwd", 10 ) }
   local aGet[ 4 ]

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-14
   DEFINE DIALOG oDlg RESOURCE "TESTGETS" FONT oFont

   REDEFINE GET  aGet[ 1 ] VAR aVar[ 1 ] ID 101
   REDEFINE EDIT aGet[ 2 ] VAR aVar[ 2 ] ID 102
   REDEFINE EDIT aGet[ 3 ] VAR aVar[ 3 ] ID 103
   REDEFINE GET  aGet[ 4 ] VAR aVar[ 4 ] ID 104

   REDEFINE BUTTON ID 1 ACTION oDlg:End()
   REDEFINE BUTTON ID 2 ACTION oDlg:End()

   oDlg:bInit     := { || SetResize( oDlg ) }
   oDlg:bResized  := { || ResizeCtrls( oDlg ) }

   ACTIVATE DIALOG oDlg CENTERED
   RELEASE FONT oFont

return nil

function SetResize( oDlg )

   local oCtrl

   oDlg:Cargo  := { oDlg:nWidth, oDlg:nHeight, oDlg:oFont:nHeight }
   for each oCtrl in oDlg:aControls
      WITH OBJECT oCtrl
         :Cargo := { :nTop, :nLeft, :nWidth, :nHeight, :oFont:nHeight }
      END
   next

return nil

function ResizeCtrls( oDlg )

   local xRatio, yRatio
   local oCtrl, h, f

   xRatio   := oDlg:nWidth  / oDlg:Cargo[ 1 ]
   yRatio   := oDlg:nHeight / oDlg:Cargo[ 2 ]

   for each oCtrl in oDlg:aControls
      WITH OBJECT oCtrl
         :nTop    := Int( yRatio * :Cargo[ 1 ] )
         :nHeight := Int( yRatio * :Cargo[ 4 ] )
         :nLeft   := Int( xRatio * :Cargo[ 2 ] )
         :nWidth  := Int( xRatio * :Cargo[ 3 ] )
         h  := Int( :Cargo[ 5 ] * yRatio )
         if h != :oFont:nInpHeight
            :SetFont( f := :oFont:Modify( h ) )
            f:End()
         endif
      END
   next

return nil
.RC file

Code: Select all | Expand

TESTGETS DIALOG 99, 89, 194, 200
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MAXIMIZEBOX | WS_MINIMIZEBOX
CAPTION "TESTGETS"
FONT 8, "MS Sans Serif"
{
 EDITTEXT 101, 33, 51, 131, 12, WS_BORDER | WS_TABSTOP
 EDITTEXT 102, 33, 71, 131, 12, WS_BORDER | WS_TABSTOP
 EDITTEXT 103, 33, 91, 131, 12, WS_BORDER | WS_TABSTOP
 EDITTEXT 104, 33,111, 131, 12, ES_PASSWORD | WS_BORDER | WS_TABSTOP
 DEFPUSHBUTTON "OK", 1, 42, 150, 50, 14
 PUSHBUTTON "Cancel", 2, 102, 150, 50, 14
}
Notes:
Please add " WS_THICKFRAME | WS_MAXIMIZEBOX | WS_MINIMIZEBOX" to the dialog styles in the RC file.

Please let us know if you face any issues
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
Posts: 10721
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Been thanked: 8 times
Contact:

Re: dialogo resizable desde recursos?

Post by nageswaragunupudi »

Image
Regards

G. N. Rao.
Hyderabad, India
User avatar
karinha
Posts: 7941
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 3 times
Contact:

Re: dialogo resizable desde recursos?

Post by karinha »

Master Nages, does it work with more complex dialogs with folders, xbrowse, etc?

Master Nages, ¿funciona con cuadros de diálogo más complejos con carpetas, xbrowse, etc?

Gracias, tks.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
D.Fernandez
Posts: 518
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay
Contact:

Re: dialogo resizable desde recursos? SOLUCIONADO?

Post by D.Fernandez »

Hola Mr. Rao.
Excelente, funciona casi de 100%.
Lo probé con un campo MEMO, varios GETs y BTNBMP.
Al restablecer a la forma original el tamaño de las fuentes no lo respeta, quedan mas chicos.

Es un excelente comienzo.

Gracias
Saludos
Ruben Dario Fernandez

Imágen original
https://ibb.co/cSZc87rM

Imágen luego de jugar un poco
https://ibb.co/mCCpz09W
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
User avatar
nageswaragunupudi
Posts: 10721
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Been thanked: 8 times
Contact:

Re: dialogo resizable desde recursos?

Post by nageswaragunupudi »

Mr. Ruben
So, we need to review font resizing and we will look into that aspect.
Please keep using and help us by reporting any issues you notice.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
Posts: 10721
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Been thanked: 8 times
Contact:

Re: dialogo resizable desde recursos?

Post by nageswaragunupudi »

karinha wrote: Wed Jan 29, 2025 1:58 pm Master Nages, does it work with more complex dialogs with folders, xbrowse, etc?

Master Nages, ¿funciona con cuadros de diálogo más complejos con carpetas, xbrowse, etc?

Gracias, tks.

Regards, saludos.
xbrowse - yes
folders? No. We need to still improve the logic, to handle folders.

I think you have other alternatives in mind.
Please post one working sample like the one above and we will be glad to learn from that.
Regards

G. N. Rao.
Hyderabad, India
D.Fernandez
Posts: 518
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay
Contact:

Re: dialogo resizable desde recursos?

Post by D.Fernandez »

Si con gusto Mr. Rao.

Gracias
Saludos

Ruben Dario Fernandez
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
User avatar
nageswaragunupudi
Posts: 10721
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Been thanked: 8 times
Contact:

Re: dialogo resizable desde recursos?

Post by nageswaragunupudi »

I gave this function in my original sample

Code: Select all | Expand

function SetResize( oDlg )

   local oCtrl

   oDlg:Cargo  := { oDlg:nWidth, oDlg:nHeight, oDlg:oFont:nHeight }
   for each oCtrl in oDlg:aControls
      WITH OBJECT oCtrl
         :Cargo := { :nTop, :nLeft, :nWidth, :nHeight, :oFont:nHeight }
      END
   next

return nil
Please change :oFont:nHeight as :oFont:nInpHeight in both the lines and test again please.
Regards

G. N. Rao.
Hyderabad, India
D.Fernandez
Posts: 518
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay
Contact:

Re: dialogo resizable desde recursos?

Post by D.Fernandez »

Mr. Rao...

EXTRAORDINARIO.
Excelente, ya va tomando forma. se ve muy bien.

Saludos

Ruben Dario Fernandez
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
D.Fernandez
Posts: 518
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay
Contact:

Re: dialogo resizable desde recursos?

Post by D.Fernandez »

Hola Mr. Rao

Funciona bien con xBrowse

No Funciona el menu del dialogo
Error linea -> xRatio := oDlg:nWidth / oDlg:Cargo[ 1 ] de ResizeCtrls( oDlg )

No funciona la buttonbar
Error linea -> xRatio := oDlg:nWidth / oDlg:Cargo[ 1 ] de ResizeCtrls( oDlg )

Gracias, Saludos

Ruben Dario Fernandez
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
Post Reply