Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.01;
Скачать: CL | DM;

Вниз

Создание окон с отдельными кнопками на панели задач   Найти похожие ветки 

 
Михаил_   (2005-12-02 09:48) [0]

Всем привет.
Вопрос такой:
как создавать окошки так, чтобы на панели задач для каждого нового окна отображалась отдельная кнопка (наподобие того, как Internet Explorer или Word создают новые окошки).
Заранее благодарен.


 
Чапаев ©   (2005-12-02 10:07) [1]

RTFM GetWindowLong(), SetWindowLong(), раздел о стилях окна в справке по CreateWindowEx().


 
Михаил_   (2005-12-02 10:40) [2]

Чапаев, спасибо за ответ, но если я правильно понял, то придется создавать все компоненты окна в ручную пользуясь WinAPI. А нельзя ли добиться того же эффекта, используя объекты?


 
Чапаев ©   (2005-12-02 11:08) [3]


> А нельзя ли добиться того же эффекта, используя объекты?

Ну почему сразу нельзя? ;-) Можно!

Перекрывай метод формы CreateParams. Там вызывай inherited, а потом добавляй WS_EX_APPWINDOW (кажется, так) в ExStyle (кажется, так).


 
ANB ©   (2005-12-02 12:20) [4]

procedure TfmLog.CreateParams(var Params: TCreateParams);
begin
inherited;
with Params do begin
 Style := (Style or WS_POPUP) and (not WS_CHILD);
 WndParent := HWND_DESKTOP;
end;
end;

Так почему то работает.


 
Михаил_   (2005-12-02 12:54) [5]

Что-то не выходит. Я делаю так:
1. в секцию private добавил procedure CreateParams(var Params: TCreateParams);;
2. в implementation
procedure TForm3.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with params do
ExStyle := ExStyle or WS_EX_APPWINDOW
end;

3. в модуле unit1

procedure TForm1.Button2Click(Sender: TObject);
begin
Form3.Show;
end;

и принажатии на кнопку Button2 появляется окно, но на панели задач новой кнопки не появляется.
В чем может быть дело?


 
Плохиш ©   (2005-12-02 12:56) [6]

procedure CreateParams(var Params: TCreateParams); override;


 
Михаил_   (2005-12-02 13:02) [7]

Точно, забыл указать override.
Все заработала, Все спасибо за советы!!!



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

Текущий архив: 2006.01.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
3-1131592515
antoxa2005
2005-11-10 06:15
2006.01.01
ПОМОГИТЕЕсли я перевожу ADOTable CursorLocation в clUseClient, то


5-1118905491
flake
2005-06-16 11:04
2006.01.01
TTrackBar - ползунки


2-1134377675
Id
2005-12-12 11:54
2006.01.01
Пароль


14-1133786020
Kerk
2005-12-05 15:33
2006.01.01
Поисковая система Kazzoom вступает в гонку с Yahoo! и Google


2-1134744566
fast2
2005-12-16 17:49
2006.01.01
Как программно узнать дату создания файла?