![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Убрать кнопку с панели задач в Run_time ! [D6, WinXP]
psa247 © (2005-10-21 18:04:00)ExtendedStyle : integer;
begin
ExtendedStyle:= GetWindowLong(application.Handle, GWL_EXSTYLE);
SetWindowLong(Application.Handle, GWL_EXSTYLE, ExtendedStyle or WS_EX_TOOLWINDOW);
Каким образом это использовать?
psa247 (2005-10-22 11:15:00) [1]> umbra ©
Спасибо, только вместо Show у меня работает ShowWindow(Handle, SW_SHOW).
umbra (2005-10-21 19:59:00) [2]Эх, стормозил. Без недостатков
:
procedure TForm1.Button1Click(Sender: TObject);
var
ExtendedStyle : integer;
begin
Hide;
Enabled := false;
ExtendedStyle:= GetWindowLong(application.Handle, GWL_EXSTYLE);
SetWindowLong(application.Handle, GWL_EXSTYLE, (ExtendedStyle or WS_EX_APPWINDOW) xor WS_EX_TOOLWINDOW);
Enabled := true;
Show;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
ExtendedStyle : integer;
begin
Hide;
Enabled := false;
ExtendedStyle:= GetWindowLong(application.Handle, GWL_EXSTYLE);
SetWindowLong(application.Handle, GWL_EXSTYLE, ExtendedStyle or WS_EX_TOOLWINDOW);
Enabled := true;
Show;
end;
umbra (2005-10-21 19:49:00) [3]Чеоновой вариант такой. Два недостатка:
1) если нет кнопки в панели задач, то свернув окно, развернуть его нельзя
2) При появлении кнопки в панели задач исчезает иконка приложения
procedure TForm1.Button1Click(Sender: TObject);
var
ExtendedStyle : integer;
begin
Hide;
Enabled := false;
ExtendedStyle:= GetWindowLong(Handle, GWL_EXSTYLE);
SetWindowLong(application.Handle, GWL_EXSTYLE, (ExtendedStyle or WS_EX_APPWINDOW) xor WS_EX_TOOLWINDOW);
Enabled := true;
Show;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
ExtendedStyle : integer;
begin
Hide;
Enabled := false;
ExtendedStyle:= GetWindowLong(Handle, GWL_EXSTYLE);
SetWindowLong(application.Handle, GWL_EXSTYLE, ExtendedStyle or WS_EX_TOOLWINDOW);
Enabled := true;
Show;
end;
psa247 (2005-10-21 19:28:00) [4]С точностью до наоборот
Loginov Dmitry (2005-10-21 19:16:00) [5]С этим справляется функция
ShowWindow(Application.Handle, SW_HIDE)
psa247 (2005-10-21 19:03:00) [6]Точно.
umbra (2005-10-21 19:02:00) [7]Т.е. чтобы окно программы было видно всегда, а на панели задач кнопка то появлялась, то исчезала?
psa247 (2005-10-21 18:39:00) [8]Опция наподобие как у ВинАмп-а
umbra (2005-10-21 18:31:00) [9]а зачем в рантайме прятать-показывать?
psa247 (2005-10-21 18:21:00) [10]Мне в Run_Time надо скрывать / показывать !!!
umbra (2005-10-21 18:18:00) [11]надо вставить код OnCreate главной формы, скомпилировать его, запустить и любоваться отсутствием кнопки на панели задач. Только не
application.Handle, аMainform.Handle