Function InputWindow()

Creative ideas/suggestions for HMG

Moderator: Rathinagiri

User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Function InputWindow()

Post 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
Attachments
InputWindow.rar
Source file - Version 1.14
(5.91 KiB) Downloaded 357 times
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
Javier Tovar
Posts: 1275
Joined: Tue Sep 03, 2013 4:22 am
Location: Tecámac, México

Re: Function InputWindow()

Post by Javier Tovar »

Gracias Pablo César por compartir!

Saludos
User avatar
Agil Abdullah
Posts: 204
Joined: Mon Aug 25, 2014 11:57 am
Location: Jakarta, Indonesia
Contact:

Re: Function InputWindow()

Post by Agil Abdullah »

Hi Friends,
Thanks for nice discussion.
Agil Abdullah Albatati (just call me Agil)
Programmer Never Surrender
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Function InputWindow()

Post by Pablo César »

Javier, Agil. Thank you for your participation too ! :)

It's a pleasure !
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
luisvasquezcl
Posts: 1258
Joined: Thu Jul 31, 2008 3:23 am
Location: Chile
Contact:

InputWindow - SetMethodCode

Post 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.
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

InputWindow - SetMethodCode

Post 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,
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
luisvasquezcl
Posts: 1258
Joined: Thu Jul 31, 2008 3:23 am
Location: Chile
Contact:

Re: Function InputWindow()

Post 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
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Function InputWindow()

Post 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,
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
luisvasquezcl
Posts: 1258
Joined: Thu Jul 31, 2008 3:23 am
Location: Chile
Contact:

Re: Function InputWindow()

Post 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.
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Function InputWindow()

Post 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,
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
Post Reply