Controles en dialogos no se alinean
- Compuin
- Posts: 1253
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 10 times
- Been thanked: 3 times
Controles en dialogos no se alinean
Saludos
Cual es la mejor manera de trabajar los controles en un dialogo incrustrado en una Windows ?
A pesar que hago las alineaciones nunca quedan donde deben estar
Los dialogos se trabajan en columnas/filas o en pixeles ?
Ventajas / desventajasde cada uno ?
Gracias a todos lo que puedan aclarar
Cual es la mejor manera de trabajar los controles en un dialogo incrustrado en una Windows ?
A pesar que hago las alineaciones nunca quedan donde deben estar
Los dialogos se trabajan en columnas/filas o en pixeles ?
Ventajas / desventajasde cada uno ?
Gracias a todos lo que puedan aclarar
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
- karinha
- Posts: 7941
- Joined: Tue Dec 20, 2005 7:36 pm
- Location: São Paulo - Brasil
- Been thanked: 3 times
- Contact:
Re: Controles en dialogos no se alinean
Que usas, @Say ó Recursos del Workshop.exe the best? Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
- Compuin
- Posts: 1253
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 10 times
- Been thanked: 3 times
Re: Controles en dialogos no se alinean
No uso recursos, todos los controles hecho a codigo
PS (No quiero usar recursos)
PS (No quiero usar recursos)
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Re: Controles en dialogos no se alinean
Yo hace tiempo que en mis desarrollos intento por todos los medios no usarlos, solo para las imagenes
Pon un ejemplo de como lo haces
Pon un ejemplo de como lo haces
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
- Compuin
- Posts: 1253
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 10 times
- Been thanked: 3 times
Re: Controles en dialogos no se alinean
cnavarro wrote:Yo hace tiempo que en mis desarrollos intento por todos los medios no usarlos, solo para las imagenes
Pon un ejemplo de como lo haces
@ 1,01 SAY "Nombre: " RIGHT
@ 2,01 SAY "Apellido : " RIGHT
@ 3,01 SAY "Curso : " RIGHT
@ 4,01 SAY "Horario : " RIGHT
@ 1,20 GET oNombre VAR cNombre
@ 3,06 GET oApellido VAR cApellido;
@ 3,06 COMBOBOX oHorario VAR cHorario ITEMS {"Diurno","Nocturno"}
@ 4,06 CHECKBOX lStatus PROMPT "Status"
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Re: Controles en dialogos no se alinean
Entiendo que los controles son esos o cualquier otros
No me refería sólo a eso, sino a la definición del diálogo ( o contenedor ) y del font ( también importante )
Es decir, un ejemplo completo para su implementación
No me refería sólo a eso, sino a la definición del diálogo ( o contenedor ) y del font ( también importante )
Es decir, un ejemplo completo para su implementación
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
- Compuin
- Posts: 1253
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 10 times
- Been thanked: 3 times
Re: Controles en dialogos no se alinean
DEFINE DIALOG oDlg;
FROM 0,0 TO 80, 80;
PIXEL TITLE 'Test' OF oWnnPPal
@ 1,01 SAY "Nombre: " RIGHT
@ 2,01 SAY "Apellido : " RIGHT
@ 3,01 SAY "Curso : " RIGHT
@ 4,01 SAY "Horario : " RIGHT
@ 1,20 GET oNombre VAR cNombre
@ 3,06 GET oApellido VAR cApellido;
@ 3,06 COMBOBOX oHorario VAR cHorario ITEMS {"Diurno","Nocturno"}
@ 4,06 CHECKBOX lStatus PROMPT "Status"
ACTIVATE DIALOG oDlg NOWAIT
FROM 0,0 TO 80, 80;
PIXEL TITLE 'Test' OF oWnnPPal
@ 1,01 SAY "Nombre: " RIGHT
@ 2,01 SAY "Apellido : " RIGHT
@ 3,01 SAY "Curso : " RIGHT
@ 4,01 SAY "Horario : " RIGHT
@ 1,20 GET oNombre VAR cNombre
@ 3,06 GET oApellido VAR cApellido;
@ 3,06 COMBOBOX oHorario VAR cHorario ITEMS {"Diurno","Nocturno"}
@ 4,06 CHECKBOX lStatus PROMPT "Status"
ACTIVATE DIALOG oDlg NOWAIT
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Re: Controles en dialogos no se alinean
Veo que no utilizas la clausula SIZE en los controles
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
- Compuin
- Posts: 1253
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 10 times
- Been thanked: 3 times
Re: Controles en dialogos no se alinean
Eso influye para que los muestre desordenados?
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Re: Controles en dialogos no se alinean
Compuin wrote:Saludos
Cual es la mejor manera de trabajar los controles en un dialogo incrustrado en una Windows ?
A pesar que hago las alineaciones nunca quedan donde deben estar
Los dialogos se trabajan en columnas/filas o en pixeles ?
Ventajas / desventajasde cada uno ?
Gracias a todos lo que puedan aclarar
No hombre, no es exactamente eso
Pero, lo que quiero exponer es que el hecho de que no use recursos para el diseño, no me hace olvidar la información que incluyen los .rc para su diseño y uso posterior.
Eso sí, todos los elementos de cada control estará definido con variables y no valores fijos
Ejemplo:
@ nRow, nCol SAY "Nombre: " RIGHT
Ah!, yo utilizo siempre PIXEL
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
- Compuin
- Posts: 1253
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 10 times
- Been thanked: 3 times
Re: Controles en dialogos no se alinean
cnavarro wrote:Compuin wrote:Saludos
Cual es la mejor manera de trabajar los controles en un dialogo incrustrado en una Windows ?
A pesar que hago las alineaciones nunca quedan donde deben estar
Los dialogos se trabajan en columnas/filas o en pixeles ?
Ventajas / desventajasde cada uno ?
Gracias a todos lo que puedan aclarar
No hombre, no es exactamente eso
Pero, lo que quiero exponer es que el hecho de que no use recursos para el diseño, no me hace olvidar la información que incluyen los .rc para su diseño y uso posterior.
Eso sí, todos los elementos de cada control estará definido con variables y no valores fijos
Ejemplo:
@ nRow, nCol SAY "Nombre: " RIGHT
Ah!, yo utilizo siempre PIXEL
No entendi lo del .RC
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Re: Controles en dialogos no se alinean
No quiero decir que has de utilizar RC, justo es lo que intentamos evitar
Quiero decir que intentes definir los controles con las características que puedes llegar a necesitar para manejar su ubicación en el contenedor
Cuando defines un control en el RC, siempre aparece la fila, columna, ancho y alto, no?
Quiero decir que intentes definir los controles con las características que puedes llegar a necesitar para manejar su ubicación en el contenedor
Cuando defines un control en el RC, siempre aparece la fila, columna, ancho y alto, no?
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
- Compuin
- Posts: 1253
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 10 times
- Been thanked: 3 times
Re: Controles en dialogos no se alinean
cnavarro wrote:No quiero decir que has de utilizar RC, justo es lo que intentamos evitar
Quiero decir que intentes definir los controles con las características que puedes llegar a necesitar para manejar su ubicación en el contenedor
Cuando defines un control en el RC, siempre aparece la fila, columna, ancho y alto, no?
Ok podrias darme un ejemplo de como hacerlo ?
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Re: Controles en dialogos no se alinean
Ok, algo asi, lo he copiado de un ejemplo que tengo, sin comprobar su funcionamiento, pero por lo menos ves lo que quiero decir
Faltaría parametrizar tambien las columnas, pero tal y como están definidas en esta ejemplo, no creo que te sea muy difícil
Faltaría parametrizar tambien las columnas, pero tal y como están definidas en esta ejemplo, no creo que te sea muy difícil
Code: Select all | Expand
Static nPorHeight := 1 // Estas son para distintas resoluciones quizás
Static nPorWidth := 1
Function Main()
DlgClient()
Return nil
Function DlgClient( )
local oDlg
local aCtl[ 25 ]
local oFont
local oFontBold
local lRet := .F.
local nFil := 10
local nClrT := CLR_BLUE
local nClrTG := CLR_BLUE
local nClrB := CLR_HGRAY //WHITE
local oChk
local cId := Space( 9 )
local cNombre := Space( 20 )
local cApells := Space( 20 )
local dDateI := Date() //Ctod( "9999/99/99" )
local nF1 := 91 * nPorHeight
local nC1 := 300
local nF2 := 480 * nPorHeight
local nC2 := 720
local aRet := {}
local nOld := Select()
local n := 0
local nInc := 14 * nPorHeight
cId := PadR( aDats[ 1 ], 9 )
cNombre := PadR( aDats[ 2 ], 15 )
cApells := PadR( aDats[ 3 ], 30 )
DEFINE FONT oFont NAME "Calibri" SIZE 0, -14 * nPorHeight
DEFINE FONT oFontBold NAME "Calibri" SIZE 0, -18 * nPorHeight BOLD
DEFINE DIALOG oDlg FROM nF1, nC1 TO nF2, nC2 PIXEL COLORS nClrT, nClrB ;
TITLE "Add/Edit Client" // FONT oFontBold //;
oDlg:lHelpIcon := .F.
oDlg:nOpacity := 240 // 0 .. 255 //oDlg:nSeeThroClr := <nColor>
@ nFil, 5 SAY aCtl[ 1 ] PROMPT "Codigo:" OF oDlg ;
FONT oFont UPDATE ;
COLORS nClrTG, nClrB SIZE 70 * nPorWidth, 11 * nPorHeight PIXEL
@ nFil, 45 GET aCtl[ 2 ] VAR cId OF oDlg ;
FONT oFont UPDATE PICTURE "@!" ;
COLORS nClrT, nClrB SIZE 56 * nPorWidth, 11 * nPorHeight PIXEL
nFil += nInc
@ nFil, 5 SAY aCtl[ 5 ] PROMPT "Nombre:" OF oDlg ;
FONT oFont UPDATE ;
COLORS nClrTG, nClrB SIZE 70 * nPorWidth, 11 * nPorHeight PIXEL
@ nFil, 45 GET aCtl[ 6 ] VAR cNombre OF oDlg ;
FONT oFont UPDATE PICTURE "@K" ;
COLORS nClrT, nClrB SIZE 100 * nPorWidth, 11 * nPorHeight PIXEL
nFil += nInc
@ nFil, 5 SAY aCtl[ 11 ] PROMPT "Apellidos:" OF oDlg ;
FONT oFont UPDATE ;
COLORS nClrTG, nClrB SIZE 70 * nPorWidth, 11 * nPorHeight PIXEL
@ nFil, 45 GET aCtl[ 12 ] VAR cApells OF oDlg ;
FONT oFont UPDATE PICTURE "@K" ;
COLORS nClrT, nClrB SIZE 156 * nPorWidth, 11 * nPorHeight PIXEL
nFil += nInc
@ nFil, 83 BUTTON aCtl[ 23 ] PROMPT "&Aceptar" OF oDlg ; //164
FONT oFont SIZE 53 * nPorWidth, 14 * nPorHeight PIXEL ACTION ( lRet := .T., oDlg:End() )
@ nFil, 145 BUTTON aCtl[ 24 ] PROMPT "&Cancelar" OF oDlg ;
FONT oFont SIZE 53 * nPorWidth, 14 * nPorHeight PIXEL ACTION oDlg:End()
ACTIVATE DIALOG oDlg VALID ( .T. ) //NOWAIT
oFont:End()
oFontBold:End()
Return nil
//----------------------------------------------------------------------------//
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
- Compuin
- Posts: 1253
- Joined: Tue Dec 28, 2010 1:29 pm
- Location: Quebec, Canada
- Has thanked: 10 times
- Been thanked: 3 times
Re: Controles en dialogos no se alinean
cnavarro wrote:Ok, algo asi, lo he copiado de un ejemplo que tengo, sin comprobar su funcionamiento, pero por lo menos ves lo que quiero decir
Faltaría parametrizar tambien las columnas, pero tal y como están definidas en esta ejemplo, no creo que te sea muy difícilCode: Select all | Expand
Static nPorHeight := 1 // Estas son para distintas resoluciones quizás
Static nPorWidth := 1
Function Main()
DlgClient()
Return nil
Function DlgClient( )
local oDlg
local aCtl[ 25 ]
local oFont
local oFontBold
local lRet := .F.
local nFil := 10
local nClrT := CLR_BLUE
local nClrTG := CLR_BLUE
local nClrB := CLR_HGRAY //WHITE
local oChk
local cId := Space( 9 )
local cNombre := Space( 20 )
local cApells := Space( 20 )
local dDateI := Date() //Ctod( "9999/99/99" )
local nF1 := 91 * nPorHeight
local nC1 := 300
local nF2 := 480 * nPorHeight
local nC2 := 720
local aRet := {}
local nOld := Select()
local n := 0
local nInc := 14 * nPorHeight
cId := PadR( aDats[ 1 ], 9 )
cNombre := PadR( aDats[ 2 ], 15 )
cApells := PadR( aDats[ 3 ], 30 )
DEFINE FONT oFont NAME "Calibri" SIZE 0, -14 * nPorHeight
DEFINE FONT oFontBold NAME "Calibri" SIZE 0, -18 * nPorHeight BOLD
DEFINE DIALOG oDlg FROM nF1, nC1 TO nF2, nC2 PIXEL COLORS nClrT, nClrB ;
TITLE "Add/Edit Client" // FONT oFontBold //;
oDlg:lHelpIcon := .F.
oDlg:nOpacity := 240 // 0 .. 255 //oDlg:nSeeThroClr := <nColor>
@ nFil, 5 SAY aCtl[ 1 ] PROMPT "Codigo:" OF oDlg ;
FONT oFont UPDATE ;
COLORS nClrTG, nClrB SIZE 70 * nPorWidth, 11 * nPorHeight PIXEL
@ nFil, 45 GET aCtl[ 2 ] VAR cId OF oDlg ;
FONT oFont UPDATE PICTURE "@!" ;
COLORS nClrT, nClrB SIZE 56 * nPorWidth, 11 * nPorHeight PIXEL
nFil += nInc
@ nFil, 5 SAY aCtl[ 5 ] PROMPT "Nombre:" OF oDlg ;
FONT oFont UPDATE ;
COLORS nClrTG, nClrB SIZE 70 * nPorWidth, 11 * nPorHeight PIXEL
@ nFil, 45 GET aCtl[ 6 ] VAR cNombre OF oDlg ;
FONT oFont UPDATE PICTURE "@K" ;
COLORS nClrT, nClrB SIZE 100 * nPorWidth, 11 * nPorHeight PIXEL
nFil += nInc
@ nFil, 5 SAY aCtl[ 11 ] PROMPT "Apellidos:" OF oDlg ;
FONT oFont UPDATE ;
COLORS nClrTG, nClrB SIZE 70 * nPorWidth, 11 * nPorHeight PIXEL
@ nFil, 45 GET aCtl[ 12 ] VAR cApells OF oDlg ;
FONT oFont UPDATE PICTURE "@K" ;
COLORS nClrT, nClrB SIZE 156 * nPorWidth, 11 * nPorHeight PIXEL
nFil += nInc
@ nFil, 83 BUTTON aCtl[ 23 ] PROMPT "&Aceptar" OF oDlg ; //164
FONT oFont SIZE 53 * nPorWidth, 14 * nPorHeight PIXEL ACTION ( lRet := .T., oDlg:End() )
@ nFil, 145 BUTTON aCtl[ 24 ] PROMPT "&Cancelar" OF oDlg ;
FONT oFont SIZE 53 * nPorWidth, 14 * nPorHeight PIXEL ACTION oDlg:End()
ACTIVATE DIALOG oDlg VALID ( .T. ) //NOWAIT
oFont:End()
oFontBold:End()
Return nil
//----------------------------------------------------------------------------//
Muchas gracias Cristobal
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code