Page 11 of 12

Function InputWindow()

Posted: Thu Mar 19, 2015 11:48 pm
by Pablo César
Hi all,

ChangeLog - Version 1.14:
  1. Fixed bug when columnWidth is equal to 0 (zero).
  2. Considered CellColClicked when grid is not CELLNAVIGATION and control be focused in accordingly even if keyboard be pressed.
  3. No fields e displayed when Column width is zero and will not occupied any space for that.
  4. CheckBox as sub-item was included.
  5. When Grids is using images at first column (old way to do it thru IMAGE property) will not considered column for displaying.
  6. Replacing all code where I used: _DefineDatePick, _DefineMaskedTextbox, _DefineCombo, _DefineHotKey, Etc. for currents precompile directives, eg. DEFINE LABEL, etc.
Here in attached is the new InputWindow for HMG library (to be approved by HMGDT):


Rgds

Re: Function InputWindow()

Posted: Fri Mar 20, 2015 1:22 am
by Javier Tovar
Gracias Pablo César por compartir!

Saludos

Re: Function InputWindow()

Posted: Fri Mar 20, 2015 10:30 am
by Agil Abdullah
Hi Friends,
Thanks for nice discussion.

Function InputWindow()

Posted: Fri Mar 20, 2015 11:30 am
by Pablo César
Javier, Agil. Thank you for your participation too ! :)

It's a pleasure !

InputWindow - SetMethodCode

Posted: Thu Jun 18, 2015 6:07 pm
by luisvasquezcl
Estimado Pablo,
Es posible que se incluya en el fuente de inputwindow la función SetMethodCode?.
Vuelvo a reiterarte lo útil que ha sido tu programa.
saludos cordiales,
Luis Vásquez.

InputWindow - SetMethodCode

Posted: Thu Jun 18, 2015 7:04 pm
by Pablo César
Gracias Luis,
luisvasquezcl wrote:Es posible que se incluya en el fuente de inputwindow la función SetMethodCode?
Puedo preguntarte por qué razón ? Qué beneficio encuentras en eso ? Cual es tu idea ?

Porque recordando bien, esta función:

Code: Select all

Static Function SetMethodCode( cForm, cControl, cMethod, bCode )
Local nIndex:=GetControlIndex( cControl, cForm )
Local cControlType:=GetControlTypeByIndex (nIndex)

Do Case
   Case nIndex=0
   Case cControlType = "COMBO"
        Do Case
           Case cMethod='DISPLAYCHANGE'
                _HMG_SYSDATA [  6 ][nIndex] :=  bCode
           Case cMethod='LISTDISPLAY'
                // _HMG_aControlInputMask [nIndex] := bCode
           Case cMethod='LOSTFOCUS'
                _HMG_SYSDATA [ 10 ][nIndex] :=  bCode
           Case cMethod='GOTFOCUS'
                _HMG_SYSDATA [ 11 ][nIndex] :=  bCode
           Case cMethod='CHANGE'
                _HMG_SYSDATA [ 12 ][nIndex] :=  bCode
           Case cMethod='ENTER'
                _HMG_SYSDATA [ 16 ][nIndex] :=  bCode
           Case cMethod='LISTCLOSE'
                // _HMG_aControlPicture[nIndex] :=  bCode
        EndCase
   Case cControlType = "TEXT" .or. cControlType = "NUMTEXT" .or. cControlType = "MASKEDTEXT"
        Do Case
           Case cMethod='LOSTFOCUS'
                _HMG_SYSDATA [ 10 ][nIndex] :=  bCode
                SetProperty(cForm, cControl, cMethod, bCode)
           Case cMethod='GOTFOCUS'
                _HMG_SYSDATA [ 11 ][nIndex] :=  bCode
           Case cMethod='CHANGE'
                _HMG_SYSDATA [ 12 ][nIndex] :=  bCode
           Case cMethod='ENTER'
                _HMG_SYSDATA [ 16 ][nIndex] :=  bCode
        Endcase
   Case cControlType = "EDIT"
        Do Case
           Case cMethod='LOSTFOCUS'
                _HMG_SYSDATA [ 10 ][nIndex] :=  bCode
           Case cMethod='GOTFOCUS'
                _HMG_SYSDATA [ 11 ][nIndex] :=  bCode
           Case cMethod='CHANGE'
                _HMG_SYSDATA [ 12 ][nIndex] :=  bCode
        EndCase
   Case cControlType = "DATEPICK"
        Do Case
           Case cMethod='LOSTFOCUS'
                _HMG_SYSDATA [ 10 ][nIndex] :=  bCode
           Case cMethod='GOTFOCUS'
                _HMG_SYSDATA [ 11 ][nIndex] :=  bCode
           Case cMethod='CHANGE'
                _HMG_SYSDATA [ 12 ][nIndex] :=  bCode
           Case cMethod='ENTER'
                _HMG_SYSDATA [ 6 ][nIndex] :=  bCode
        EndCase
   Case cControlType = "CHECKBOX"
        Do Case
           Case cMethod='LOSTFOCUS'
                _HMG_SYSDATA [ 10 ][nIndex] :=  bCode
           Case cMethod='GOTFOCUS'
                _HMG_SYSDATA [ 11 ][nIndex] :=  bCode
           Case cMethod='CHANGE'
                _HMG_SYSDATA [ 12 ][nIndex] :=  bCode
           Case cMethod='ENTER'
                _HMG_SYSDATA [ 6 ][nIndex] := bCode
        EndCase
   Case cControlType = "GRID"
        Do Case
           Case cMethod='LOSTFOCUS'
                _HMG_SYSDATA [ 10 ][nIndex] :=  bCode
           Case cMethod='GOTFOCUS'
                _HMG_SYSDATA [ 11 ][nIndex] :=  bCode
           Case cMethod='CHANGE'
                _HMG_SYSDATA [ 12 ][nIndex] :=  bCode
           Case cMethod='ENTER'
                _HMG_SYSDATA [ 16 ][nIndex] := .T.
        EndCase
EndCase
DO Events
Return Nil
Fué mostrada en un DEMO pero se puede incorparar por el própio usuário a através de una UDF y definirla en bCode (decimo primer parámetro). Digo esto, porque no todos utilizan su própio UDF en InputWindow.
Explicame mejor, precisamos de argumentos evaluar si seria conveniente.

Me alegra saber que usas el InputWindow, de forma avanzada. :) Felicitaciones.

Movi tu tópico porque estaba en otro tópico que no habla del InputWindow.

Un abrazo,

Re: Function InputWindow()

Posted: Thu Jun 18, 2015 7:54 pm
by luisvasquezcl
Hola Pablo,
Creo que al ser una función específica de inputwindow debería estar juntos.
Normalmente cuando un elemento me presenta una función para interactuar, sólo la uso y no veo la implementación de la misma como es en este caso, que hay que copiarla a nuestros fuentes.
Es mi punto de vista.
Saludos cordiales,
Luis Vásquez

Function InputWindow()

Posted: Thu Jun 18, 2015 8:05 pm
by Pablo César
Tenés razon Luis, yo tambien pienso igual.

Apesar que me dejé llevar porque pensé que esta función no seria reconocida porque no está documentada.
Es decir ella por causa de que solo puede ser llamada a través de la UDF, poderian facilmente olvidarse de la existencia della. Por eso opté por colocarla de afuera del nuevo InputWindow.

Talvez cabe documentar mejor esta sub-función que sirve para interactuar con los eventos de dentro del InputWindow.

Iré consultar al HDT y doy una respuesta.

Gracias por tu participación Luis.

Un abrazo,

Re: Function InputWindow()

Posted: Thu Jun 18, 2015 8:17 pm
by luisvasquezcl
Estimado,
tal como dice usted, una buena documentación y listo. Los que vayan a utilizar tu función obligatoriamente tendrán que leer la ayuda y allí es donde debe aparecer bien indicada.
saludos cordiales,
Luis Vásquez.

Function InputWindow()

Posted: Thu Jun 18, 2015 8:21 pm
by Pablo César
Luis podés tutearme (amigos se tutean). :)

Si tienes alguns sugerencia para mejorar, ampliar o corregir algo del hmgdoc, siempre bien venido.

Por favor, cuento contigo con tu participacion. Ok ?

Un abrazo,