Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];

Вниз

TrayIcon   Найти похожие ветки 

 
Adolf   (2003-01-19 14:10) [0]

Здравствуйте уважаемые программеры!
----------------------------------------------------------------
Прога сидит в автозапуске...допустим...
----------------------------------------------------------------
...То же, что когда запускаешь прогу, надо чтоб она сразу пряталась в Tray. Без всяких там миганий типа visible:=false или таймеров с интервалом 1...
Пробовал я SW_HIDE в form.activate, и form.create :)) но ошибка сама собой вылазит.
Как быть?


 
neodiX   (2003-01-19 14:21) [1]

a ты попробуй сразу форму не создавать. в начале делай свой трей, а потом, когда в трей поступит сообщение, создавай форму


 
Юрий Зотов   (2003-01-19 14:35) [2]

> neodiX © (19.01.03 14:21)

Sorry, а Вы не подскажете, что нужно прописать в поле Wnd, если ни одного окна еще нет? И куда будет поступать сообщение, о котором Вы говорите? И что такое "свой трей"? И какие такие сообщения в него поступают?

В общем, sorry once more, но что ни слово, то беда. Зачем такие ответы?


> Adolf

В обработчике OnCreate напишите:
Application.ShowMainForm := False
и там же сажайте в трей свою иконку. Вот и все. А здесь пример:
http://www.delphikingdom.com
(см. раздел "Hello, Woirld!", а в нем - примеры работы с WinAPI).



 
neodiX   (2003-01-19 14:48) [3]

2 Юрий Зотов :
program project2;
uses windows, shellapi;
{$R *.res}
var
Inst : Integer;
stray : NOTIFYICONDATA;
Msg : TMsg;
begin
Inst:=hInstance;
Stray.cbSize:=sizeof(NOTIFYICONDATA);
Stray.Wnd:=Inst;
Stray.uID:=7;
Stray.uFlags:=7;
Stray.uCallbackMessage:=$200;
Stray.hIcon:=LoadIcon(inst, "MAINICON");
Stray.szTip:="My prog";
Shell_NotifyIcon(0,@stray);
while (GetMessage(Msg, inst, 0, 0)) do
begin
TranslateMessage(msg);
DispatchMessage(msg);
end;
Shell_NotifyIcon(2,@stray);
end.

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


 
Юрий Зотов   (2003-01-19 15:10) [4]

Ну, что ж, комментировать не буду. Думаю, в процессе "разбирания, как сделать что бы иконка в трее не исчезала при наводении мыши" Вы сами поймете, что написали.

Кстати, предстоит разобраться еще и с тем, а как при шелчке по иконке хоть что-нибудь сделать. Тоже поспособствует пониманию.

Могу подсказать: хэндлы - они ведь разные бывают.


 
neodiX   (2003-01-19 15:21) [5]


> Могу подсказать: хэндлы - они ведь разные бывают.

Понял. Ну что ж спасибо за поправки, виндо мне еще долго учиться.


 
Adolf   (2003-01-19 22:26) [6]

> Юрий Зотов
Геньяльно!Чтоб я, чайник, делал без ЭТОГО форума?


 
Avenger [NhT]   (2003-01-20 02:19) [7]

Иконка исчезает потомучто нет обработчика сообщений, а хендл форму не обязателен, я делал в своем компоненте так:

constructor TAvlTrayIcon.Create;
begin
WM_TASKBARCREATED := RegisterWindowMessage("TaskbarCreated");
FHandle := AllocateHWnd(WndProcTray);
end;


вот тебе и хендл и проц-а обработки ошибок!


 
Юрий Зотов   (2003-01-20 06:05) [8]

> а хендл форму не обязателен

А знаете, у САМОЙ формы ведь и хэндла-то никакого нет. Хэндл есть у ее ОКНА. А хэндл окна - обязателен. Что Вы сами и подтвердили строкой FHandle := AllocateHWnd(WndProcTray).






Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.059 c
1-17123
race1
2003-02-22 12:04
2003.03.06
transparent


1-17040
Альф
2003-02-25 11:36
2003.03.06
Что-бы мастаки посоветовали использовать для работы с Excel ?


1-16999
OxOTHuK
2003-02-24 22:12
2003.03.06
Хинт к трею...


3-16944
Itap
2003-02-17 00:35
2003.03.06
Удаление записей из Paradox


8-17207
Delchiv
2002-11-14 02:47
2003.03.06
Векторизация растра





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский