Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: иконка в трее , различие в VS6 и VS2008  (Прочитано 16545 раз)
0 Пользователей и 9 Гостей смотрят эту тему.
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« : 20-10-2009 05:30 » 

опять на какие то завитушки набрёл: написал класс на основе CTrayIcon, взятого из МСДН.

в VS6 работает, баллон выскакивает. А вот в VS2008 (VS9) не желает выскакивать - что то опять не настроил ? )))

вот два проекта, файлы класса CTrayIcon в них одинаковые. Код вызова - тоже.
Код:
ALX1153::CTrayIcon m_trayIcon;

BOOL ...::OnInitDialog()
{
CDialog::OnInitDialog();

m_trayIcon.CreateMe(1000,m_hWnd,IDR_MAINFRAME);
m_trayIcon.ShowBalloon("pMessageText","pTitleText",4000,m_trayIcon.e_WARN);


return TRUE;
}

подскажите, что в 9-й студии нужно приделать ещё ?

* trayTest_vs6_vs9.rar (63.41 Кб - загружено 913 раз.)
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 20-10-2009 06:29 » 

поиск в интернете подсказал только одну вещь (впрочем, абсолютно бесполезную)
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\EnableBalloonTips
поставить в 1

Но прикол в том, что этого параметра нет сейчас у меня, а в 6-й студии всё прекрасно работает. Ставил параметр, перезагружался - всё едино, не влияет.
Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #2 : 20-10-2009 06:57 » 

Лёш, что-то у тебя не то.

Твой код, ничего не изменял. Просто открыл TRAY9, скомпилировал. Запустил. Сразу появилась иконка в трее с балоном.

Вот экзешник:

* Tray9.zip (26.87 Кб - загружено 964 раз.)
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #3 : 20-10-2009 07:01 » 

и я запустил - не появилась (

А у тебя в реестре этот параметр имеется ?

Да блин, ключ то ни при чём - ведь в 6 работает. Студия 9 виновата ?
« Последнее редактирование: 20-10-2009 07:04 от Алексей1153++ » Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #4 : 20-10-2009 07:26 » 

Нет, такого ключа у меня нет. Но балон появляется. А у тебя с моим экзешником не появился?

У меня вот так выглядит:


* ss1.gif (3.43 Кб - загружено 1590 раз.)
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #5 : 20-10-2009 07:27 » 

Я думаю тут дело не в студии, а в том как твой экзешник с виндой общается. Дай мне твои экзешники с 6ой и 9ой.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #6 : 20-10-2009 07:31 » 

ну так и должен выглядеть )  
С твоим экзешником тоже не появился. И ещё на другом компе твой экзешник запустил - тоже тишина. А из 6-й студии работает везде.


Вот оба мои экзешника

* mine.rar (20.33 Кб - загружено 869 раз.)
Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #7 : 20-10-2009 07:54 » 

Оба экзешника на моей системе работают отлично. Балоны показываются.

Значит копай в сторону совместимости-несовместимости с осью. У меня Виста со всеми последними апдейтами.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #8 : 20-10-2009 07:57 » 

Да, подтверждаю. 9ка не показывает балон на ХРюше СП2. Других пока нет под рукой.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #9 : 20-10-2009 07:58 » new

IE8 дурит что ли.  Что то даже не могу понять, в какую тут сторону копать начинать

у меня XP SP2+SP3
Записан

Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #10 : 20-10-2009 08:06 » 

Попробовал на WinXP+SP3 с IE6. Бинарник 9ки не показывает балон.

ЗЫ. До кучи, скомпилировал исходник для 6-ки в 8й студии. Балун на месте.
« Последнее редактирование: 20-10-2009 08:11 от Вад » Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #11 : 20-10-2009 08:12 » 

не в эксплорере дело, получается. А только в 9-ке . Куда дальше копать ?
Записан

Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #12 : 20-10-2009 08:14 » 

а что с этими циферками, у кого что вписано (я не менял, всё как и было установлено)
Код:
#pragma once

// Следующие макросы определяют минимальную требуемую платформу. Минимальная требуемая платформа
// - самая ранняя версия Windows, Internet Explorer и т.д., имеющая необходимые средства для выполнения
// вашего приложения. Макросы включают все средства, доступные на версиях платформ,
// включая указанную версию.

