Example #1
0
        protected void UpdateStyles() {
            if ( Created ) {
                REBARBANDINFO rbBand = new REBARBANDINFO();
                rbBand.cbSize = (uint)Marshal.SizeOf( rbBand );
                rbBand.fMask = (uint)win32.RBBIM_STYLE;
                rbBand.fStyle = (uint)Style;

                if ( win32.SendMessage( _bands.Rebar.RebarHwnd, (int)win32.RB_SETBANDINFOA, BandIndex, ref rbBand ) == 0 ) {
                    int LastErr = Marshal.GetHRForLastWin32Error();
                    try {
                        Marshal.ThrowExceptionForHR( LastErr );
                    } catch ( Exception ex ) {
                        Console.WriteLine( LastErr + " " + ex.Message );
                        if ( _throwExceptions ) throw (new Exception( "Error Updating Styles.", ex ));
                    }

                }
            }
        }
Example #2
0
        internal void CreateBand() {
            if ( !Created && _bands != null && _bands.Rebar.NativeRebar != null ) {
                if ( _child != null ) _child.Parent = _bands.Rebar;
                REBARBANDINFO rbBand = new REBARBANDINFO();
                rbBand.cbSize = (uint)Marshal.SizeOf( rbBand );
                rbBand.fMask = (uint)(win32.RBBIM_STYLE
                    | win32.RBBIM_ID | win32.RBBIM_TEXT
                    );//| RebarBandInfoConstants.RBBIM_HEADERSIZE);
                if ( !_useCoolbarColors )
                    rbBand.fMask |= (uint)win32.RBBIM_COLORS;
                if ( _child != null ) //Add ChildSize stuff at some point
				{
                    rbBand.fMask |= (uint)win32.RBBIM_CHILD;
                }
                rbBand.fMask |= (uint)win32.RBBIM_CHILDSIZE;
                if ( _image >= 0 )
                    rbBand.fMask |= (uint)win32.RBBIM_IMAGE;
                if ( _backgroundImage != null ) {
                    rbBand.fMask |= (uint)win32.RBBIM_BACKGROUND;
                }
                rbBand.cx = (uint)_bandSize;
                rbBand.fMask |= (uint)win32.RBBIM_SIZE;
                rbBand.fMask |= (uint)win32.RBBIM_IDEALSIZE;
                rbBand.clrFore = new COLORREF( ForeColor );
                rbBand.clrBack = new COLORREF( BackColor );
                rbBand.fStyle = (uint)Style;
                if ( _backgroundImage != null ) {
                    rbBand.hbmBack = _pictureHandle;
                }
                rbBand.lpText = _caption;
                if ( _child != null ) {
                    rbBand.hwndChild = _child.Handle;
                    rbBand.cxMinChild = (uint)_minWidth;
                    rbBand.cyMinChild = (uint)_minHeight;
                    rbBand.cyIntegral = (uint)_integral;//0;
                    rbBand.cyChild = (uint)_minHeight;
                    rbBand.cyMaxChild = (uint)_maxHeight;
                    rbBand.cxIdeal = (uint)_idealWidth;
                }
                if ( _showIcon ) {
                    rbBand.iImage = _image;
                }
                rbBand.wID = (uint)_id;
                rbBand.cxHeader = (uint)_header;

                if ( win32.SendMessage( _bands.Rebar.RebarHwnd, (int)win32.RB_INSERTBANDA, -1, ref rbBand ) == 0 ) {
                    int LastErr = Marshal.GetHRForLastWin32Error();
                    try {
                        Marshal.ThrowExceptionForHR( LastErr );
                    } catch ( Exception ex ) {
                        Console.WriteLine( LastErr + " " + ex.Message );
                        if ( _throwExceptions ) throw (new Exception( "Error Creating Band.", ex ));
                    }

                } else {
                    _created = true;
                }

            }
        }
