NotifyIcon+ContextMenu1.OwnerDraw = True

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Skorpion84
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 05.02.2006 (Вс) 16:46

NotifyIcon+ContextMenu1.OwnerDraw = True

Сообщение Skorpion84 » 04.07.2006 (Вт) 18:43

Как нормально отобразить прорисованное (Модифицированное) ContextMenu в NotifyIcon? Т.е. если ContextMenu1.OwnerDraw = True тогда оно нормально не рисуется.

temur
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.02.2005 (Чт) 21:17
Откуда: Georgia

Сообщение temur » 04.07.2006 (Вт) 19:06

Неизвестно, этот вопрос я уже поднимал на этом форуме но ответа небыло.
Решение:
Переходи на ВС 2005

Skorpion84
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 05.02.2006 (Вс) 16:46

Сообщение Skorpion84 » 04.07.2006 (Вт) 19:20

Понятно...
Спасибо.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: NotifyIcon+ContextMenu1.OwnerDraw = True

Сообщение Sebas » 05.07.2006 (Ср) 7:46

Skorpion84 писал(а):Как нормально отобразить прорисованное (Модифицированное) ContextMenu в NotifyIcon? Т.е. если ContextMenu1.OwnerDraw = True тогда оно нормально не рисуется.


есстесно, ты его сам должен рисовать.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

temur
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.02.2005 (Чт) 21:17
Откуда: Georgia

Сообщение temur » 05.07.2006 (Ср) 9:25

Sebas
Его рисуют а оно всеравно не отображается. Проблема наблюдается именно с NotifyIcon, с другими компонентами все нормально работает.

Skorpion84
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 05.02.2006 (Вс) 16:46

Сообщение Skorpion84 » 05.07.2006 (Ср) 10:32

temur писал(а):Sebas
Его рисуют а оно всеравно не отображается. Проблема наблюдается именно с NotifyIcon, с другими компонентами все нормально работает.


Помоему в том и проблема, что его не рисуют, т.к. не вызываются события MeasureItem и DrawItem.
Возможно я не прав.

temur
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.02.2005 (Чт) 21:17
Откуда: Georgia

Сообщение temur » 05.07.2006 (Ср) 10:47

Это может ты не рисовал. Толку от этого в данном случае ноль. Оно всеравно будет сжато до размера 10 в ширину и все. И MeasureItem не помогает.
Попробуй скачать с сайта компонент ResourseDLL там оно есть.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 05.07.2006 (Ср) 13:21

temur

Всё прекрасно рисуется!

Возможно, ты косячишь, рисуя на окне нулевой высоты. (Это про MeasureItem)
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

temur
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.02.2005 (Чт) 21:17
Откуда: Georgia

Сообщение temur » 05.07.2006 (Ср) 14:28

Согласен что причина в этом. Но как с этим боротся? Ведь нотифи икон находится не на форме. Как расчитывать координаты?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 05.07.2006 (Ср) 16:03

Какие? тебе нужно просто изменить размеры MenuItem
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

temur
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.02.2005 (Чт) 21:17
Откуда: Georgia

Сообщение temur » 05.07.2006 (Ср) 17:38

Не меняются.

Skorpion84
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 05.02.2006 (Вс) 16:46

Сообщение Skorpion84 » 05.07.2006 (Ср) 17:44

Sebas писал(а):Какие? тебе нужно просто изменить размеры MenuItem


Можно рабочий примерчик на skorpion200284<on>mail.ru

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 05.07.2006 (Ср) 18:24

Ребята! Ну Вы чё? MeasureItem аргументы посмотрите.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

ism
Постоялец
Постоялец
 
Сообщения: 337
Зарегистрирован: 12.12.2001 (Ср) 12:59
Откуда: Russia, Saint-Petersburg

Сообщение ism » 27.03.2007 (Вт) 20:55

Прошу прощения, что поднимаю старую тему, но она еще актуальна(VB.NET2003).

События MenuItem1_MeasureItem и MenuItem1_DrawItem почему-то просто не возникают когда юзер кликает по иконке в трее, но если вызывать ContextMenu1.Show, то все нормально.

Но как узнать координаты курсора на всем экране, и отобразить меню в этом месте

ContextMenu1.Show(NotifyIcon1, New Point(e.X, e.Y)) - использовать нельзя

Alex[fj]
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 278
Зарегистрирован: 17.02.2007 (Сб) 20:10
Откуда: Питер

Сообщение Alex[fj] » 28.03.2007 (Ср) 8:09

ism, извини, если не в тему, только проснулся. Поправте, если совсем не то...
У NotifyIcon есть такое свойство, как ContextMenuStrip. Создаешь новую менюшку и указываешь ее меню к NotifyIcon.
Изображение
Стараюсь быть вполне хорошим (c) Лев Толстой

temur
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 160
Зарегистрирован: 24.02.2005 (Чт) 21:17
Откуда: Georgia

Сообщение temur » 28.03.2007 (Ср) 13:08

Alex[fj]
Проблема какраз в том что данным методом меню отображается некоректно! и ContextMenuStrip есть в 2005 а в 2003 оно называется просто ContextMenu


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 98

    TopList