// Измените следующие определения, если требуется указать платформу, более раннюю, чем перечисленные ниже.
// Последние сведения о значениях, соответствующих различным платформам, см. в MSDN.
#ifndef WINVER                          // Указывает, что минимальной требуемой платформой является Windows Vista.
#define WINVER 0x0600           // Выберите значение, указывающее на другие версии Windows.
#endif

#ifndef _WIN32_WINNT            // Указывает, что минимальной требуемой платформой является Windows Vista.
#define _WIN32_WINNT 0x0600     // Выберите значение, указывающее на другие версии Windows.
#endif

#ifndef _WIN32_WINDOWS          // Указывает, что минимальной требуемой платформой является Windows 98.
#define _WIN32_WINDOWS 0x0410 // Выберите значение, указывающее на Windows Me или более поздние версии Windows.
#endif

#ifndef _WIN32_IE                       // Указывает, что минимальной требуемой платформой является Internet Explorer 7.0.
#define _WIN32_IE 0x0700        // Выберите значение, указывающее на другие версии Internet Explorer.
#endif


Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #13 : 20-10-2009 08:19 » 

Лёш, у меня на висте 8ой ишак, всё работает. И девятка здесь не при чём.

зы В смысле, экзешник должен быть с виндой совместим. Ща попробовал сделть юникод без манифестов. На ХРюше по-прежнему не работает.
« Последнее редактирование: 20-10-2009 08:20 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #14 : 20-10-2009 08:24 » 

вот ведь гадство какое. Придётся искусственно вываливать баллон, опционально сделаю
Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #15 : 20-10-2009 08:25 » 

ЩА, подожди я ещё экспериментирую.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #16 : 20-10-2009 08:31 » 

Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #17 : 20-10-2009 08:31 » 

Лёш, всё. Ты был прав. Собсно и я был прав. Мы оба были правы. Ставь так:

Код:
#ifndef WINVER                          // Specifies that the minimum required platform is Windows Vista.
#define WINVER 0x0500           // Change this to the appropriate value to target other versions of Windows.
#endif

#ifndef _WIN32_WINNT            // Specifies that the minimum required platform is Windows Vista.
#define _WIN32_WINNT 0x0500     // Change this to the appropriate value to target other versions of Windows.
#endif

#ifndef _WIN32_WINDOWS          // Specifies that the minimum required platform is Windows 98.
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
#endif

#ifndef _WIN32_IE                       // Specifies that the minimum required platform is Internet Explorer 7.0.
#define _WIN32_IE 0x0500        // Change this to the appropriate value to target other versions of IE.
#endif

Всё работает.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #18 : 20-10-2009 08:34 » 

вау, круто ) Спасибо. И вот зачем они каждый раз это делают ? Помнится, в 6-ке тоже  WINVER с 0x400 на 0x500 надо было менять

о, оказывается, в 9-ке файлик с этими константами "targetver.h" лежит в самом проекте ! Придётся проверку добавить, чтоб при компиляции ругалось

Джон, а с правленными константами в висте продолжает работать ?

кстати, достаточно только WINVER и _WIN32_WINNT поменять на 0x500
« Последнее редактирование: 20-10-2009 08:56 от Алексей1153++ » Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #19 : 20-10-2009 09:16 » 

Лёш, это зависит от хидеров, которые регулярно обновляются. Ведь системные библиотеки контролов тоже не стоят на месте. Появляются новые стили, ф-ции и тд и тп. А студия у тебя "одна". Вернее инклудированые хидеры. Вот они и ставят затычки. Я попробовал на 4ку поставить, сразу ругается на параметры структуры. Типа нет ещё таких в четвёрке.

Менять, а точнее - настраивать, надо в соответствии с теми библиотеками и фичами, которые ты собираешься использовать.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #20 : 20-10-2009 14:45 » 

заметил такую интересную вещь - если прицелом спая++ подсвечивать баллон, то его кривой контур также становится жирным, как и у прямоугольных окон, так это свойство окна что ли ? Я думал, спай сам рисует рамку
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines