Navigation difference Version 252 to 254

This forum is for eXpress++ general support.
Post Reply
Message
Author
User avatar
TWolfe
Posts: 60
Joined: Thu Jan 28, 2010 7:34 am

Navigation difference Version 252 to 254

#1 Post by TWolfe »

Something changed between version 252 and 254 in the way navigation through DCCHECKs works. The attached .PRG runs differently on the two versions.

With Version 252 hitting the 'ENTER' key on the first get transfers focus to the 'OK' button.

With Version 254 hitting the 'ENTER' key on the first get transfers focus to the first check box.

Any ideas on how to restore the old behavior?

Terry

Code: Select all

#include "dcdialog.ch"
#include "appevent.ch"

PROCEDURE MAIN()
LOCAL getList:={}, GetOptions, mLetter:=space(15), lpvPreview:=.F., ;
      lpvSave2Disk:=.F., lOk, oDlg

  @ 2, 6 DCSAY "Enter letter number:" GET mLetter  ;
            PICTURE '@S10!'    ;
            NOCONFIRM   ;
            SAYRIGHT    ;
            SAYSIZE 30

  @ 3, 6 DCSAY "Show Preview:" GET lpvPreview  ;
            PICTURE 'Y' ;
            NOCONFIRM   ;
            SAYRIGHT    ;
            SAYSIZE 30

  @ 4, 6 DCSAY "Archive a copy:" GET lpvSave2Disk  ;
            PICTURE 'Y' ;
            NOCONFIRM   ;
            SAYRIGHT    ;
            SAYSIZE 30

  @ 6, 4  DCPUSHBUTTON CAPTION "~OK"  SIZE 19,1.5 ;
            ACCELKEY xbeK_CTRL_O ;
            TOOLTIP "Select the indicated letter" ;
            ACTION {|| DC_ReadGuiEvent(DCGUI_EXIT_OK, GetList) } ;
            FONT "10.Arial Bold"

DCGETOPTIONS CHECKGET HILITEGETS GRA_CLR_RED

DCREAD GUI ;
    FIT TO lOk                         ;
    PARENT @oDlg                       ;
    ENTEREXIT                          ;
    OPTIONS GetOptions

wtf lOk PAUSE

RETURN

PROCEDURE AppSys()
RETURN

User avatar
TWolfe
Posts: 60
Joined: Thu Jan 28, 2010 7:34 am

Re: Navigation difference Version 252 to 254

#2 Post by TWolfe »

I have worked around this difference with the 'KEYBLOCK' option on the first GET. It only affected 4 places in my program so it was not too bad.

Code: Select all

KEYBLOCK {|a,b,o|IIF(a==xbeK_ENTER .AND. !empty(o:getdata()),;
                            DC_ReadGuiEvent(DCGUI_EXIT_OK, GetList),NIL)} 
Terry

Post Reply