Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/43: Рейтинг темы: голосов - 43, средняя оценка - 4.88
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1

BalloonHint в области уведомлений

27.03.2012, 16:22. Показов 8877. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как это реализовать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.03.2012, 16:22
Ответы с готовыми решениями:

Как получить список значков в области уведомлений
Куда копать ? пробовал GetWindowLong(hWnd, GWL_STYLE); не получается

BalloonHint
Понадобилось прикрутить к программе уведомления о совершенных действиях. Поискал на форуме, оказалось есть простое решение - использовать...

Как в области уведомлений панели задач переместить значок Центра уведомлений?
Всем привет. Переставил Винду и внезапно в самом краю не часы, а этот центр. 7 лет пользуюсь пк и всегда крайними были часы, а теперь стало...

25
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
16.04.2012, 02:33
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от EdarGp Посмотреть сообщение
а можно рабочий пример ?
н-да...
0
 Аватар для Sergey-K
238 / 229 / 58
Регистрация: 27.10.2011
Сообщений: 249
16.04.2012, 04:25
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от EdarGp Посмотреть сообщение
а можно рабочий пример
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#define WM_NOTIFYICONMSG (WM_USER + 1)
TForm1 *Form1;
//---------------------------------------------------------------------------
void AddIcon()
{
  NOTIFYICONDATA nf;
  nf.cbSize = sizeof(NOTIFYICONDATA);
  nf.uID = 1;
  nf.hWnd = Form1->Handle;
  nf.uFlags = NIF_ICON | NIF_MESSAGE;
  nf.hIcon = Application->Icon->Handle;
  nf.uCallbackMessage = WM_NOTIFYICONMSG;
  Shell_NotifyIcon(NIM_ADD, &nf);
}
//---------------------------------------------------------------------------
void RemoveIcon()
{
  NOTIFYICONDATA nf;
  nf.cbSize = sizeof(NOTIFYICONDATA);
  nf.uID = 1;
  nf.hWnd = Form1->Handle;
  nf.hIcon = Application->Icon->Handle;
  Shell_NotifyIcon(NIM_DELETE, &nf);
}
//---------------------------------------------------------------------------
void ModifyIcon()
{
  NOTIFYICONDATA nf;
  nf.cbSize = sizeof(NOTIFYICONDATA);
  nf.uID = 1;
  nf.hWnd = Form1->Handle;
  nf.uFlags = NIF_ICON | NIF_MESSAGE | NIF_INFO;
  nf.hIcon = Application->Icon->Handle;
  nf.uCallbackMessage = WM_NOTIFYICONMSG;
  strcpy(nf.szInfo, "Привет! :)");
  strcpy(nf.szInfoTitle, "Сообщение");
  nf.dwInfoFlags = NIIF_INFO;
  nf.uTimeout = 5000;
  Shell_NotifyIcon(NIM_MODIFY, &nf);
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  Button1->Caption = "Добавить";
  Button2->Caption = "Изменить";
  Button3->Caption = "Удалить";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  AddIcon();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
  ModifyIcon();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  RemoveIcon();
}
//---------------------------------------------------------------------------
3
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
16.04.2012, 14:20  [ТС]
Sergey-K, я ещё добавил трэй икон, но балуна как не было так и нет)Что я не так сделал?
0
 Аватар для Sergey-K
238 / 229 / 58
Регистрация: 27.10.2011
Сообщений: 249
16.04.2012, 15:05
EdarGp, Проверил на C++ Builder 2010 - также не работает. Нужно заменить:
C++
1
nf.cbSize = sizeof(NOTIFYICONDATA);
на
C++
1
nf.cbSize = NOTIFYICONDATA_V2_SIZE;
После:
C++
1
NOTIFYICONDATA nf;
вставить
C++
1
ZeroMemory(&nf, NOTIFYICONDATA_V2_SIZE);
Так должно работать
2
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
16.04.2012, 17:20  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "trayicon"
#pragma resource "*.dfm"
#define WM_NOTIFYICONMSG (WM_USER + 1)
TForm1 *Form1;
//---------------------------------------------------------------------------
void AddIcon()
{
  NOTIFYICONDATA nf;
  nf.cbSize = sizeof(NOTIFYICONDATA);
  nf.uID = 1;
  nf.hWnd = Form1->Handle;
  nf.uFlags = NIF_ICON | NIF_MESSAGE;
  nf.hIcon = Application->Icon->Handle;
  nf.uCallbackMessage = WM_NOTIFYICONMSG;
  Shell_NotifyIcon(NIM_ADD, &nf);
}
//---------------------------------------------------------------------------
void RemoveIcon()
{
  NOTIFYICONDATA nf;
  nf.cbSize = sizeof(NOTIFYICONDATA);
  nf.uID = 1;
  nf.hWnd = Form1->Handle;
  nf.hIcon = Application->Icon->Handle;
  Shell_NotifyIcon(NIM_DELETE, &nf);
}
//---------------------------------------------------------------------------
void ModifyIcon()
{
  NOTIFYICONDATA nf;
  nf.cbSize = sizeof(NOTIFYICONDATA);
  nf.uID = 1;
  nf.hWnd = Form1->Handle;
  nf.uFlags = NIF_ICON | NIF_MESSAGE | NIF_INFO;
  nf.hIcon = Application->Icon->Handle;
  nf.uCallbackMessage = WM_NOTIFYICONMSG;
  strcpy(nf.szInfo, "Ïðèâåò! :)");
  strcpy(nf.szInfoTitle, "Ñîîáùåíèå");
  nf.dwInfoFlags = NIIF_INFO;
  nf.uTimeout = 5000;
  Shell_NotifyIcon(NIM_MODIFY, &nf);
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
  Button1->Caption = "Äîáàâèòü";
  Button2->Caption = "Èçìåíèòü";
  Button3->Caption = "Óäàëèòü";
}
//---------------------------------------------------------------------------
 
