Вниз
Скачать: CL | DM;

Убрать кнопку с панели задач в Run_time !   Найти похожие ветки 

← →
psa247 ©   (2005-10-21 18:04) [0]

ExtendedStyle : integer;
begin
  ExtendedStyle:= GetWindowLong(application.Handle, GWL_EXSTYLE);
  SetWindowLong(Application.Handle, GWL_EXSTYLE, ExtendedStyle or WS_EX_TOOLWINDOW);

Каким образом это использовать?


← →
umbra ©   (2005-10-21 18:18) [1]

надо вставить код OnCreate главной формы, скомпилировать его, запустить и любоваться отсутствием кнопки на панели задач. Только не application.Handle, а Mainform.Handle


← →
psa247 ©   (2005-10-21 18:21) [2]

Мне в Run_Time надо скрывать / показывать !!!


← →
umbra ©   (2005-10-21 18:31) [3]

а зачем в рантайме прятать-показывать?


← →
psa247 ©   (2005-10-21 18:39) [4]

Опция наподобие как у ВинАмп-а


← →
umbra ©   (2005-10-21 19:02) [5]

Т.е. чтобы окно программы было видно всегда, а на панели задач кнопка то появлялась, то исчезала?


← →
psa247 ©   (2005-10-21 19:03) [6]

Точно.


← →
Loginov Dmitry ©   (2005-10-21 19:16) [7]

С этим справляется функция
ShowWindow(Application.Handle, SW_HIDE)


← →
psa247 ©   (2005-10-21 19:28) [8]

С точностью до наоборот


← →
umbra ©   (2005-10-21 19:49) [9]

Чеоновой вариант такой. Два недостатка:
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;



← →
umbra ©   (2005-10-21 19:59) [10]

Эх, стормозил. Без недостатков
:
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;


← →
psa247 ©   (2005-10-22 11:15) [11]

> umbra ©  
Спасибо, только вместо Show у меня работает ShowWindow(Handle, SW_SHOW).



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.029 c
14-1133214311
SerJaNT
2005-11-29 00:45
2005.12.18
Интегралы


1-1132221617
Максим
2005-11-17 13:00
2005.12.18
Как узнать, какие модули из проекта войдут в приложение?


3-1130924869
ZaW
2005-11-02 12:47
2005.12.18
Это что еще за ошибка такая?


14-1132584437
ychenick
2005-11-21 17:47
2005.12.18
Огромный WinAPI справочник?


2-1133740879
HF-Trade
2005-12-05 03:01
2005.12.18
Прервать работу основной процедуры - из вызванной процедуры...




   Наверх