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

Вниз

Кнопка на панели задач   Найти похожие ветки 

 
Kair   (2003-07-19 09:45) [0]

Как сделать так, чтобы значок программы не появлялся на панели задач?
ShowWindow в OnPaint при определенных обстоятельствах не работает. Есть ли еще способы?


 
Palladin   (2003-07-19 10:32) [1]

это ж с какого такого похмелья надо было догадатся запихать ShowWindow в OnPaint...


 
Kair   (2003-07-19 10:39) [2]

С такого:
ShowWindow(Application.Handle,sw_Hide);
Но при кое-каких вредных действий узера кнопка может появиться на панели задач.
Точно не уверен, но, кажется, я где-то видел другой способ.


 
Palladin   (2003-07-19 10:48) [3]


> Но при кое-каких вредных действий узера

расскажи мне эти действия?


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

> Kair © (19.07.03 10:39)

А почему в OnPaint? Вы представляете себе, что делает обработчик OnPaint и зачем он нужен? Вот о чем говорил Palladin.

Перенесите в OnCreate главной формы. И запомните - ЮЗЕРЫ "кое-каких" вредных действий не совершают. Их совершают кое-какие программисты.

Надеюсь, Вы не из их числа?


 
Palladin   (2003-07-19 10:50) [5]

И еще один вопросик.
Где в таком:
ShowWindow(Application.Handle,sw_Hide);

написано что это надо пихать в OnPaint?


 
Kair   (2003-07-19 11:00) [6]

OnActivate.

Ну в общем по FindWindow сделал ограничение запуска копий.
Иконку для запуска с Рабочего стола переместил на панель быстрого запуска (там иконки эксплорера, свернуть все окна и прочие), это чтобы быстрее нажимать. Нажимаю быстро несколько раз на иконку. Ограничение запуска копий, срабатывает (правда не всегда), но у той единственной копии появляется кнопка на панели задач.

:)


 
Юрий Зотов   (2003-07-19 11:24) [7]

> Ограничение запуска копий, срабатывает (правда не всегда)

Это потому, что Вы сделали его по поиску окна. При быстром кликаньи по иконке вторая копия проверяет окно еще ДО того, как его создала первая копия. Поэтому не находит и запускается.

Для проверки на повторный запуск используйте объект ядра (мьютекс, проекцию файла и т.д.). Примеры найдете на Королевстве в разделе Hello, World!

А OnActivate - это тоже не то, что нужно. Используйте OnCreate.


 
Palladin   (2003-07-19 11:29) [8]

Пример с мьютексом лежит в FAQ и на этом сайте.
Очень хороший пример...
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988619824&n=15


 
Kair   (2003-07-19 18:55) [9]

Не, на OnCreate почему-то не работает.

Так есть ли еще способы спрятать кнопку?


 
Palladin   (2003-07-19 19:00) [10]

Удалено модератором


 
Palladin   (2003-07-19 19:11) [11]

Удалено модератором


 
Palladin   (2003-07-19 19:16) [12]


IsJustCreated:boolean; // или глобально или в форме - где хочешь там и определяй

procedure TForm1.FormCreate(Sender: TObject);
begin
IsJustCreated:=true;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
if IsJustCreated then
begin
ShowWindow(Application.Handle,sw_hide);
IsJustCreated:=false;
end;
end;


 
Anatoly Podgoretsky   (2003-07-19 21:45) [13]

Kair © (19.07.03 11:00)
FindWindow не предназначена для проверки вторй копии при очень быстром запуске их.



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

Форум: "Основная";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
8-10314
sndanil
2003-04-14 14:43
2003.08.04
Hint на графике


1-10175
sdram
2003-07-18 16:40
2003.08.04
Подскажите как в TQuickRep в панель инструментов добавить кнопку


14-10446
___Nikolay
2003-07-18 06:14
2003.08.04
Как пользоваться CRON-ом?


6-10325
Евгения
2003-05-26 15:57
2003.08.04
FastNet - NMStrm


1-10294
3APA3A
2003-07-20 01:04
2003.08.04
Cursor





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский