Рисование меню в DrawItem

Тема в разделе "MS Visual C++", создана пользователем Oleg, 8 июл 2004.

Статус темы:
Закрыта.
  1. Oleg

    Oleg Гость

    Здравствуйте! Я хочу создать обственное меню. Для этого я включаю свойство OwnerDraw = true. Дальше в событии DrawItem рисую прямоугольник, добавляю картинку, в общем извращаюсь. Но область выделения остается маленькой и не соответствует нарисованному прямоугольнику. Ее можно увидеть вызвав e.DrawBackground(). Подкажите, что нужно сделать для того, чтобы область выделения была такого же размера как и прямоугольник. e.Bounds не для редактирования. Вот код (причем взят в оновном из MSDN):



    private void menuItem1_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
    {

    e.DrawBackground();

    string myCaption = ((MenuItem)sender).Text;
    Brush myBrush = System.Drawing.Brushes.Blue;
    Font myFont = new Font(FontFamily.GenericSerif, 14, FontStyle.Bold, GraphicsUnit.Pixel);
    SizeF mySizeF = e.Graphics.MeasureString(myCaption, myFont);

    e.Graphics.DrawString(myCaption, myFont, myBrush, e.Bounds.X, e.Bounds.Y);
    e.Graphics.DrawRectangle(Pens.Black, new Rectangle(e.Bounds.X, e.Bounds.Y, Convert.ToInt32(mySizeF.Width), Convert.ToInt32(mySizeF.Height)));

    }



    Заранее благодарен.
     
  2. C-roja

    C-roja Гость

    Добавить:

    private void menuItem1_MeasureItem(object sender, System.Windows.Forms.MeasureItemEventArgs e)
    {
    e.ItemWidth = myWidth;
    e.ItemHeight = myHeight;

    }
     
Загрузка...
Похожие Темы - Рисование меню DrawItem
  1. ilya00
    Ответов:
    17
    Просмотров:
    1.776
  2. vladden
    Ответов:
    1
    Просмотров:
    1.842
  3. 123456789igor
    Ответов:
    1
    Просмотров:
    1.394
  4. sergg
    Ответов:
    11
    Просмотров:
    4.697
  5. bearpaw
    Ответов:
    6
    Просмотров:
    3.773
Статус темы:
Закрыта.

Поделиться этой страницей