[Mono-winforms-list] Radiobutton Windows Look and Feel Issues:Take 2
Peter Dennis Bartok
Mon, 27 Sep 2004 15:58:58 -0600
Thanks for the detailed explanation. I'm reworking the theme APIs right now,
and we're going to pass the control object itself to the each theme drawing
function, instead of having a bunch of arguments and we'll do this for all
controls. I'm fixing up the existing controls to follow this.
This should allow to solve the problems with FlatStyle.Popup and also allow
to better support 'special' themes that need access to other control state
From: "John BouAntoun" <email@example.com>
To: "Peter Dennis Bartok" <firstname.lastname@example.org>
Date: 27 September, 2004 15:32
Subject: Re: [Mono-winforms-list] Radiobutton Windows Look and Feel
>AS far as the documentation goes, you're spot on.
>But as for actual behaviour...
>FlatStyle.Flat renders a ControlText colored circle filled with white.
>FlatStyle.Popup renders a ControlDark colored circle filled with white.
>When hovered over, FlatStyle.Popup only renders the inner arcs of the
>shadow as if it where normal, the outer circle is still renderd as a
>ControlDark Colored circle.
>So it seems to me that we ultimately need to know that a button being
>rendered is flatstyle.popup. Unless we render the light shaded circle
>after the ControlPaint is called, inside the button's redraw iff it is a
>FlatStyle.Popup I don't see how else to do it without being to pass in
>this extra information about the FlatStyle to the theme.
>Am I making sense?
>On Tue, 2004-09-28 at 04:24, Peter Dennis Bartok wrote:
>> Ok, I did some more research, I wasn't sure if just remembered wrong how
>> Popup was supposed to work:
>> >From the MS documentation on FlatStyle:
>> "In the case of the Popup style button, this enumeration controls some
>> behavior as well as appearance. The Popup style control initially appears
>> Flat until the mouse pointer moves over it. When the mouse pointer moves
>> over the Popup control, it appears as a Standard style control until the
>> mouse pointer is moved off of it again."
>> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformsflatstyleclasstopic.asp ]
>> This means that any control implementing 'FlatStyle.Popup' should use the
>> 'ButtonState.Flat' flag in the drawing code for the 'Popup' style when
>> mouse is not on the control, and it should use 'ButtonState.Normal' when
>> mouse is in the control.
>> Please let me know if I misunderstood the problems (very well possible)
>> if this does take care of things.
>> -----Original Message-----
>> From: "Fabian Luque" <email@example.com>
>> To: <firstname.lastname@example.org>
>> Date: 27 September, 2004 11:28
>> Subject: Re: [Mono-winforms-list] Radiobutton Windows Look and Feel
>> Take 2
>> >> 2) The button rendering never passes in any hover state information.
>> >> This is needed since the FlatStyle.Popup needs to render the popup
>> >> state
>> >> when the mouse hovers over it.
>> >> Sorry for getting so "needy" on this, it's my first MWF control and
>> >> all,
>> >> but this sounds like a common issue for all controls.
>> >Well, I also had these issues when implementing the XP Theme. I think
>> >some work needs to be done in the theme class to support these
>> >Fabian Luque
>> >Mono-winforms-list maillist - Monoemail@example.com
>> Mono-winforms-list maillist - Monofirstname.lastname@example.org