Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Про tray и balloon, не появляется в XP зато работает в Win7 
:(
    Опции темы
Verus
Дата 25.1.2009, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Проблема в следующем: есть вот такой вот класс. Все отлично, иконка в трей загружается, показываются балуны, но только в Windows 7 и я так подозреваю еще и в висте, но в XP они почему то не появляются. В чем может быть проблема, помогите пожалуйста smile
Код

#define _WIN32_IE 0x0600

#include <windows.h>
#include "stdafx.h"
#include "SysTray.h"
SysTray::SysTray()
{
}

//sets values passed by the parameters
void SysTray::SetParams ( int ID, HWND hWnd, int Message )
{
    _id = ID;                    // Set the id for the icon
    _hWnd = hWnd;                // The handle to the window
    _message = Message;            // The message sent to the window procedure when something happends
}

// Function to set the application in the SysTray
BOOL SysTray::SetInSysTray ( char* ToolTip, HICON hIcon )
{
    NOTIFYICONDATA nid;

    nid.uID = _id;                                            // Id for the icon
    nid.cbSize = sizeof ( NOTIFYICONDATA );                    // Size of structure
    nid.hWnd = _hWnd;                                        // Handle to the window
    nid.uFlags = NIF_MESSAGE|NIF_TIP|NIF_ICON;                // Options
    nid.hIcon = hIcon;                                        // The icon
    nid.uCallbackMessage = _message;                        // The message

    lstrcpyn ( nid.szTip, ToolTip, sizeof ( nid.szTip ) );    // The tooltip

    return Shell_NotifyIcon ( NIM_ADD, &nid );                // Add in the SysTray
}

// Function to remove the application in the SysTray
BOOL SysTray::RemoveFromSysTray ()
{
    NOTIFYICONDATA nid;

    nid.uID = _id;                                            // Id for the icon
    nid.cbSize = sizeof ( NOTIFYICONDATA );                    // Size of structure
    nid.hWnd = _hWnd;                                        // Handle to the window

    return Shell_NotifyIcon ( NIM_DELETE, &nid );            // Delete the icon
}

// Show a tooltip balloon
BOOL SysTray::ShowBalloon ( char* Title, char* Message, int Icon )
{
    NOTIFYICONDATA nid;

    nid.cbSize = sizeof ( NOTIFYICONDATA );                                // Size of structure
    nid.hWnd = _hWnd;                                                    // Handle to parent window
    nid.uID = _id;                                                        // Id of the icon
    nid.uFlags = NIF_INFO;                                                // Options: show balloon
    nid.dwInfoFlags = NIIF_INFO;
    //nid.dwInfoFlags = Icon;                                                // Icon for the balloon
    nid.uTimeout = 1000;                                                // Timeout when the balloon dissapear

    lstrcpyn ( nid.szInfo, Message, sizeof ( nid.szInfo ) );            // Message
    lstrcpyn ( nid.szInfoTitle, Title, sizeof ( nid.szInfoTitle ) );    // Title

    return Shell_NotifyIcon ( NIM_MODIFY, &nid );                        // Show balloon
}

PM MAIL   Вверх
Verus
Дата 25.1.2009, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Проблему решил, кому интересно, то просто в файле targetver.h заменил все на более старые версии.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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