Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Меню программы в трэе!? 
V
    Опции темы
Феликс
Дата 9.7.2007, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 28.11.2006

Репутация: нет
Всего: -3



Вот обработчик на нажатия клавиш мыши, по иконке программы в трэе.

Код

LRESULT CLauncherDlg::OnIconNotify(WPARAM wp, LPARAM lp) {    
    if (lp == 514) {
        if(IconStatus) {
            IconStatus = FALSE;
            ShowWindow(SW_HIDE);
        } else {
            IconStatus = TRUE;
            ShowWindow(SW_SHOW);
        }
    } else if (lp == 517) {
        POINT ptWnd;    
        GetCursorPos(&ptWnd);
        HMENU hMenu = LoadMenu(AfxGetInstanceHandle(),(LPCSTR)MAKEINTRESOURCE(IDR_TRAYMENU));
        HMENU hMenuTrackPopup = GetSubMenu(hMenu, 0);
        TrackPopupMenu (hMenuTrackPopup, 0, ptWnd.x, ptWnd.y, 0, hWnd, NULL);
        DestroyMenu (hMenu);
    }
    return 0;
}

При нажатии на правую кнопку мыши, должно всплывать меню. Но увы этого не происходить. 
Помогите решить данную задачу. Заранее спасибо.

Это сообщение отредактировал(а) Феликс - 9.7.2007, 18:50
PM   Вверх
W4FhLF
Дата 9.7.2007, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 12
Всего: 121





--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Феликс
Дата 9.7.2007, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 28.11.2006

Репутация: нет
Всего: -3



Мне сылки не нужны, раз я здесь запостил тему, значит до этого уже заюзал google. Мне скажите лучше в чём ощибка?
PM   Вверх
W4FhLF
Дата 9.7.2007, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 12
Всего: 121



По ссылке готовый код с комментариями, который решает твою задачу. Читать или не читать дело твоё, может кто-то за тебя откроет ссылку, сравнит код и напишет сюда результаты. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Феликс
Дата 9.7.2007, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 28.11.2006

Репутация: нет
Всего: -3



Всё спасибо, решил!
PM   Вверх
Феликс
Дата 9.7.2007, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 28.11.2006

Репутация: нет
Всего: -3



Но теперь другая проблема, при открытии меню, а после шелкая по десктопу, менюшка не закрывается.
PM   Вверх
586
Дата 9.7.2007, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 39
Всего: 146



перед вызовом меню 
SetForegroundWindow(hWnd);
PM   Вверх
Феликс
Дата 9.7.2007, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 28.11.2006

Репутация: нет
Всего: -3



Цитата(586 @ 9.7.2007,  20:40)
перед вызовом меню 
SetForegroundWindow(hWnd);

Спасибо! Помогло!
PM   Вверх
cvid
Дата 13.4.2008, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 29.10.2007

Репутация: нет
Всего: нет



Огромный респект W4FhLF!  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0459 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.