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

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

27.03.2012, 16:22. Показов 8707. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru