Page 1 of 2

Build 256

Posted: Fri May 04, 2012 4:45 am
by Tom
Hi, Roger.

Some suggestions for build 257:

1. The method "MoveColumn" of DC_XbpBrowse should also store and restore the drawmodes (heading, dataarea, footing), the settings for "usevisualstyle" for all cellgroups and the cargo (!) of the columns. Otherwise, moving columns in an ownerdrawn browse (and/or using visual styles) creates crap, since those settings get lost with AddColumn().

2. DCSAY/DCSTATIC TEXT still creates a clipped area (4 pixel) around the presentation space if ownerdrawing is used with this. This comes from the "FORMATTED" option, which mixes up this formatting and ownerdrawing without "FORMATTED".

3. DCGET OPTIONS ... BUTTONS: The accelerator key (element 11) and the tooltip (element 9) don't work. Having the option to create a menu block for the buttons there would be just wonderful (element 12? 8-) ).

Re: Build 256

Posted: Fri May 04, 2012 7:05 am
by rdonnay
Tom -

Thank you for those reminders.
I am in Florida this week, working with Brian Wolfsohn.
He too gave me a few reminders.
I will be working these issues next week when I am back home.

Roger

Re: Build 256

Posted: Tue May 08, 2012 8:21 pm
by rdonnay
Tom -

I don't understand your #2. Are you saying that you want to use FORMATTED with ownerdrawing?

Roger

Re: Build 256

Posted: Wed May 09, 2012 1:00 am
by Tom
Hi, Roger.

Look at line #742 (and following) of _DCCLASS.PRG (build 256), DC_XbpStatic:Draw(). This creates a 4 pixel clipped area around every text static that uses either the "FORMATTED" option .or. (!) self-made ownerdrawing. This may be right for "FORMATTED" statics, but it also creates a blank area around every DCSAY or DCSTATIC ... TEXT that uses ownerdrawing without "FORMATTED".

Re: Build 256

Posted: Wed May 09, 2012 9:10 am
by rdonnay
Tom -

This DC_XbpStatic():draw() method should have been invoked only when using the FORMATTED option. Are you using the ::ownerDrawBlock to handle your own ownerdrawing or are you using a SUBCLASS? I think the problem is because you may be using a subclass.
I may need to resolve this.

I created a MSGBOXCUSTOM sample program that uses owner draw but does not have this problem because it never calls the DC_XbpStatic():draw() method. I have attached the
program. Copy it to your \exp19\samples\static folder and run it.

Roger

Re: Build 256

Posted: Wed May 09, 2012 9:19 am
by Tom
Hi, Roger.

You're right - I'm using subclasses. I created all this stuff before you came up with the ownerdraw-codeblock. 8-)

Re: Build 256

Posted: Wed May 09, 2012 9:27 am
by rdonnay
I edited my message. Look at MSGBOXCUSTOM and how I implemented owner drawing.

I think I will remove the GraBox. I forget why it's in there.

Re: Build 256

Posted: Thu May 10, 2012 3:19 pm
by rdonnay
I don't understand your #3 request.
3. DCGET OPTIONS ... BUTTONS: The accelerator key (element 11) and the tooltip
(element 9) don't work. Having the option to create a menu block for the
buttons there would be just wonderful (element 12? 8-) ).
What do you mean by a menu block?

Re: Build 256

Posted: Tue Jun 05, 2012 1:47 pm
by rdonnay
Tom -

I have a goal to release build 257 this week and I still don't understand your request.

Roger

Re: Build 256

Posted: Wed Jun 06, 2012 2:26 am
by Tom
Hi, Roger.

DCPUSHBUTTONXP has a MENUACTION clause, which places a menu button on the button itself and allows to create a submenu for the button. I'd love to have that with the BUTTONS <aButtons> feature of DCREAD GUI.