PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → Deixar  o campo que tem o FOCO  com uma COR  Diferente para Melhor visualizacao
Deixar o campo que tem o FOCO com uma COR Diferente para Melhor visualizacao
Iniciado por Carlos Lages, fev., 23 2021 10:11 PM - Sem resposta
Publicado em fevereiro, 23 2021 - 10:11 PM
O que faz isso

-- em qualquer local no projeto, o CAMPO que tiver o FOCO vai ficar com a COR PAdrao(LightGreen)
-- em qualquer local no projeto, o BOTAO que tiver o FOCO vai ficar com uma Sobra AZUL para saber que o FOCO esta
no BOTAO
-- Em todo campo Numerico se NUMLOCK estiver OFF vai ficar ON


att

Carlos Lages
Ps: o Escopo desta Rotina me foi fornecido pelo Conde Vlad (in Memoriam)



No CODE do Projeto coloque

//Define a cor padrão para amarelo
Wsge_CorAnterior, Wsge_CorPadrao are 4bytes int = 0
Wsge_CorPadrao = LightGreen // 65280 CONFORME TABELA DA PCSOFT DE CORES

//// Declaring the event
Event(GBEvent_FocusGain, "*.*", WM_SETFOCUS)
Event(GBEvent_FocusLost, "*.*", WM_KILLFOCUS)



Na Global Procedure do Projeto coloque estas 2 Procedures

///-------------------------------------------------------------------------------------------------------------------------------------
PROCEDURE GBEvent_FocusGain()
IF MySelf..Type = typText OR MySelf..Type = typCheckBox OR MySelf..Type = typNum OR
MySelf..Type = typCurrency OR MySelf..Type = typComboWE OR MySelf..Type = typComboNE OR
MySelf..Type = typDate THEN
Wsge_CorAnterior = MySelf..BrushColor
MySelf..Color = DarkGreen
MySelf..FontItalic = True
MySelf..BrushColor = Wsge_CorPadrao // wsge_corpadrao e definida pelo usuario e sera a cor quando campo estiver o FOCO
END

IF MySelf..Type = typNum OR
MySelf..Type = typCurrency OR
MySelf..Type = typDate THEN

ws_Numlock is int = 0
ws_Numlock = AppelDLL32("USER32","GetKeyState",144) // = 0 Numlock OFF = 1 NumLOCK ON
IF ws_Numlock = 0
SendKey("{NUMLOCK}") // se for campo de numero, valor e data ativa NumLock THEN
END
END


// abaixo coloco sombra azul no botao que esta com Foco
IF MySelf..Type = typButton
MySelf..VisualEffect = veBlueShade
END

RETURN

///-------------------------------------------------------------------------------------------------------------------------------------


PROCEDURE GBEvent_FocusLost()

IF MySelf..Type = typText OR MySelf..Type = typCheckBox OR MySelf..Type = typNum OR
MySelf..Type =typCurrency OR MySelf..Type = typComboWE OR MySelf..Type = typComboNE OR
MySelf..Type = typDate THEN
MySelf..Color = DefaultColor
MySelf..BrushColor = Wsge_CorAnterior
MySelf..FontItalic = False
END


IF MySelf..Type = typButton
MySelf..VisualEffect = veNone
END



RETURN