![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Кнопка на таскбаре [D6]
PVR © (2003-10-19 15:37:00)
Можно ли сделать так чтоб один делфийский экзешник имел несколько кнопок приложения в таске?
(одну кнопенцию аппликатион бабахает в таск когда хоть одна форма видима а как забабахать туда кнопенцию когда ни одна форма не видима или несколько кнопенций ну как бы на каждую открытую форму)
Заранее благодарен.
Разумеется это не стандартный подход и разумеется это не есть коректно но IMHO
P.S. D6 VCL
PVR (2003-10-20 10:16:00) [1]
Ура это я там перемудрил чегото ларчик прост (да здравствует VCL)
TAppWindow=class(TForm)
protected
procedure CreateParams(var Params: TCreateParams); override;
procedure DoClose(var Action: TCloseAction); override;
public
constructor CreateNew(AOwner: TComponent; Dummy: Integer = 0);
override;
end;
constructor TAppWindow.CreateNew(AOwner: TComponent; Dummy: Integer);
begin
inherited;
caption:="gggggggt";
BorderStyle:=bsnone;
SetBounds(0,0,0,0);
end;
procedure TAppWindow.CreateParams(var Params: TCreateParams);
begin
inherited;
with Params do
ExStyle:=ExStyle or WS_EX_APPWINDOW;
end;
procedure TAppWindow.DoClose(var Action: TCloseAction);
begin
inherited;
action:=caFree;
end;
Конечно можно и проще DoClose совсем не обязателен например и параметры в конструкторе тоже совсем не обязательны короче достаточно и:
TAppWindow=class(TForm)
protected
procedure CreateParams(var Params: TCreateParams); override;
end;
procedure TAppWindow.CreateParams(var Params: TCreateParams);
begin
inherited;
with Params do
ExStyle:=ExStyle or WS_EX_APPWINDOW;
end;
Всем кто учавствовал огромный ФЕНКС
PVR (2003-10-20 00:40:00) [2]
--DiamondShark Да получилось кнопка есть токо не понятно какой там обработчик WndProc писать пробовал разное приложение зжирает 100% ресурсов
FHandle := Windows.CreateWindowEx(WS_EX_APPWINDOW, "MDICLIENT"{Чтоб ничего не сочинять},
nil, WS_DISABLED , 0, 0, 0, 0, 0, 0,
HInstance, @ClientCreateStruct);
может в разных потоках это делать надо?
DiamondShark (2003-10-19 20:30:00) [3]
Можно.
Читать в справке SDK про стили окон.
PVR (2003-10-19 19:22:00) [4]
--Jonni
Это как вне экрана в смысле использовать другой монитор?
А еси их нет!
DVM (2003-10-19 19:00:00) [5]
Можно послать таскбару сообщение о том что создано новое окно. Если он не проверяет правильность хэндла окна то может пройдет.
jonni (2003-10-19 18:54:00) [6]
sozday esche odnu vidimuyu formu no tol"ko pomesti ee vne ekrana