Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/28: Рейтинг темы: голосов - 28, средняя оценка - 4.86
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
1

Иконка в трее

02.05.2009, 11:21. Показов 5863. Ответов 28
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ув. программисты подскажите как можно сделать чтобы при нажатии на иконку в трее левой кнопкой у меня окрывался 1 popupmenu а при нажатии правой кнопки открывался 2 popupmenu?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.05.2009, 11:21
Ответы с готовыми решениями:

Уведомление в Трее
Зравствуйте!!! Вопрос уже изжованный давным давно и создана не одна тема, но всё же у меня есть...

Балун в трее
Коллеги, подскажите, пожалуйста, как можно показать балун на иконке в трее? Я использую TTrayIcon...

Меню в трее
Как сделать чтобы при нажатии на иконку в трее показывалось мини меню?

Анимация значка в трее.
Как сделать значек в трее анимированным, например как Download Master? Есть идея менять несколько...

28
Программист TH
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
02.05.2009, 14:00 2
В чём проблема?? Событие MouseDown:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::TrayIcon1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
if(Button==mbLeft)
//если левой клацаем
{
}
else
{
//тут прописываем, если правой...
}
}
Вариант 2:
Поизучай свойство PopupMenuOn - много узнаешь чего....
2
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
04.05.2009, 17:32  [ТС] 3
И все же?Я знаю про нажатие кнопок вопрос в том как вызвать PopupMenu2 при нажатии левой кнопки
0
40 / 40 / 8
Регистрация: 29.01.2009
Сообщений: 244
04.05.2009, 18:37 4
Метод "DanUnited", можно использовать, для смены PopupMenu для трея, главная проблемма, как вызвать вообще PopupMenu при нажатии левой клавиши мышки.
0
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
04.05.2009, 20:17  [ТС] 5
вот вот.это я и хотел сказать

Добавлено через 1 час 16 минут 30 секунд
так кто нибудь подскажет как это сделать?
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
04.05.2009, 21:00 6
В стандартной комплектации Builder 2007 есть тестовые примеры. В том числе и то, что, судя по всему, тебе нужно
Вложения
Тип файла: rar TrayIcon.rar (6.5 Кб, 131 просмотров)
0
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
04.05.2009, 21:40  [ТС] 7
Цитата Сообщение от Evg Посмотреть сообщение
В стандартной комплектации Builder 2007 есть тестовые примеры. В том числе и то, что, судя по всему, тебе нужно
просмотрел.вещь полезная но немного не то.мне нужно узнать как вызвать popupmenu при нажатии левой кнопки на трей.

есть еще идея.как вызвать другое событие в событии.То есть я хочу в событии TrayIcon->Onclick
написать:TrayIcon1->PopupMenu = PopupMenu2 и вызвать событие правый клик.как это сделать?
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
04.05.2009, 21:52 8
Я в билдере пока слишком мало работал. Хотя не очень понимаю, чем отличается прорисовка popup'а по правой кнопке мыши и по левой
0
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
04.05.2009, 21:55  [ТС] 9
Цитата Сообщение от Evg Посмотреть сообщение
Я в билдере пока слишком мало работал. Хотя не очень понимаю, чем отличается прорисовка popup'а по правой кнопке мыши и по левой
тем что по провой кнопке он работает когда его ставиш в свойство обьекта.проблема в том как сделать его по левой кнопке
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
04.05.2009, 22:29 10
Всё равно что-то проблемы не понял. В TFormMain::MyNotify поменял местами WM_LBUTTONUP и WM_RBUTTONUP и popup начал выскакивать по левой кнопке
0
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
04.05.2009, 22:30 11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//---------------------------------------------------------------------------
 
