Форум: "Основная";
Текущий архив: 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.007 c