Example #3
0
        protected void UpdateMinimums() {
            //return;
            if ( Created ) {
                REBARBANDINFO rbBand = new REBARBANDINFO();
                rbBand.cbSize = (uint)Marshal.SizeOf( rbBand );
                rbBand.fMask = (uint)(win32.RBBIM_CHILDSIZE);
                if ( _header != -1 ) rbBand.fMask |= (uint)win32.RBBIM_HEADERSIZE;
                rbBand.cxMinChild = (uint)_minWidth;
                rbBand.cyMinChild = (uint)_minHeight;
                rbBand.cyIntegral = (uint)_integral;//1;
                rbBand.cyChild = (uint)_minHeight;
                rbBand.cyMaxChild = (uint)_maxHeight;
                rbBand.cxIdeal = (uint)_idealWidth;
                rbBand.cxHeader = (uint)_header;
                if ( win32.SendMessage( _bands.Rebar.RebarHwnd, (int)win32.RB_SETBANDINFOA, BandIndex, ref rbBand ) == 0 ) {
                    int LastErr = Marshal.GetHRForLastWin32Error();
                    try {
                        Marshal.ThrowExceptionForHR( LastErr );
                    } catch ( Exception ex ) {
                        Console.WriteLine( LastErr + " " + ex.Message );
                        if ( _throwExceptions ) throw (new Exception( "Error Updating Minimums.", ex ));
                    }

                }

            }
        }
Example #4
0
        protected void UpdateIcon() {
            if ( Created ) {
                REBARBANDINFO rbBand = new REBARBANDINFO();
                rbBand.cbSize = (uint)Marshal.SizeOf( rbBand );
                rbBand.fMask = (uint)win32.RBBIM_IMAGE;
                if ( _showIcon ) {
                    rbBand.iImage = _image;
                } else {
                    rbBand.iImage = -1;
                }

                if ( win32.SendMessage( _bands.Rebar.RebarHwnd, (int)win32.RB_SETBANDINFOA, BandIndex, ref rbBand ) == 0 ) {
                    int LastErr = Marshal.GetHRForLastWin32Error();
                    try {
                        Marshal.ThrowExceptionForHR( LastErr );
                    } catch ( Exception ex ) {
                        Console.WriteLine( LastErr + " " + ex.Message );
                        if ( _throwExceptions ) throw (new Exception( "Error Updating Icon.", ex ));
                    }
                }
            }
        }
Example #5
0
        protected void UpdateColors() {
            if ( Created ) {
                REBARBANDINFO rbBand = new REBARBANDINFO();
                rbBand.cbSize = (uint)Marshal.SizeOf( rbBand );
                rbBand.fMask = (uint)win32.RBBIM_COLORS;
                if ( _useCoolbarColors ) {
                    rbBand.clrBack = new COLORREF();
                    rbBand.clrBack._ColorDWORD = (uint)win32.CLR_DEFAULT;
                    rbBand.clrFore = new COLORREF();
                    rbBand.clrFore._ColorDWORD = (uint)win32.CLR_DEFAULT;
                } else {
                    rbBand.clrBack = new COLORREF( _backColor );
                    rbBand.clrFore = new COLORREF( _foreColor );
                }

                if ( win32.SendMessage( _bands.Rebar.RebarHwnd, (int)win32.RB_SETBANDINFOA, BandIndex, ref rbBand ) == 0 ) {
                    int LastErr = Marshal.GetHRForLastWin32Error();
                    try {
                        Marshal.ThrowExceptionForHR( LastErr );
                    } catch ( Exception ex ) {
                        Console.WriteLine( LastErr + " " + ex.Message );
                        if ( _throwExceptions ) throw (new Exception( "Error Updating Foreground and Background Colors.", ex ));
                    }

                }
            }
        }
Example #6
0
        private void UpdateChildByHandle( IntPtr handle ){
            if ( Created ) {
                REBARBANDINFO rbBand = new REBARBANDINFO();
                rbBand.cbSize = (uint)Marshal.SizeOf( rbBand );
                rbBand.fMask = (uint)win32.RBBIM_CHILD;
                if ( handle.Equals( IntPtr.Zero ) ) {
                    rbBand.hwndChild = IntPtr.Zero;
                } else {
                    rbBand.hwndChild = handle;
                }

                if ( win32.SendMessage( _bands.Rebar.RebarHwnd, (int)win32.RB_SETBANDINFOA, BandIndex, ref rbBand ) == 0 ) {
                    int LastErr = Marshal.GetHRForLastWin32Error();
                    try {
                        Marshal.ThrowExceptionForHR( LastErr );
                    } catch ( Exception ex ) {
                        Console.WriteLine( LastErr + " " + ex.Message );
                        if ( _throwExceptions ) throw (new Exception( "Error Updating Child.", ex ));
                    }

                }
                UpdateMinimums();
            }
        }
Example #7
0
 public static extern uint SendMessage( IntPtr hWnd, int Msg, int wParam, ref REBARBANDINFO lParam );