예제 #1
0
        public new void Draw(ref Graphics graph)
        {
            GHPadding padding  = GHManager.GetStyle(windowType).ItemPadding;
            GHPadding text_pad = GHManager.Settings.Style.ItemList.TextPadding;

            Rectangle iconrc = new Rectangle {
                X      = control.Left + (control.Width - GHManager.Settings.Style.ItemList.IconSize) / 2,
                Y      = control.Top + padding.Top,
                Width  = GHManager.Settings.Style.ItemList.IconSize,
                Height = GHManager.Settings.Style.ItemList.IconSize
            };

            rect_text = new Rectangle {
                X      = control.Left + text_pad.Left,
                Y      = iconrc.Bottom + padding.Bottom + text_pad.Top,
                Width  = control.Width - text_pad.WSize,
                Height = control.Height - iconrc.Height - padding.Top - text_pad.HSize - GHManager.Settings.Style.ItemList.WindowPadding.Top
            };
            SolidBrush solidBrush = new SolidBrush(GHManager.GetColor());

            graph.DrawImage(image, iconrc);
            StringFormat format = new StringFormat {
                Alignment     = StringAlignment.Center,
                LineAlignment = StringAlignment.Center,
                Trimming      = StringTrimming.EllipsisCharacter,
                FormatFlags   = StringFormatFlags.NoWrap
            };

            graph.DrawString(item_name.ToString(), GHManager.GetFont(), solidBrush, rect_text, format);

            solidBrush.Dispose();
            format.Dispose();
        }
예제 #2
0
        /// <summary>
        /// アイコンの描画
        /// </summary>
        /// <param name="graph">描画先</param>
        public void Draw(ref Graphics graph)
        {
            GHPadding padding = GHManager.GetStyle(windowType).ItemPadding;

            Rectangle rect = new Rectangle {
                X      = control.Location.X + padding.Left,
                Y      = control.Location.Y + padding.Top,
                Width  = control.Width - padding.WSize,
                Height = control.Height - padding.HSize
            };

            if (image != null)
            {
                graph.DrawImage(image, rect);
            }
        }
예제 #3
0
        /// <summary>
        /// アイコンの描画
        /// </summary>
        /// <param name="graph">描画先</param>
        public void Draw(ref Graphics graph, bool open)
        {
            GHPadding padding = GHManager.GetStyle(windowType).ItemPadding;

            Rectangle rect = new Rectangle {
                X      = control.Location.X + padding.Left,
                Y      = control.Location.Y + padding.Top,
                Width  = control.Width - padding.WSize,
                Height = control.Height - padding.HSize
            };

            if (open)
            {
                SkinImage skin = opened ? OpendImage : ClosedImage;
                Skin.GetSkinImage(skin, out Bitmap bmp);
                graph.DrawImage(bmp, rect);
                bmp.Dispose();
                bmp = null;
            }
            else
            {
                Draw(ref graph);
            }
        }