示例#1
0
 protected override void OnMouseMove(MouseEventArgs e)
 {
     base.OnMouseMove(e);
     if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
     {
         if (dragBeginRect != Rectangle.Empty && !dragBeginRect.Contains(e.X, e.Y))
         {
             IsDraging       = true;
             dragTargetIndex = this.IndexFromPoint(e.Location);
             if (dragTargetIndex == -1)
             {
                 if (e.Y < this.ViewInfo.GetItemRectangle(0).Bottom)
                 {
                     dragTargetIndex = 0;
                 }
             }
             CheckedListBoxViewInfo.CheckedItemInfo info = ViewInfo.GetItemByIndex(dragSourceIndex);
             if (info != null)
             {
                 info.PaintAppearance.ForeColor = Color.Red;
             }
             ViewInfo.MarkItem(dragTargetIndex, dragSourceIndex);
         }
     }
 }
 private void DrawCheckedItem(ListBoxDrawItemEventArgs e, CheckedListBoxViewInfo viewInfo, Image image)
 {
     CheckedListBoxViewInfo.CheckedItemInfo itInfo = viewInfo.GetItemByIndex(e.Index);
     FillRectangle(e.Appearance, e.Cache, e.Bounds);
     DrawCheckBox(itInfo.CheckArgs, e.Graphics, viewInfo);
     DrawImage(itInfo.CheckArgs.GlyphRect, e.Graphics, image);
     DrawString(itInfo, e.Appearance, e.Cache);
 }
        private void DrawString(CheckedListBoxViewInfo.CheckedItemInfo itInfo,
                                AppearanceObject appearance, GraphicsCache cache)
        {
            Rectangle textRect = new Rectangle(itInfo.TextRect.X + RepositoryItemCheckedImageComboBoxEdit.ImageWidth + 2,
                                               itInfo.TextRect.Y, itInfo.TextRect.Width - RepositoryItemCheckedImageComboBoxEdit.ImageWidth - 2,
                                               itInfo.TextRect.Height);

            appearance.DrawString(cache, itInfo.Text, textRect);
        }
示例#4
0
            protected override bool CanChangePressState(Point location, int selIndex, bool checkOnClick)
            {
                bool canChangePressState = true;

                if (!this.ListBox.UseWholeItemToChangeCheckedStateByMouse)
                {
                    CheckedListBoxViewInfo.CheckedItemInfo item = this.ViewInfo.GetItemByIndex(this.ViewInfo.HotItemIndex);
                    canChangePressState = item.CheckArgs.Bounds.Contains(location);
                }
                return(canChangePressState && base.CanChangePressState(location, selIndex, checkOnClick));
            }
示例#5
0
 void CustomCheckedComboBoxEdit_DrawItem(object sender, ListBoxDrawItemEventArgs e)
 {
     if (listBoxControl != null && Properties.CheckStyle != DevExpress.XtraEditors.Controls.CheckStyles.Standard)
     {
         CheckedListBoxControl  lbControl = sender as CheckedListBoxControl;
         CheckedListBoxViewInfo vi        = lbControl.GetViewInfo() as CheckedListBoxViewInfo;
         CheckedListBoxViewInfo.CheckedItemInfo checkItemInfo = vi.GetItemByIndex(e.Index) as CheckedListBoxViewInfo.CheckedItemInfo;
         checkItemInfo.CheckArgs.CheckStyle = Properties.CheckStyle;
         if (Properties.CheckStyle == DevExpress.XtraEditors.Controls.CheckStyles.Radio)
         {
             return;
         }
         SetProperties(checkItemInfo);
     }
 }
示例#6
0
        protected void SetProperties(CheckedListBoxViewInfo.CheckedItemInfo checkItemInfo)
        {
            CheckObjectInfoArgs e = checkItemInfo.CheckArgs;

            if (e.DefaultImages == null)
            {
                e.DefaultImages = LoadImages();
            }

            int style = (int)e.CheckStyle;

            style = style * 4;
            if (style > e.DefaultImages.Count - 1)
            {
                return;
            }
            e.PictureUnchecked = e.DefaultImages[style] as Bitmap;
            e.PictureChecked   = e.DefaultImages[style + 1] as Bitmap;
            e.PictureGrayed    = e.DefaultImages[style + 3] as Bitmap;
        }