//---------------------------------------------------------------------------
 
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 AddIcon();
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 ModifyIcon();
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  RemoveIcon();
}
//---------------------------------------------------------------------------
У меня так работает на Builder 6

Sergey-K, спасибо!!!!!

Добавлено через 8 минут
Такой вопрос,при создании нового проекта
все компилируется все работает...
При добавлении кода в готовый проект ошибки
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
void AddIcon()
{
  NOTIFYICONDATA nf;
  nf.cbSize = sizeof(NOTIFYICONDATA);
  nf.uID = 1;
  nf.hWnd = Form1->Handle;
  nf.uFlags = NIF_ICON | NIF_MESSAGE;
  nf.hIcon = Application->Icon->Handle;
  nf.uCallbackMessage = WM_NOTIFYICONMSG;
  Shell_NotifyIcon(NIM_ADD, &nf);
}
//---------------------------------------------------------------------------
void RemoveIcon()
{
  NOTIFYICONDATA nf;
  nf.cbSize = sizeof(NOTIFYICONDATA);
  nf.uID = 1;
  nf.hWnd = Form1->Handle;
  nf.hIcon = Application->Icon->Handle;
  Shell_NotifyIcon(NIM_DELETE, &nf);
}
//---------------------------------------------------------------------------
void ModifyIcon()
{
  NOTIFYICONDATA nf;
  nf.cbSize = sizeof(NOTIFYICONDATA);
  nf.uID = 1;
  nf.hWnd = Form1->Handle;
  nf.uFlags = NIF_ICON | NIF_MESSAGE | NIF_INFO;
  nf.hIcon = Application->Icon->Handle;
  nf.uCallbackMessage = WM_NOTIFYICONMSG;
  strcpy(nf.szInfo, "Ïðèâåò! :)");
  strcpy(nf.szInfoTitle, "Ñîîáùåíèå");
  nf.dwInfoFlags = NIIF_INFO;
  nf.uTimeout = 5000;
  Shell_NotifyIcon(NIM_MODIFY, &nf);
}
ошибки
Code
1
2
3
4
5
6
[C++ Error] Unit1.cpp(149): E2451 Undefined symbol 'NIF_INFO'
[C++ Error] Unit1.cpp(152): E2316 'szInfo' is not a member of '_NOTIFYICONDATAA'
[C++ Error] Unit1.cpp(153): E2316 'szInfoTitle' is not a member of '_NOTIFYICONDATAA'
[C++ Error] Unit1.cpp(154): E2316 'dwInfoFlags' is not a member of '_NOTIFYICONDATAA'
[C++ Error] Unit1.cpp(154): E2451 Undefined symbol 'NIIF_INFO'
[C++ Error] Unit1.cpp(155): E2316 'uTimeout' is not a member of '_NOTIFYICONDATAA'
Добавлено через 13 минут
А возможно не использовать void AddIcon а использовать TrayIcon1?
C++
1
2
3
4
5
6
7
8
9
10
11
void AddIcon()
{
  NOTIFYICONDATA nf;
  nf.cbSize = sizeof(NOTIFYICONDATA);
  nf.uID = 1;
  nf.hWnd = Form1->Handle;
  nf.uFlags = NIF_ICON | NIF_MESSAGE;
  nf.hIcon = Application->Icon->Handle;
  nf.uCallbackMessage = WM_NOTIFYICONMSG;
  Shell_NotifyIcon(NIM_ADD, &nf);
}
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
27.04.2012, 11:55  [ТС]
У кого нибудь получилось?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.04.2012, 11:55
Помогаю со студенческими работами здесь

Значки области уведомлений
Здравствуйте! Подскажите пожалуйста, а можно ли как-то отсюда удалить программы, которые я уже удалил с компьютера? Например этот...

Удаление значков из области уведомлений
В списке &quot;Значки области уведомлений&quot;, остались записи от программ, которые были деинсталированы(через панель управление, удаление...

Пропал значок области уведомлений
здравствуйте, друзья! пропал значок области уведомлений - это такой маленький треугольник внизу рядом с часами, пробовал погуглить, но...

Контекстное меню в области уведомлений
всем привет как можно сделать такое в форме contextmenuscrupt ну или как называется

Неактивные значки в области уведомлений
Появилась незадача: на ноуте из системного трея (который справа внизу у часов) пропали системные значки: - батарея (питание), -...


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru