Different behavior with 2.0 versus 1.9

This forum is for eXpress++ general support.
Post Reply
Message
Author
Cliff Wiernik
Posts: 605
Joined: Thu Jan 28, 2010 9:11 pm
Location: Steven Point, Wisconsin USA
Contact:

Different behavior with 2.0 versus 1.9

#1 Post by Cliff Wiernik »

Roger,

In moving starting to move from xb1.9 to xb2.0, I have encountered two problems as shown in the enclosed test file.

1. When themes are in use, the standard highlight objects processing does not completely remove the highlight. It is shown in the xdemo collection program financial tabpage, click on the different radio button and you will see the red highlight not completed removed. This was also present in xb1.9 and I modified the process Express used by the codeblock override option to invalidate the the screen area of the highlights outline instead of using the grabox() function to attempt to remove it. That worked properly. With xb2.0, that no longer works as it appears that the outline is not being invalidated by the invalidaterect() function. If you minimize/maximize the dialog, causing a repaint, the highlights are removed.

I provided this to Andreas at the Devcon and he will have Till look at it as they can confirm the behavior and that if you invalidate some of the underlying statics, it does cause a repaint. Using dc_groupboxfix(.t.) also resolves it by Andreas does not want us to have to resort to a workaround.

At this point, there is nothing to do but wait on Alaska and then determine if anything needs to be done in Express or individual programs. I do think that possibly the fix that Jack provided could be modified as it does not fully remove the highlight outline when themes are in use. I think the invalidaterect() approach would also work in Jack's case. But we must see what Alaska says.

2. Then a disabled dccheckbox is used on a groupbox or a static on a tabpage with themes enabled, the disabled portion is being painted with the GRA_CLR_BACKGROUND color, not XPPSYSCLR_TRANSPARENT. I use the color {GRA_CLR_BLACK,XPPSYSCLR_TRANSPARENT}. I set the color to XPPSYSCLR_TRANSPARENT, if themes are enabled so the disabled color is the underlying tabpage color instead of the background color. In the enclosed sample, I have added a standard xbpCheckbox to the dialog and the color works properly in disabled mode. I then looked at the difference between the DCCHECKBOX and the xbpCheckBox. I saw that the color instance variable was used in the DCCHECKBOX but in the xbpCheckBox, standard setting from the xbp Form Designer use the { XBP_PP_BGCLR, -255 } in the presentation parameters to set the background color. When I did the same to the test sample in the transparent 1 DCCHECKBOX, it now worked just like in xb1.9.

Do you know if anything has happened in the color handling of Express++ related to DCCHECKBOXES when using xb2.0. I am reporting this also to Andreas. Since the only thing that is happening in the testing is the change in the Alaska Version, it could be an Alaska issue unless something in Express is being affected when the object is disabled.

I can change my usage from using color to using presentation parameters for the DCCHECKBOXes as that works but want to consider if their are any other issue prior to making this change and if anything is not working with Express.

Cliff
Attachments
test20.zip
(6.74 KiB) Downloaded 730 times

Post Reply