Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Кнопка на таскбаре [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


Наверх

Титульная страница Поиск, карта сайта Написать письмо