Jump to content
Fivewin Brasil

Problema de foco no dbCombo e ComboBox


Anthony Ormond

Recommended Posts

ANDERSON, PORQUE VOCE PRECISA DE UM MENU NO ON INIT DO DIALOGO??

ESTE DIALOGO QUE VODE POSTOU, ESTÃ DANIFICADO. JÃ CORRIGIDO, POR MIM.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

Skype: fw_kapiaba

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

  • Replies 56
  • Created
  • Last Reply

Top Posters In This Topic

Kapiaba, como dica do amigo Marcelo (Kabelo), para incluir um menu no dialogo, eu devo executar o metodo SetMenu( oMenu ) do dialogo, e isto tem que ser feito durante/depois deste ter sido iniciado.

Qto a necessidade da existencia de um menu do dialogo, isto faz parte da interface do sistema, por padrão toda janela deve oferecer multiplas formas de executar um mesmo procedimento para o usuario (seja através de botão, Menu, Tecla de atalho, comando de voz, sinal se fumaça, say lah).

Este tipo de regra (fornecer multiplas formas de recurso para executar uma função) aprendi na facul, mas não é só por isto, veja bem, nas minhas telas de cadastro, tenho uma barra de ferramentas (ToolBar), esta nunca será modificada, e se comporta de acordo com o status do banco de dados!

O menu também é padrão, mas pode existir a necessidade de incluir um recurso extra no cadastro, daew para nao modificar a interface da janela de cadastro, este recurso será inserido no menu!

Veja as figura abaixo:

Cadastro de produto (com um menu a +)

produto1hy0.pngproduto5yc9.png

Cadastro de clientes (menu padrão)

cliente2df2.pngcliente1he2.png

Espero que tenha me entendido e que seja capaz de me ajudar!!

Abraços icon_smile_wink.gif

Anderson.OL

Skype: andersonolid=green>

FW(2.6) | Clpp (5.3)

FWH(2.6) | xH 0.99.51 (simplex)| C++ 5.5

Quebrando tudo!id=red>

myif9.gif

Link to comment
Share on other sites

Anderson,

parabéns pelo padrão das suas telas...

muito profissional...

um abraço

V ENCONTRO DE FW - NOVEMBRO/2007 - Eu vou !!! E você ?

Yury Marcelino Al

Viman Sistemas

vimansca@vimansca.com.br

yury030575@yahoo.com.br (msn)

skype: yury.marcelino.al

Leme / SP

FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.65

Link to comment
Share on other sites

citação:

Se der tempo, neste final de semana, vejo algo para ti... Estou enrolado.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

Skype: fw_kapiaba

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe


id=quote>id=quote>

Kapiaba, entendo que todos aqui tem compromissos com empresa (qdo funcionarios) ou diretamente com clientes (qdo freelancers) sendo assim, nao se preocupe, curta seu fim de semana, agora que identifiquei o problema como sendo no menu (espero não estar errado) vou estudar melhor esta classe e tentar resolver isto por aki.

Abraços ;)

Anderson.OL

Skype: andersonolid=green>

FW(2.6) | Clpp (5.3)

FWH(2.6) | xH 0.99.51 (simplex)| C++ 5.5

Quebrando tudo!id=red>

myif9.gif

Link to comment
Share on other sites

//-> é mais ou menos assim - Olhe para botoes2


#Include "FiveWin.Ch"

#Define CLR_LGRAY nRGB( 230, 230, 230 )

#Define CLR_LGREEN nRGB( 190, 215, 190 )

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

FUNCTION Usuario() // Usu rios das Senhas

LOCAL oWndBrw, oLbx, oCursor, oHand, oFont

USE Usuario INDEX CODUSER ALIAS Usuario SHARED

Usuario->( DbGoTop() )

// cUser = C¢digo do Usu rio da Senha

// cUsuario = Nome do Usu rio da Senha

DEFINE FONT oFont NAME "Arial" WEIGHT 8 BOLD

DEFINE CURSOR oHand RESOURCE "C_Hand"

DEFINE DIALOG oWndBrw FROM 3,25 TO 32,75 ;

TITLE ( OemToAnsi( "Controle de Usu rios" ) )

// Este Comando, Desliga Aquela ? Chata da Dialog que Pede o Help.

oWndBrw:LHELPICON := .F.

@ 1.2, 0 LISTBOX oLbx ;

FIELDS Usuario->Codigo, Usuario->Nome ;

HEADERS "Código" , "Usuário" ;

SIZE 199, 204 ;

COLOR CLR_BROWN, CLR_LGREEN ;

OF oWndBrw ;

FONT oFont ;

ON DBLCLICK( Edita( oLbx, .F. ) )

oLbx:bKeyDown := { | nKey | IIF( nKey = VK_RETURN, ;

( Edita( oLbx, .F. ), ;

oLbx:Refresh(), oLbx:SetFocus() ), ) }

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

oLbx:nClrBackHead := CLR_LGREEN // Cor do Fundo do Cabe‡alho

oLbx:nClrBackFocus := CLR_HRED // Cor do Cursor Em Cima do Ötem

oLbx:nClrForeHead := CLR_HRED // Cor nos Headers - Cabe‡alhos

// Cor no Pano de Fundo da Browse() Listbox-Legal - abaixo o comando

oLbx:nClrPane := { || IIF( ( oLbx:cAlias )->( OrdKeyNo() ) %2 == 0, ;

CLR_LGREEN, CLR_LGRAY ) }

oLbx:nColAct := 2 // Onde o Cursor Vai Iniciar qual coluna?

oLbx:nLineStyle := 3 // Separador de linhas nos dados

oLbx:lCellStyle := .T. // S¢ Pinta a celula que o cursor est 

oLbx:aJustify := { .F., .F., .F., .F. } // Justifica As Colunas dos Campos Esq. .T. =Centro

oLbx:lMChange := .F. // Desabilita Mousemove

oLbx:SetFocus() // Refocus on The Browse

oLbx:UpStable() // Corrects same page stabilizing Bug

oLbx:Refresh() // Estabiliza o Browse/Listbox

ACTIVATE DIALOG oWndBrw ;

ON INIT Botoes2( oWndBrw, oLbx ) ;

VALID ( !GetKeyState( VK_ESCAPE ) ) // Impede Sair Teclando

oFont:End()

oHand:End()

EndDialog()

GlobalFree()

ResAllFree()

RETURN NIL

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

STATIC FUNCTION Edita( oLbx, lAppend )

FIELD Codigo

LOCAL oDlg, cCodigo, cNome, cChave

LOCAL lSave := .F.

LOCAL X_Itens := 0

LOCAL nOldRec := RecNo()

// Para Somar o éltimo Registro, Para Usu rio NÆo Precisar Adivinhar

LOCAL lRegistro, lCodigo, X_Codigo, Y_Codigo, SLCodigo, XYCodigo

MEMVAR cAcessos, cUsuario, cUser

DEFAULT lAppend := .F.

If lAppend // Para Nova Senha

Usuario->( DbGoBottom() )

// Transforma o éltimo Registro em N£merico e Soma + 1 Para C¢digo

lRegistro := LASTREC()

lCodigo := Codigo

X_Codigo := lCodigo

Y_Codigo := 1

SLCodigo := VAL( X_Codigo ) + ( INT( Y_Codigo ) )

XYCodigo := STR( SLCodigo )

lCodigo := LTRIM( XYCodigo )

Usuario->( DbSkip() )

If Val( lCodigo ) <= 9

cCodigo := Space( 3 )

cCodigo := "0" + ( AllTrim( lCodigo ) )

Else

cCodigo := ( AllTrim( lCodigo ) )

Endif

cNome = Space( 15 )

cChave = Space( 20 )

Else // Para Alterar a Senha Somente se For o Pr¢prio Dono da Senha

If ( cUsuario ) == ( Usuario->NOME )

cCodigo = Usuario->Codigo

cNome = Usuario->Nome

cChave = Decrypt( Usuario->Chave, "Juanillo" )

Else

MsgStop( OemToAnsi( "Aten‡Æo:-> " + cUsuario +CRLF+ ;

"Vocˆ Est  Tentando Alterar a" +CRLF+ ;

"Senha do Usu rio: " +CRLF+ ;

( Usuario->NOME ) +CRLF+ ;

"Isto ‚ Ilegal, Por Favor, NÆo" +CRLF+ ;

"Fa‡a Isso, NÆo ‚ Permitido! " ), ;

( OemToAnsi( "Aten‡Æo, Entrada Proibida!" ) ) )

Return Nil

Endif

Endif

DEFINE DIALOG oDlg RESOURCE "DIA018"

// Este Comando, Desliga Aquela ? Chata da Dialog que Pede o Help.

ODLG:LHELPICON := .F.

REDEFINE GET cCodigo picture "999" ;

ID 101 WHEN lAppend OF oDlg ;

COLOR CLR_HRED, CLR_HCYAN

REDEFINE GET cNome ID 102 OF oDlg ;

COLOR CLR_HRED, CLR_HCYAN

REDEFINE GET cChave ID 103 OF oDlg ;

COLOR CLR_HRED, CLR_HCYAN

REDEFINE BUTTON ID 550 OF oDlg ;

ACTION ( lSave := .T. , oDlg:End() )

REDEFINE BUTTON ID 551 OF oDlg ;

ACTION oDlg:End() CANCEL

ACTIVATE DIALOG oDlg CENTERED

If lSave .And. !Empty( cNome )

If lAppend

Usuario->( DbAppend() )

For x_Itens = 1 to 156

cAcessos[x_Itens] = "0"

Next x_Itens

GravaAcesso()

Endif

If Usuario->(rlock())

Usuario->CODIGO := cCodigo

Usuario->NOME := cNome

Usuario->CHAVE := Encrypt(cChave,"Juanillo")

unlock

Else

MsgAlert( "O Registro Está Bloqueado Por Outro Usuário", ;

"Problemas de Rede" )

Endif

oLbx:Refresh()

Else

Usuario->( DbGoTo( nOldRec ) )

Endif

oLbx:Setfocus()

EndDialog()

GlobalFree()

ResAllFree()

return nil

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

STATIC FUNCTION Elimina( oLbx )

MEMVAR cAcessos, cUsuario, cUser

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

If ( cUsuario ) == ( Usuario->NOME )

// Pode Excluir

Else

MsgStop( OemToAnsi( "Aten‡Æo:-> " + cUsuario +CRLF+ ;

"Vocˆ Est  Tentando Excluir a" +CRLF+ ;

"Senha do Usu rio: " +CRLF+ ;

( Usuario->NOME ) +CRLF+ ;

"Isto ‚ Ilegal, Por Favor, NÆo" +CRLF+ ;

"Fa‡a Isso, NÆo ‚ Permitido! " ), ;

( OemToAnsi( "Aten‡Æo, Entrada Proibida!" ) ) )

Return Nil

Endif

If MsgYesNo( OemToAnsi( "Aten‡Æo Por Favor:" ) + CRLF + ;

OemToAnsi( "Est  Seguro de " + ;

"Querer Apagar Este Registro" ), ;

OemToAnsi( "Selecione Uma Op‡Æo" ) )

If Usuario->(rLock())

Usuario->(DbDelete())

UnLock

Endif

oLbx:Refresh()

oLbx:SetFocus()

Endif

oLbx:GoTop()

oLbx:Refresh()

oLbx:Setfocus()

SysRefresh()

return nil

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

STATIC FUNCTION Botoes2( oWndBrw, oLbx )

LOCAL oBar, oTab, oHand

MEMVAR cAcessos, cUsuario, cUser

DEFINE BUTTONBAR oBar SIZE 34,34 3D OF oWndBrw ;

CURSOR oHand

DEFINE BUTTON RESOURCE "ADD" OF oBar ;

ACTION( Edita( oLbx, .T. ), oLbx:Refresh(), ;

oLbx:Setfocus() ) ;

TOOLTIP "Incluir Um Registro(Usuário)" ;

NOBORDER

DEFINE BUTTON RESOURCE "EDT" OF oBar ;

ACTION( Edita( oLbx, .F. ), oLbx:Refresh(), ;

oLbx:Setfocus() ) ;

TOOLTIP "Modificar Um Registro(Usuário)" ;

NOBORDER

DEFINE BUTTON RESOURCE "DEL" OF oBar ;

ACTION( Elimina( oLbx ), oLbx:Refresh(), ;

oLbx:Setfocus() ) ;

TOOLTIP "Eliminar Um Registro(Usuário)" ;

NOBORDER

DEFINE BUTTON RESOURCE "LLAVES" OF oBar ;

ACTION( Acessos(), oLbx:Refresh(), ;

oLbx:Setfocus() ) ;

TOOLTIP "Controle de Acessos" ;

NOBORDER

DEFINE BUTTON RESOURCE "REPORT" OF oBar ;

ACTION( oLbx:Report() ) ;

TOOLTIP "Imprimir Usuários" ;

NOBORDER

DEFINE BUTTON RESOURCE "EXIT", "EXIT2" OF oBar ;

ACTION( DbCloseAll(), oWndBrw:End() ) ;

TOOLTIP "Finalizar" ;

CENTER ;

NOBORDER GROUP

// Tratamentos Para a Barra de Botäes

oBar:bRClicked := { || NIL } // Mouse Direito

oBar:bLClicked := { || NIL } // Mouse Esquerdo

RETURN NIL

//-------------FIM DO PROGRAMA-----------------------------------------------//

id=code>id=code>

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

Skype: fw_kapiaba

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

Peguei o bonde andando e nao prestei muita atenção, portanto se falar besteira não vem com curva não...

id=code>
id=code>

Putz esta de curva foi de lascar.

Oliveira, Sérgio A.

PERSONAL Comp. e Sitemas.id=green>

FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate.

TWBrowse(),C5Menu,vPrinter.

Link to comment
Share on other sites

citação:Onde já se viu??

Combinar um menu com uma Combobox e o Combobox para de funcionar?!?!


id=quote>id=quote>

O moço que dorme no vidro, não é que para de funcionar, e que vai ficar igual do Delphi, e isto programador que é programador não suporta.

Oliveira, Sérgio A.

PERSONAL Comp. e Sitemas.id=green>

FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate.

TWBrowse(),C5Menu,vPrinter.

Link to comment
Share on other sites

Sem tempo para aprofundar...

Se a dialogs tiver menu,folder,combo nao apresenta o problema, assim como se a dialog nao tiver menu nem folder nao precisa do bKeyDown

Assim que possível continuarei, e sem CURVA nenhuma.

Oliveira, Sérgio A.

PERSONAL Comp. e Sitemas.id=green>

FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate.

TWBrowse(),C5Menu,vPrinter.

Link to comment
Share on other sites

citação:

Sem tempo para aprofundar...

Se a dialogs tiver menu,folder,combo nao apresenta o problema, assim como se a dialog nao tiver menu nem folder nao precisa do bKeyDown

Assim que possível continuarei, e sem CURVA nenhuma.

Oliveira, Sérgio A.

PERSONAL Comp. e Sitemas.id=green>

FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate.

TWBrowse(),C5Menu,vPrinter.


id=quote>id=quote>

Entendo q esteja sem tempo, mas veja o teste q postei!!

http://www.fivewin.com.br/exibedicas.asp?id=816

Basta tirar o menu da dialog q funfa!!

Anderson.OL

Skype: andersonolid=green>

FW(2.6) | Clpp (5.3)

FWH(2.6) | xH 0.99.51 (simplex)| C++ 5.5

Quebrando tudo!id=red>

myif9.gif

Link to comment
Share on other sites

Sim eu entendi, fiz os testes em cima do que voce postou.

Apenas coloquei um Folder dentro do seu teste e o VK_RETURN funciona, mas como estou sem tempo (prazo para entregar sistema) apontei, quem sabe algum mestre, superpotencia ache a luz do fim do tunel.

Oliveira, Sérgio A.

PERSONAL Comp. e Sitemas.id=green>

FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate.

TWBrowse(),C5Menu,vPrinter.

