Author: everaldo
Date: 2006-11-26 22:25:31 -0500 (Sun, 26 Nov 2006)
New Revision: 68491

Modified:
   trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
   
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ThemeWin32Classic.cs
Log:
Fix drop down appearance when ToolBar.Appearance is normal

Modified: trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog        
2006-11-27 01:32:58 UTC (rev 68490)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog        
2006-11-27 03:25:31 UTC (rev 68491)
@@ -1,3 +1,10 @@
+2006-11-26  Everaldo Canuto  <[EMAIL PROTECTED]>
+
+       * ThemeWin32Classic.cs: 
+       - Fix toolbar drop down arrow position.
+       - Fix drop down appearance when ToolBar.Appearance is normal,
+       it fixes #80018.
+       
 2006-11-26  Gert Driesen  <[EMAIL PROTECTED]>
 
        * ProgressBar.cs: GetStyle fixes for 2.0 profile.

Modified: 
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ThemeWin32Classic.cs
===================================================================
--- 
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ThemeWin32Classic.cs 
    2006-11-27 01:32:58 UTC (rev 68490)
+++ 
trunk/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ThemeWin32Classic.cs 
    2006-11-27 03:25:31 UTC (rev 68491)
@@ -4045,7 +4045,7 @@
                        }
                        
                        Rectangle rect = button.Rectangle;
-                       if ((button.Style == ToolBarButtonStyle.DropDownButton) 
&& (button.Parent.DropDownArrows))
+                       if ((button.Style == ToolBarButtonStyle.DropDownButton) 
&& (button.Parent.DropDownArrows) && is_flat)
                                rect.Width -= ToolBarDropDownWidth;
 
                        CPDrawBorder3D (dc, rect, style, all_sides);
@@ -4081,21 +4081,27 @@
                        rect.X = button.Rectangle.Right - ToolBarDropDownWidth;
                        rect.Width = ToolBarDropDownWidth;
                        
-                       if (button.dd_pressed || button.Pushed || 
button.Pressed) {
-                               CPDrawBorder3D (dc, rect, 
Border3DStyle.SunkenOuter, all_sides);
-                               if (!is_flat)
-                                       CPDrawBorder3D (dc, rect, 
Border3DStyle.SunkenInner, Border3DSide.Bottom | Border3DSide.Right);
-                       }else if (is_flat) {
-                               if (button.Hilight)
+                       if (is_flat) {
+                               if (button.dd_pressed)
+                                       CPDrawBorder3D (dc, rect, 
Border3DStyle.SunkenOuter, all_sides);
+                               else if (button.Pushed || button.Pressed)
+                                       CPDrawBorder3D (dc, rect, 
Border3DStyle.SunkenOuter, all_sides);
+                               else if (button.Hilight)
                                        CPDrawBorder3D (dc, rect, 
Border3DStyle.RaisedInner, all_sides);
-                       } else
-                               CPDrawBorder3D (dc, rect, Border3DStyle.Raised, 
all_sides);
-
+                       } else {
+                               if (button.dd_pressed)
+                                       CPDrawBorder3D (dc, rect, 
Border3DStyle.Flat, all_sides);
+                               else if (button.Pushed || button.Pressed)
+                                       CPDrawBorder3D (dc, 
Rectangle.Inflate(rect, -1, -1), Border3DStyle.SunkenOuter, all_sides);
+                               else
+                                       CPDrawBorder3D (dc, rect, 
Border3DStyle.Raised, all_sides);
+                       }
+                       
                        PointF [] vertices = new PointF [3];
                        PointF ddCenter = new PointF (rect.X + 
(rect.Width/2.0f), rect.Y + (rect.Height / 2));
                        
                        // Increase vertical and horizontal position by 1 when 
button is pressed
-                       if (button.Pressed || button.Pushed) {
+                       if (button.Pressed || button.Pushed || 
button.dd_pressed) {
                            ddCenter.X += 1;
                            ddCenter.Y += 1;
                        }

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to