void __fastcall TForm1::TrayIcon1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
    if(Button == mbLeft)
    {TrayIcon1->PopupMenu = PopupMenu1;
     TrayIcon1->PopupMenuOn = imLeftClickUp;
     //левая
    }
    else
    if(Button == mbRight)
    { TrayIcon1->PopupMenu = PopupMenu2;
      TrayIcon1->PopupMenuOn = imRightClickUp;
    //правая
    }
}
//---------------------------------------------------------------------------
1
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
04.05.2009, 22:49  [ТС] 12
[BCC32 Error] Unit1.cpp(23): E2451 Undefined symbol 'imLeftClickUp'

это ему не понравилось..у меня 2007 билдер
0
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
04.05.2009, 22:59 13
KoFeMaH,

набери
Цитата Сообщение от mirso Посмотреть сообщение
TrayIcon1->PopupMenuOn =
и нажми

<Ctrl + пробел>
Что он скажет?!

Должны быть подсказки. Выбери если будут.

Может, что-то подключить надо!
Поищи в папках include
0
40 / 40 / 8
Регистрация: 29.01.2009
Сообщений: 244
04.05.2009, 23:02 14
В 2009 еще хуже
E2316 'PopupMenuOn' is not a member of 'TTrayIcon'
E2451 Undefined symbol 'imLeftClickUp'
E2316 'PopupMenuOn' is not a member of 'TTrayIcon'
E2451 Undefined symbol 'imRightClickUp'
0
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
04.05.2009, 23:05 15
QenT,
наверное
сняли с производства!
У меня шестой(домашний!)
0
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
04.05.2009, 23:26  [ТС] 16
в топку 2007)Урезали много полезных вещей.6 билдер рулез=)

Добавлено через 8 минут 28 секунд
и все таки как вызвать процедуру?допустим как вызвать событие onpopup?
0
562 / 373 / 55
Регистрация: 05.04.2009
Сообщений: 767
04.05.2009, 23:40 17
Если у тебя KoFeMaH, в отличии от QenT,

всего один error
Цитата Сообщение от KoFeMaH Посмотреть сообщение
[BCC32 Error] Unit1.cpp(23): E2451 Undefined symbol 'imLeftClickUp'
значит свойство PopupMenuOn - есть!!!


Ищи чему оно равно!

Цитата Сообщение от mirso Посмотреть сообщение
TrayIcon1->PopupMenuOn
и... ты нажмимал

<Ctrl + пробел>?!
0
38 / 24 / 4
Регистрация: 21.02.2009
Сообщений: 249
05.05.2009, 00:29  [ТС] 18
второй еррор тоже был просто я строчку подредоктировал на popupon
0
Программист TH
292 / 147 / 12
Регистрация: 06.01.2009
Сообщений: 537
05.05.2009, 14:44 19
а что-то наподобие этого не поёдёт:
TrayIcon1->PopupMenu->Popup(0,0); ??
1
40 / 40 / 8
Регистрация: 29.01.2009
Сообщений: 244
05.05.2009, 14:55 20
Respect
Цитата Сообщение от DanUnited Посмотреть сообщение
а что-то наподобие этого не поёдёт:
TrayIcon1->PopupMenu->Popup(0,0); ??
только координаты, надо вписать->
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall TMainForm::TrayIcon1MouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
{
    if(Button == mbLeft)//левая
    {
    TrayIcon1->PopupMenu = PopupMenu2;
    TrayIcon1->PopupMenu->Popup(X,Y);
    }
    else
    if(Button == mbRight)//правая
    {
    TrayIcon1->PopupMenu = PopupMenu1;
    }
}
1
05.05.2009, 14:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2009, 14:55
Помогаю со студенческими работами здесь

Окно только в трее
Надо сделать так, чтобы кнопка пропала с панели задач, окно отображалось на экране, и кнопка в трее...

Иконка
Как изменить стандартную иконку в проекте С++ Builder 6, при компиляции???:)))

Всплывающая подсказка в трее в C++ Builder
Здраствуйте, помогите пожалуйста))) Не могу сделать всплывающую подсказку в трее, как при...

Как поставить значок в трее
Как сменить значок на панели задач, которая появляется при сворачивании в трей....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru