Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.12.2019, 21:03
Аватар для fofka
fofka fofka вне форума
Начинающий
 
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
По умолчанию Опять про трей!

Доброго всем дня. Такой вопрос. Как мне проще вывезти информацию в трей такого вида;
Код:
szTip:= ('Такое число: '+(Edit1.Text)+');
Ткните носом как лучше вывести подсказку.
Заранее благодарен за помощь.
Ответить с цитированием
  #2  
Старый 02.12.2019, 21:32
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

В общем случае - см тут: https://docs.microsoft.com/en-us/win...ll_notifyicona
В частном, в зависимости от того, какой компонент используешь, там может быть удобный враппер для этого вызова.
Ответить с цитированием
  #3  
Старый 03.12.2019, 18:49
Аватар для fofka
fofka fofka вне форума
Начинающий
 
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
По умолчанию

Цитата:
Сообщение от lmikle
В общем случае - см тут: https://docs.microsoft.com/en-us/win...ll_notifyicona
В частном, в зависимости от того, какой компонент используешь, там может быть удобный враппер для этого вызова.

Доброго вечера. Кто-то весь код выкладывает, а я уж слишком минимизировал. Вот так я хочу получить подсказку.
Код:
procedure TForm1.CreateTrayIcon;
 var
  nidata : TNotifyIconData;
   begin
   with nidata do
     begin
     cbSize := SizeOf(TNotifyIconData);
     Wnd := Self.Handle; 
     uID := 1;         
     uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
     uCallBackMessage := WM_MYICONNOTIFY;
     hIcon := Application.Icon.Handle;  
     szTip:= ('Такое число: '+(Edit1.Text)+');
   end;
    Shell_NotifyIcon(NIM_ADD, @nidata);   
 end;
Ответить с цитированием
  #4  
Старый 03.12.2019, 22:12
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, на первый взгляд все правильно.
Только в строке 13 там "плюс апостроф" в конце лишний.
Ответить с цитированием
  #5  
Старый 04.12.2019, 19:12
Аватар для fofka
fofka fofka вне форума
Начинающий
 
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
По умолчанию

Цитата:
Сообщение от lmikle
Ну, на первый взгляд все правильно.
Только в строке 13 там "плюс апостроф" в конце лишний.
Вроде правильно. Но ругается компилятор на тип.
Цитата:
szTip:= ('Такое число: '+(Edit1.Text)+);

Код:
Unit1.pas(275): Incompatible types: 'Array' and 'String'
Благодарю за внимание.
Ответить с цитированием
  #6  
Старый 04.12.2019, 19:57
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Попробуй так:
Код:
szTip:= PChar('Такое число: '+(Edit1.Text)+);
Там что-то типа Char* или просто Char[] в описании структуры...
Ответить с цитированием
  #7  
Старый 05.12.2019, 12:32
Аватар для fofka
fofka fofka вне форума
Начинающий
 
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
По умолчанию

Цитата:
Сообщение от lmikle
Попробуй так:
Код:
szTip:= PChar('Такое число: '+(Edit1.Text)+);
Там что-то типа Char* или просто Char[] в описании структуры...

Ругается.
Код:
Unit1.pas(275): Expression expected but ')' found
Ответить с цитированием
  #8  
Старый 05.12.2019, 14:45
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Код:
szTip:= 'Такое число: '+PChar(Edit1.Text);
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #9  
Старый 05.12.2019, 17:13
Аватар для fofka
fofka fofka вне форума
Начинающий
 
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
По умолчанию

Цитата:
Сообщение от Aristarh Dark
Код:
szTip:= 'Такое число: '+PChar(Edit1.Text);
Спасибо за помощь, но не то.
Теперь на тип данных ругается!
Код:
Unit1.pas(275): Incompatible types: 'Array' and 'String'
Ответить с цитированием
  #10  
Старый 05.12.2019, 22:11
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Попробуй всю строку завернуть в PChar:
Код:
szTip:= PChar('Такое число: '+Edit1.Text);
если не поможет, то придется копировать. Вот тут, вроде, примерчик есть: https://www.swissdelphicenter.ch/en/...de.php?id=1164
Ответить с цитированием
  #11  
Старый 06.12.2019, 06:28
Аватар для fofka
fofka fofka вне форума
Начинающий
 
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
По умолчанию

Цитата:
Сообщение от lmikle
Попробуй всю строку завернуть в PChar:
Код:
szTip:= PChar('Такое число: '+Edit1.Text);
если не поможет, то придется копировать. Вот тут, вроде, примерчик есть: https://www.swissdelphicenter.ch/en/...de.php?id=1164
Благодарю за внимание. Ругается на типы.
Код:
Unit1.pas(275): Incompatible types: 'Array' and 'PAnsiChar'
Попробую разобраться с помощью приведенного Вами примера.
Ответить с цитированием
  #12  
Старый 06.12.2019, 09:36
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Я аж дельфи запустил...

Код:
Код:
var
  a:TNotifyIconData;
  s:string;
begin
  s:='some text '+Form1.Caption;
  move(s[1],a.szTip[0],max(128,Length(s)));
  ShowMessage(a.szTip);
end;
Результат на картинке
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #13  
Старый 06.12.2019, 13:46
Аватар для fofka
fofka fofka вне форума
Начинающий
 
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
По умолчанию

Цитата:
Сообщение от Aristarh Dark
Я аж дельфи запустил...

Код:
Код:
var
  a:TNotifyIconData;
  s:string;
begin
  s:='some text '+Form1.Caption;
  move(s[1],a.szTip[0],max(128,Length(s)));
  ShowMessage(a.szTip);
end;
Результат на картинке
Спасибо за помощь. Но чуток не подходит.
Я хочу сделать примерно как у уровня громкости в трее, навел курсор, видишь уровень. Нет необходимости открывать приложение. Всплывающая подсказка. Уже чет и надежда кончается.
Ответить с цитированием
  #14  
Старый 06.12.2019, 14:06
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Цитата:
Я хочу сделать примерно как у уровня громкости в трее, навел курсор, видишь уровень. Нет необходимости открывать приложение. Всплывающая подсказка. Уже чет и надежда кончается.
Я тебе дал пример как заполнить поле szTip в структуре. Сообщение это чисто для проверки что поле заполнено.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #15  
Старый 06.12.2019, 14:08
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

По сути важна только вот эта строчка:
move(s[1],a.szTip[0],max(128,Length(s)));
Ну и вместо max естественно надо использовать min
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:52.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter