FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Bug in TComboBox
Posts: 9022
Joined: Thu Oct 06, 2005 08:17 PM
Bug in TComboBox
Posted: Thu Dec 28, 2006 06:00 PM
Valid clause is evaluated on gotfocus instead of lostfocus in CBS_DROPDOWN combos:

#include "Fivewin.ch"


FUNCTION MAIN()

    LOCAL oDlg

    LOCAL oCbx, cVar := SPACE( 20 )

    DEFINE DIALOG oDlg

    @ 1, 1 COMBOBOX oCbx VAR cVar;
           ITEMS { "First", "Second", "Third" };
           STYLE CBS_DROPDOWN;
           VALID ( MSGINFO( "Valid" ), .T. )

    @ 3, 1 BUTTON "&Close" ACTION oDlg:End()

    ACTIVATE DIALOG oDlg;
             CENTER

    RETURN NIL


EMG
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Bug in TComboBox
Posted: Sat Dec 30, 2006 08:51 AM

Enrico,

The problem is that when CBS_DROPDOWN style is used a Get is created as a child of the combobox, and when the combobox gets the focus, it gives it to the Get, thats why the bValid is fired.

We have tried to modify the code this way:

oCbx:oGet:bValid = { || MsgInfo(), .t. }

but the wrong behavior persists. We may need to review the Class combobox to see if we can improve it.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 9022
Joined: Thu Oct 06, 2005 08:17 PM

Continue the discussion