Форум: "Основная";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];
ВнизПриложение не должно быть видно в панели задач. Найти похожие ветки
← →
Shadow77 (2002-04-09 18:43) [0]Как сделать?
← →
VID (2002-04-09 18:59) [1]Procedure TForm1.HideMainForm;
VAR WNHND:INTEGER;
begin
//Закидываем форму очень далеко :)
Form1.Left := 10000;
Form1.top := 10000;
Application.ShowMainForm := false;
ShowWindow(Application.Handle, SW_HIDE);
// скрываем с панели задач
WnHnd := GetWindowLong(Application.Handle, GWL_EXSTYLE);
WnHnd := WnHnd or WS_EX_TOOLWINDOW;
SetWindowLong(Application.Handle, GWL_EXSTYLE, WnHnd);
end;
А на событии onCreate главной формы (TFORM1) пишешь:
begin
...
HideMainForm
...
end;
← →
Song (2002-04-09 22:11) [2]ShowWindow(Handle,SW_HIDE);
← →
VID (2002-04-09 23:29) [3]Вот и выбирай :)
← →
Shadow77 (2002-04-10 00:17) [4]Второй способ, как я понимаю, убирает форму совсем (хотя и первый тоже в этом варианте...) Мне надо, чтобы формабыла видна, а не было только ее кнопки в taskbar. То есть мне подходит вторая половина первого способа. :)
Вот только такой вопрос возник. Можно-ли как-то спрятать\показать кнопку в runtime (например, по button.click)
А то в этом варианте работает только в onCreate окна...
← →
Chepel (2002-04-10 00:20) [5]ShowWindow( Application.Handle,SW_HIDE);
← →
Song (2002-04-10 08:20) [6]2Chepel (10.04.02 00:20)
Не обязательно.
← →
Chepel (2002-04-10 09:35) [7]>Song © (10.04.02 08:20)
>>2Chepel (10.04.02 00:20)
>>Не обязательно.
Это как так? Чей Handle? =)
← →
MC TOL (2002-04-10 09:41) [8]Привет всем!
Все просто: при выполнении
ShowWindow(Application.Handle,SW_HIDE);
пропадает именно кнопка в панели задач,
а при выполнении
ShowWindow(Handle,SW_HIDE);
или
ShowWindow(Form1.Handle,SW_HIDE);
пропадает сама форма, а ее кнопка в панели задач остается.
← →
Shadow77 (2002-04-11 19:13) [9]Так, с этим все нормально... Только вот при минимизации окна в углу остается само окно, как в Windows 3.x. Его надо убрать (т.е. спрятать главную форму и показать при восстановлении)... А как поймать момент минимизации\восстановления окна?
← →
Song (2002-04-11 21:03) [10]2Shadow77 © (11.04.02 19:13)
Отловите сообщение WM_SYSCOMMAND c wParam=SC_MINIMIZE
← →
Song (2002-04-11 21:03) [11]2Shadow77 © (11.04.02 19:13)
Отловите сообщение WM_SYSCOMMAND c wParam=SC_MINIMIZE/SC_RESTORE соответственно.
← →
Shadow77 (2002-04-11 23:52) [12]А поконкретней пжалста? Я по этои части несилен... Куда и как? :)
← →
Song (2002-04-12 08:29) [13]
protected
Procedure Catch(Var Msg:TMessage); message WM_SYSCOMMAND;
...
Procedure TForm1.Catch(Var Msg:TMessage);
Begin
With Msg
Begin
IF wParam=SC_MINIMIZE then ...; // Минимизация
IF wParam=SC_RESTORE then ...; // Восстановление
End;
inherited;
End;
← →
REA (2002-04-12 11:02) [14]Странный у вас интерфейс. Может нужно как бы в трей сворачивать? Примеров таких много. Если нужно совсем попрятать то тут можно почитать исходники BackOrifice.
← →
Shadow77 (2002-04-12 12:42) [15]Может и да... А где такие примеры есть?
← →
Song (2002-04-12 13:20) [16]Может нужно как бы в трей сворачивать?
2Shadow77 © (12.04.02 12:42)
Вообще "в трей сворачивать" - это каламбур. На самом деле, ничего никуда не сворачивается, а только создаётся видимость этого. Сворачивать в трей - вообще такого понятия нет. В трей помещается/изменяется/удаляется значок, за это отвечает TShellNotifyIcon, а прога же сама прячется и/или минимизируется через ShowWindow и/или Application.Minimize
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c