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); }
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)); }
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); } }
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; }