Форум: "Основная";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
ВнизСоздание окон с отдельными кнопками на панели задач Найти похожие ветки
← →
Михаил_ (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. в implementationprocedure 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c