[Mono-bugs] [Bug 67796][Wis] New - Flatstyle button needs some way of known is_pressed even after is_entered is set to false

bugzilla-daemon@bugzilla.ximian.com bugzilla-daemon@bugzilla.ximian.com
Thu, 7 Oct 2004 19:28:24 -0400 (EDT)


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by jba-mono@optusnet.com.au.

http://bugzilla.ximian.com/show_bug.cgi?id=67796

--- shadow/67796	2004-10-07 19:28:24.000000000 -0400
+++ shadow/67796.tmp.18559	2004-10-07 19:28:24.000000000 -0400
@@ -0,0 +1,44 @@
+Bug#: 67796
+Product: Mono: Class Libraries
+Version: unspecified
+OS: 
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Wishlist
+Component: Windows.Forms
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: jba-mono@optusnet.com.au               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: Flatstyle button needs some way of known is_pressed even after is_entered is set to false
+
+Description of Problem:
+FlatStyle.Flat and FlatStyle.Popup mode rendering of buttons have distinct
+behaviours that depend on both whether the button is pressed and whether
+the mouse is in the control.
+
+Current code assumes that once the mouse leaves the control the is_pressed
+variable is set to false (based on the bahaviour of a normal mode button).
+
+This is not sufficient for flatstyle buttons since they display differently
+in the following situations:
+- Not pressed, entered
+- Pressed, not entered 
+- Pressed, entered
+
+
+Steps to reproduce the problem:
+In windows
+1. Create a FlatStyle.Flat button
+2. Hover over it (notice darker shading of background)
+3. Click while inside the control and hold (notice lighter shading of
+background)
+4. Hold click and exit control (notice darker shading of background)
+5. Release click outside control (notice return of background color to normal)
+
+We need to be able to replicate this behaviour but currently can't because
+as soon as is_entered is set to false, is pressed is set to false.