DCREAD / AUTORESIZE kills POSTEVENT

This forum is for eXpress++ general support.
Post Reply
Message
Author
User avatar
Tom
Posts: 1171
Joined: Thu Jan 28, 2010 12:59 am
Location: Berlin, Germany

DCREAD / AUTORESIZE kills POSTEVENT

#1 Post by Tom »

Hi, Roger.

If a resize option (like AUTORESIZE) is used with DCGET OPTIONS, this kills the POSTEVENT option of DCREAD.

This does not work:

Code: Select all

DCUSEREVENT xbeP_User+200 ACTION {||MsgBox('Hello')}
DCGET OTIONS AUTORESIZE 
DCREAD GUI FIT OPTIONS GetOptions POSTEVENT xbeP_User+200
It works if AUTORESIZE is not set in DCGET OPTIONS. This seems to be related to what you do in _DCGETBX.PRG, around line 766:

Code: Select all

  IF ::isAutoResize
    ::parentDlg:resize := {|a,b,o,x|x := SetAppFocus(), ;
                                    o:drawingArea:hide(), ;
                                    DC_AutoReSize(a,b,o,aGetList), ;
                                    o:drawingArea:show(), ;
                                    SetAppFocus(x), ;
                                    DC_CompleteEvents() }
I believe DC_CompleteEvents() prevents the user event from getting fired.

This is nothing urgent or somehow very important. I found another solution for what I tried to do there.
Best regards,
Tom

"Did I offend you?"
"No."
"Okay, give me a second chance."

User avatar
rdonnay
Site Admin
Posts: 4729
Joined: Wed Jan 27, 2010 6:58 pm
Location: Boise, Idaho USA
Contact:

Re: DCREAD / AUTORESIZE kills POSTEVENT

#2 Post by rdonnay »

Tom -

I have been working on the eXpress++ resizing system this week while in Terry Wolfe's office. I agree that the DC_CompleteEvents() call can interfere with your user event.

I have removed DC_CompleteEvents() from the code block in the upcoming build 255.

Roger
The eXpress train is coming - and it has more cars.

Post Reply