Link to comment
Share on other sites

Anderson,

Não tenho a curva de conhecimento do Kapiaba ou do Personal, mas acho que com botões dá para fazer tudo o que você está querendo, usando a dupla caipira HIDE() e SHOW().

Os botões podem ter a imagem que você quiser, inclusive a de um menu. Naquele exemplo que você mostrow(), após clicar em "Diversos", seria dado um SHOW() nos botões "Duplicar Externo", "Duplicar Cadastro" e "Filtro", além de um Disable() nos Gets. Após clicar numa das opções, é só fazer o contrário.

Nunca tentei colocar um menu em Dialog, por isso minha curva é meia boca no assunto.

PS. Sérgio, para alegrar o Fórum, o que significa "O moço que dorme no vidro" ?? (hehe)

assinatpaulo.jpg

Editado por - pauloaraujo on 18/08/2007 15:32:53

Link to comment
Share on other sites

citação:

Aqui temos uma expressão quando o camarada fala asneiras, "Putz tú é Xarope heim !!!". Daí quando passa da conta...

Oliveira, Sérgio A.

PERSONAL Comp. e Sitemas.id=green>

FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate.

TWBrowse(),C5Menu,vPrinter.


id=quote>id=quote>

Essa eu não vou esquecer.


Xarope := "O moço que dorme no vidro"

id=code>id=code>

pct40.gif

assinatpaulo.jpg

Link to comment
Share on other sites

citação:

Sim eu entendi, fiz os testes em cima do que voce postou.

Apenas coloquei um Folder dentro do seu teste e o VK_RETURN funciona, mas como estou sem tempo (prazo para entregar sistema) apontei, quem sabe algum mestre, superpotencia ache a luz do fim do tunel.

Oliveira, Sérgio A.

PERSONAL Comp. e Sitemas.id=green>

FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate.

TWBrowse(),C5Menu,vPrinter.


id=quote>id=quote>

Mas jah tem um folder! o VK_RETURN funciona perfeitamente, com exceção dos componentes ComboBox e DBCombo!

Tow vendo uma luz no fim do tunel, soh tow achando que a fonte de luz eh um trem =/

Anderson.OL

Skype: andersonolid=green>

FW(2.6) | Clpp (5.3)

FWH(2.6) | xH 0.99.51 (simplex)| C++ 5.5

Quebrando tudo!id=red>

myif9.gif

Link to comment
Share on other sites

Experimente fazem com @Say.


@ l,c ComboBox oCampo Var vCampo ITEMS cItens OF oDlg[1] Pixel Size 100,100 UPDATE

oCampo:bKeyDown:={|Tecla| if(Tecla=VK_RETURN,oCampo1:SetFocus() ,)}

id=code>id=code>

Oliveira, Sérgio A.

PERSONAL Comp. e Sitemas.id=green>

FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate.

TWBrowse(),C5Menu,vPrinter.

Editado por - personal on 21/08/2007 09:12:41

Link to comment
Share on other sites

citação:

Experimente fazem com @Say.


@ l,c ComboBox oCampo Var vCampo ITEMS cItens OF oDlg[1] Pixel Size 100,100 UPDATE

oCampo:bKeyDown:={|Tecla| if(Tecla=VK_RETURN,oCampo1:SetFocus() ,)}

id=code>id=code>

Oliveira, Sérgio A.

PERSONAL Comp. e Sitemas.id=green>

FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate.

TWBrowse(),C5Menu,vPrinter.

Editado por - personal on 21/08/2007 09:12:41


id=quote>id=quote>

Ueh?!?!

Vale misturar recurso com @ say ??

Anderson.OL

Skype: andersonolid=green>

FW(2.6) | Clpp (5.3)

FWH(2.6) | xH 0.99.51 (simplex)| C++ 5.5

Quebrando tudo!id=red>

myif9.gif

Link to comment
Share on other sites

citação:

Puro bacanal, vale tudo.

Oliveira, Sérgio A.

PERSONAL Comp. e Sitemas.id=green>

FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate.

TWBrowse(),C5Menu,vPrinter.


