예제 #1
0
        private void navBarControl1_CustomDrawLink(object sender, CustomDrawNavBarElementEventArgs e)
        {
            SizeF           textSize            = e.Cache.CalcTextSize(e.Caption, e.Appearance.Font, StringFormat.GenericDefault, e.RealBounds.Width);
            NavLinkInfoArgs args                = (NavLinkInfoArgs)e.ObjectInfo;
            Rectangle       newCaptionRectangle = args.RealCaptionRectangle;

            newCaptionRectangle.Width = Convert.ToInt32(textSize.Width);
            args.CaptionRectangle     = newCaptionRectangle;
        }
예제 #2
0
 private void navBarControl1_CustomDrawLink(object sender, CustomDrawNavBarElementEventArgs e)
 {
     DevExpress.XtraNavBar.NavBarItemLink link = ((NavLinkInfoArgs)e.ObjectInfo).Link;
     if (link.State == DevExpress.Utils.Drawing.ObjectState.Selected ||
         link.State == DevExpress.Utils.Drawing.ObjectState.Hot ||
         link.State == DevExpress.Utils.Drawing.ObjectState.Pressed
         )
     {
         e.Graphics.FillRectangle(Brushes.DodgerBlue, e.RealBounds);
     }
 }
예제 #3
0
파일: ChatForm.cs 프로젝트: thinhils/Teach
        /// <summary>
        /// 显示选中背景色
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ChatNav_CustomDrawLink(object sender, CustomDrawNavBarElementEventArgs e)
        {
            NavBarItemLink link = ((NavLinkInfoArgs)e.ObjectInfo).Link;

            if (link.State == DevExpress.Utils.Drawing.ObjectState.Selected ||
                link.State == DevExpress.Utils.Drawing.ObjectState.Hot
                )
            {
                link.Item.AppearancePressed.ForeColor = Color.White;
                // link.Item.Appearance.Options.UseFont = true;
                e.Graphics.FillRectangle(Brushes.DodgerBlue, e.RealBounds);
            }
        }
 private void NavBarSyntax_CustomDrawLink(object sender, CustomDrawNavBarElementEventArgs e)
 {
     if (e.ObjectInfo.State == ObjectState.Hot || e.ObjectInfo.State == ObjectState.Pressed)
     {
         LinearGradientBrush brush;
         var textFormat = new StringFormat();
         textFormat.LineAlignment = StringAlignment.Center;
         var linkInfo = e.ObjectInfo as NavLinkInfoArgs;
         if (linkInfo.Link.Group.GroupCaptionUseImage == NavBarImage.Large)
         {
             textFormat.Alignment = StringAlignment.Center;
         }
         else
         {
             textFormat.Alignment = StringAlignment.Near;
         }
         if (e.ObjectInfo.State == ObjectState.Hot)
         {
             brush = new LinearGradientBrush(e.RealBounds, Color.Orange, Color.PeachPuff,
                                             LinearGradientMode.Horizontal);
         }
         else
         {
             brush = new LinearGradientBrush(e.RealBounds, Color.PeachPuff, Color.Orange,
                                             LinearGradientMode.Horizontal);
         }
         e.Graphics.FillRectangle(new SolidBrush(Color.OrangeRed), e.RealBounds);
         e.Graphics.FillRectangle(brush, e.RealBounds);
         if (e.Image != null)
         {
             var imageRect = linkInfo.ImageRectangle;
             imageRect.X   += (imageRect.Width - e.Image.Width) / 2;
             imageRect.Y   += (imageRect.Height - e.Image.Height) / 2;
             imageRect.Size = e.Image.Size;
             e.Graphics.DrawImageUnscaled(e.Image, imageRect);
         }
         var rect = e.RealBounds;
         rect.Inflate(-1, -1);
         e.Appearance.DrawString(e.Cache, e.Caption, linkInfo.RealCaptionRectangle, Brushes.White);
         e.Graphics.DrawRectangle(Pens.Indigo, rect);
         e.Handled = true;
     }
 }