[Mono-winforms-list] SWF patch
Aleksey Ryabchuk
ryabchuk@yahoo.com
Mon, 24 Mar 2003 09:49:01 -0800 (PST)
--0-1080355389-1048528141=:54462
Content-Type: text/plain; charset=us-ascii
Content-Id:
Content-Disposition: inline
Control.cs, DateTimePicker.cs, win32Enums.cs :
notification handling for DateTimePicker control.
StatusBar.cs, TrackBar.cs: small modifications.
Thanks for the previous check-in !
Regards
ary
__________________________________________________
Do you Yahoo!?
Yahoo! Platinum - Watch CBS' NCAA March Madness, live on your desktop!
http://platinum.yahoo.com
--0-1080355389-1048528141=:54462
Content-Type: text/plain; name=patch
Content-Description: patch
Content-Disposition: inline; filename=patch
Index: Control.cs
===================================================================
RCS file: /mono/mcs/class/System.Windows.Forms/System.Windows.Forms/Control.cs,v
retrieving revision 1.31
diff -u -r1.31 Control.cs
--- Control.cs 23 Mar 2003 20:46:53 -0000 1.31
+++ Control.cs 24 Mar 2003 16:25:10 -0000
@@ -14,6 +14,7 @@
using System.Collections;
using System.Threading;
using System.Text;
+ using System.Runtime.InteropServices;
namespace System.Windows.Forms {
@@ -2489,10 +2490,14 @@
CallControlWndProc(ref m);
break;
case Msg.WM_NOTIFY:
+ NMHDR nmhdr = (NMHDR)Marshal.PtrToStructure ( m.LParam,
+ typeof ( NMHDR ) );
+ if( !Control.ReflectMessage( nmhdr.hwndFrom, ref m ))
+ CallControlWndProc(ref m);
+
// FIXME: get NM_CLICKED msg from pnmh
// OnClick (eventArgs);
//OnNotifyMessage (eventArgs);
- CallControlWndProc(ref m);
break;
case Msg.WM_PAINT:
if( ControlRealWndProc != IntPtr.Zero) {
Index: DateTimePicker.cs
===================================================================
RCS file: /mono/mcs/class/System.Windows.Forms/System.Windows.Forms/DateTimePicker.cs,v
retrieving revision 1.10
diff -u -r1.10 DateTimePicker.cs
--- DateTimePicker.cs 23 Mar 2003 20:46:53 -0000 1.10
+++ DateTimePicker.cs 24 Mar 2003 16:25:10 -0000
@@ -96,11 +96,8 @@
//
// --- Public Methods
//
- [MonoTODO]
- public override string ToString()
- {
- //FIXME:
- return base.ToString();
+ public override string ToString(){
+ return GetType().FullName.ToString() + ", Value: " + Value.ToString( );
}
//
@@ -161,10 +158,6 @@
[MonoTODO]
protected override void OnSystemColorsChanged(EventArgs e)
{
- //FIXME: update default colors
- //if (SystemColorsChanged != null) {
- // SystemColorsChanged(this, e);
- //}
base.OnSystemColorsChanged( e );
}
@@ -192,8 +185,17 @@
[MonoTODO]
protected override void WndProc(ref Message m)
{
- //FIXME:
- base.WndProc(ref m);
+ switch ( m.Msg ) {
+ case Msg.WM_NOTIFY:
+ if ( m.LParam != IntPtr.Zero )
+ handleNotification ( ref m );
+ else
+ CallControlWndProc(ref m);
+ break;
+ default:
+ CallControlWndProc(ref m);
+ break;
+ }
}
@@ -501,7 +503,7 @@
private void setControlValue ( ) {
if ( IsHandleCreated ) {
- SYSTIME systime = toSysTime ( Value ) ;
+ SYSTIME systime = toSysTime ( val ) ;
IntPtr ptr = Marshal.AllocCoTaskMem ( Marshal.SizeOf ( systime ) );
Marshal.StructureToPtr( systime, ptr, false );
@@ -604,6 +606,28 @@
Win32.SendMessage ( Handle, (int)DateTimePickerMessages.DTM_SETMCFONT,
CalendarFont.ToHfont().ToInt32(), 0 );
*/
+ }
+
+ private void handleNotification ( ref Message m ) {
+ NMHDR nmhdr = (NMHDR)Marshal.PtrToStructure ( m.LParam, typeof ( NMHDR ) );
+
+ m.Result = IntPtr.Zero;
+
+ switch ( nmhdr.code ) {
+ case (int)DateTimePickerNotifications.DTN_CLOSEUP:
+ OnCloseUp ( EventArgs.Empty );
+ break;
+ case (int)DateTimePickerNotifications.DTN_DROPDOWN:
+ OnDropDown ( EventArgs.Empty );
+ break;
+ case (int)DateTimePickerNotifications.DTN_DATETIMECHANGE:
+ getControlValue ( true );
+ OnValueChanged ( EventArgs.Empty );
+ break;
+ default:
+ CallControlWndProc ( ref m );
+ break;
+ }
}
}
}
Index: StatusBar.cs
===================================================================
RCS file: /mono/mcs/class/System.Windows.Forms/System.Windows.Forms/StatusBar.cs,v
retrieving revision 1.12
diff -u -r1.12 StatusBar.cs
--- StatusBar.cs 15 Mar 2003 19:31:43 -0000 1.12
+++ StatusBar.cs 24 Mar 2003 16:25:11 -0000
@@ -51,9 +51,9 @@
return str;
}
- [MonoTODO]
protected override void CreateHandle()
{
+ initCommonControlsLibrary ( );
base.CreateHandle();
}
@@ -404,6 +404,14 @@
UpdatePanels ( true, true, null );
UpdateToolTips ( null );
}
+ }
+ }
+
+ private void initCommonControlsLibrary ( ) {
+ if ( !RecreatingHandle ) {
+ INITCOMMONCONTROLSEX initEx = new INITCOMMONCONTROLSEX();
+ initEx.dwICC = CommonControlInitFlags.ICC_BAR_CLASSES;
+ Win32.InitCommonControlsEx(initEx);
}
}
Index: TrackBar.cs
===================================================================
RCS file: /mono/mcs/class/System.Windows.Forms/System.Windows.Forms/TrackBar.cs,v
retrieving revision 1.14
diff -u -r1.14 TrackBar.cs
--- TrackBar.cs 20 Mar 2003 23:05:15 -0000 1.14
+++ TrackBar.cs 24 Mar 2003 16:25:11 -0000
@@ -49,28 +49,22 @@
}
}
+ [EditorBrowsable (EditorBrowsableState.Never)]
public override Image BackgroundImage {
- get {
- return base.BackgroundImage;
- }
- set {
- }
+ get { return base.BackgroundImage; }
+ set { base.BackgroundImage = value; }
}
+ [EditorBrowsable (EditorBrowsableState.Never)]
public override Font Font {
- get {
- return base.Font;
- }
- set {
- }
+ get { return base.Font; }
+ set { base.Font = value; }
}
+ [EditorBrowsable (EditorBrowsableState.Never)]
public override Color ForeColor {
- get {
- return base.ForeColor;
- }
- set {
- }
+ get { return base.ForeColor; }
+ set { base.ForeColor = value; }
}
[MonoTODO]
@@ -149,13 +143,10 @@
}
}
+ [EditorBrowsable (EditorBrowsableState.Never)]
public override string Text {
- get {
- return base.Text;
- }
- set {
- base.Text = value;
- }
+ get { return base.Text; }
+ set { base.Text = value; }
}
[MonoTODO]
@@ -275,12 +266,12 @@
//
// --- Protected Methods
//
- [MonoTODO]
protected override void CreateHandle()
{
- //FIXME: just to get it to run
+ initCommonControlsLibrary ( );
base.CreateHandle();
}
+
[MonoTODO]
protected override bool IsInputKey(Keys keyData)
{
@@ -290,7 +281,7 @@
keyData == Keys.PageUp || keyData == Keys.PageDown )
return true;
- return IsInputKey(keyData);
+ return base.IsInputKey(keyData);
}
[MonoTODO]
protected override void OnBackColorChanged(EventArgs e)
@@ -333,7 +324,7 @@
ValueChanged (this, new EventArgs() );
break;
default:
- base.WndProc(ref m);
+ CallControlWndProc( ref m );
break;
}
}
@@ -396,5 +387,13 @@
}
return false;
}
+
+ private void initCommonControlsLibrary ( ) {
+ if ( !RecreatingHandle ) {
+ INITCOMMONCONTROLSEX initEx = new INITCOMMONCONTROLSEX();
+ initEx.dwICC = CommonControlInitFlags.ICC_BAR_CLASSES;
+ Win32.InitCommonControlsEx(initEx);
+ }
+ }
}
}
Index: win32Enums.cs
===================================================================
RCS file: /mono/mcs/class/System.Windows.Forms/System.Windows.Forms/win32Enums.cs,v
retrieving revision 1.10
diff -u -r1.10 win32Enums.cs
--- win32Enums.cs 23 Mar 2003 20:46:53 -0000 1.10
+++ win32Enums.cs 24 Mar 2003 16:25:12 -0000
@@ -2467,6 +2467,24 @@
}
#endregion
+ #region DateTimePicker Notifications
+ internal enum DateTimePickerNotifications
+ {
+ DTN_FIRST = (0 - 760),
+ DTN_DATETIMECHANGE = (DTN_FIRST + 1),
+ DTN_USERSTRINGA = (DTN_FIRST + 2),
+ DTN_WMKEYDOWNA = (DTN_FIRST + 3),
+ DTN_FORMATA = (DTN_FIRST + 4),
+ DTN_FORMATQUERYA = (DTN_FIRST + 5),
+ DTN_DROPDOWN = (DTN_FIRST + 6),
+ DTN_CLOSEUP = (DTN_FIRST + 7),
+ DTN_USERSTRINGW = (DTN_FIRST + 15),
+ DTN_WMKEYDOWNW = (DTN_FIRST + 16),
+ DTN_FORMATW = (DTN_FIRST + 17),
+ DTN_FORMATQUERYW = (DTN_FIRST + 18)
+ }
+ #endregion
+
#region MonthCal Colors
internal enum MonthCalColors
{
--0-1080355389-1048528141=:54462--