id=quote>id=quote>

ANDERSON, OLHE O EXEMPLO QUE POSTEI, PARTA DALI, COLOQUE OS MENUS SUSPENSOS, NOS BOTOES.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

Skype: fw_kapiaba

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

citação:

citação:

Puro bacanal, vale tudo.

Oliveira, Sérgio A.

PERSONAL Comp. e Sitemas.id=green>

FWH 2.5, xharbour 0.99.4, SqlLib, MySql, xMate.

TWBrowse(),C5Menu,vPrinter.


id=quote>id=quote>

ANDERSON, OLHE O EXEMPLO QUE POSTEI, PARTA DALI, COLOQUE OS MENUS SUSPENSOS, NOS BOTOES.

João Santos - São Paulo.

kmt_karinha@pop.com.br

kapiaba@brfree.com.br

Skype: fw_kapiaba

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe


id=quote>id=quote>

Kapiaba, como eu estava falando com Personal (pelo skype), o topico num é meu, tow soh dando uma força pra conseguir uma solução, vou pedir pro Anthony testar e postar o resultado aki no forum.

Valeu pela solução.

Obrigado Kapiaba, Personal, Paulo Araujo

Anderson.OL

Skype: andersonolid=green>

FW(2.6) | Clpp (5.3)

FWH(2.6) | xH 0.99.51 (simplex)| C++ 5.5

Quebrando tudo!id=red>

myif9.gif

Link to comment
Share on other sites

Olá pessoal!!!

Estive dando uma olhada nesta situação, e embora seja versão diferente, observei que o combobox não passa por keychar ( passa se vc usar as teclas ), keydown, Gotfocus, LostFocus, enfim, por nada, simplismente nada, acrescentei a windows, dialog, control, menu, menuitem, combobox, dbcombo, nada nada, se vc coloca oGt[23]:bKeydown := {| nKey | alert(nKey) }, ela passa pelo keydown do window.prg, aí achei que se mexesse por ali daria certo massss..... necas.

Por anda passa o famijerado "ENTER" qdo está focado o combobox? se descobrir onde é mata a charada!!!!!

Alessandroid=blue>

FW20d+CL53b+Blinker7+@Say+CDX

MSN: ferracini_silva@hotmail.com

Ribeirão Preto/SP

V ENCONTRO DE PROGRAMADORES FIVEWIN - NOVEMBRO/2007 - EU VOUid=red>

Link to comment
Share on other sites

Olá,

para resolver o problema do enter no combobox inserir o seguinte método na classe:


METHOD KeyChar( nKey, nFlags ) CLASS TComboBox

local nNewAT := 0, nOldAT := ::nAT, uItem

do case

case nKey = 32 // VK_DELETE (DO NOT WORK!)

::cSearchKey := ""

nNewAt := 1

uItem := ::aItems[nNewAt]

case nKey = VK_BACK

::cSearchKey := Left( ::cSearchKey, Len( ::cSearchKey ) - 1 )

case nKey = 190

nKey := 0

::cSearchKey += "."

otherwise

::cSearchKey += Upper( Chr( nKey ) )

endcase

if Empty( uItem )

if nNewAt == 0

nNewAt := AScan( ::aItems, {|x| Upper(x) = ::cSearchKey } )

IF nNewAt > 0 .AND. Len( ::aItems ) <= nNewAt

uItem := ::aItems[ nNewAt ]

ENDIF

uItem := ::aItems[ IIF( nNewAt > 0, nNewAt, Max( ::nAT, 1 ) ) ]

else

uItem := ::aItems[ Max( nNewAt, 1) ]

endif

endif

::Set( uItem )

if ::bChange != nil .and. ( nNewAT != nOldAt .and. nNewAt != 0 )

Eval( ::bChange, Self, ::varGet() )

endif

if nKey == VK_RETURN

return ::oWnd:GoNextCtrl( ::hWnd )

endif

return 0 // Must be 0 - We don't want API default behavior.

id=code>id=code>

Encontrei isto no forum espanhol a algum tempo quando deparei com este problema.

Daniel Segura

ciacpd@terra.com.br

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...