annotate Windows/Forms/ColorableStatusBar.cs @ 21:031354c2a34c default tip

* Add Hyperlink that does sensible stuff by default
author IBBoard <dev@ibboard.co.uk>
date Sat, 19 May 2012 16:45:19 +0100
parents 02a7c7aaf2c1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
1acdb0aff4a7 Re #8 - LGPL license all libraries
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
1 // This file (ColorableStatusBar.cs) is a part of the IBBoard.Windows.Forms library and is copyright 2009 IBBoard.
1acdb0aff4a7 Re #8 - LGPL license all libraries
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
2 //
1acdb0aff4a7 Re #8 - LGPL license all libraries
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
3 // The file and the library/program it is in are licensed under the GNU LGPL license, either version 3 of the License or (at your option) any later version. Please see COPYING.LGPL for more information and the full license.
1acdb0aff4a7 Re #8 - LGPL license all libraries
IBBoard <dev@ibboard.co.uk>
parents: 0
diff changeset
4
7
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
5 using System;
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
6 using System.Drawing;
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
7 using System.Drawing.Drawing2D;
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
8 using System.Windows.Forms;
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
9
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
10 namespace IBBoard.Windows.Forms
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
11 {
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
12 /// <summary>
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
13 /// Summary description for ColorableStatusBar.
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
14 /// </summary>
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
15 public class ColorableStatusBar : StatusBar
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
16 {
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
17 private Brush defaultBrush;
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
18
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
19 public ColorableStatusBar()
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
20 {
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
21 defaultBrush = new SolidBrush(SystemColors.WindowText);
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
22 }
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
23
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
24 //Code taken from MS Knowledge base - http://support.microsoft.com/kb/319311
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
25 public void ColorableStatusBarDrawItem(object sender, StatusBarDrawItemEventArgs sbdevent)
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
26 {
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
27 if (sender is StatusBar)
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
28 {
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
29 System.Drawing.Graphics g = sbdevent.Graphics;
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
30 StatusBar sb = (StatusBar)sender;
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
31 RectangleF rectf = new RectangleF(sbdevent.Bounds.X, sbdevent.Bounds.Y, sbdevent.Bounds.Width, sbdevent.Bounds.Height);
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
32
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
33 if (sbdevent.Panel is ColorableStatusBarPanel)
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
34 {
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
35 g.DrawString(sbdevent.Panel.Text, sb.Font, ((ColorableStatusBarPanel)sbdevent.Panel).Brush, rectf);
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
36 }
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
37 else
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
38 {
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
39 g.DrawString(sbdevent.Panel.Text, sb.Font, defaultBrush, rectf);
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
40 }
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
41 }
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
42 }
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
43 }
02a7c7aaf2c1 * Fix line terminators
IBBoard <dev@ibboard.co.uk>
parents: 4
diff changeset
44 }