Текущий архив: 2003.07.31;
Скачать: CL | DM;
ВнизМинимизация динамически созданной формы Найти похожие ветки
← →
R (2003-07-16 06:48) [0]Если форма создана статически и надо ее минимизировать на панель задач делаю так
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.ExStyle:= WS_EX_APPWINDOW or WS_EX_OVERLAPPEDWINDOW
end;
а как произвести данное действие с формой созданной динамически.
← →
Spawn (2003-07-16 06:57) [1]Так же как и с этой :)
Form:=TForm1.Create()
Либо, по идее, через GetWindowLong, SetWindowLong.
← →
R (2003-07-16 07:26) [2]>Так же как и с этой :)
Ну как создать динамически форму понятно, а что в процессе создания надо написать чтобы она минимизировалась на панель задач.
← →
R (2003-07-16 08:51) [3]Пробовал через GetWindowLong, SetWindowLong что то не выходит.
Вопрос остается открытым.
← →
R (2003-07-16 09:09) [4]-*) ? (*-
← →
Alex_*** (2003-07-16 09:18) [5]В смысле минимизировалась? Даешь Hide()....
← →
R (2003-07-16 09:33) [6]В смысле минимизировалась? Даешь Hide()....
Сворачивалась на панель задач, а не в маленькое окно размером с заголовок формы в левый угол экрана, тоесть как себя ведет главное окно при минимизации. Код для статически созданной формы я привел, а вот для динамически не могу понять как его применить.
← →
Guer (2003-07-16 09:43) [7]Form1.WindowState := wsMinimized; ???
← →
R (2003-07-16 09:52) [8]>Guer (16.07.03 09:43)
Нет не то.
← →
Song (2003-07-16 09:54) [9]ShowWindow(Handle,SW_MINIMIZE)?
← →
R (2003-07-16 10:00) [10]>Song © (16.07.03 09:54)
Нет не то. Постараюсь еще объяснить.
Мне нужно чтобы динамически созданная форма запускалась обычно не минимизируясь, но если нажать на кнопку минимизации, то сворачивалась она бы на панель задач.
Попробуйте для любой не главной формы вот этот код и поймете о чем это я.
public
procedure CreateParams(var Params: TCreateParams);override;
{ Public declarations }
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.ExStyle:= WS_EX_APPWINDOW or WS_EX_OVERLAPPEDWINDOW
end;
← →
Song (2003-07-16 10:13) [11]Для динамически созданной формы попробуйте изменить теже самые стили через SetWindowLong()
← →
q (2003-07-16 10:25) [12]так в билдере я делал:
TMyForm *NewWindow;
Application->CreateForm(__classid(TMyForm), &NewWindow);
...
NewWindow->Parent = NULL;
NewWindow->Show();
//Здесь можно написать минимизацию
//свернется на панель задач
//Guer (16.07.03 09:43)
//Form1.WindowState := wsMinimized; ???
и переписать CreateParams формы
void __fastcall TMyForm::CreateParams(TCreateParams &Params)
{ TForm::CreateParams(Params);
Params.ExStyle = Params.ExStyle | WS_EX_APPWINDOW;
Params.WndParent = NULL;
}
← →
Alex_*** (2003-07-16 13:10) [13]А какя разница между статическими и динамическими формами? Ты не путаешь минимизацию со сворачиванием в трей? Хочешь чтоб главное окно сразу валилось в трей? - перекрываешь WM_SYSCOMMAND и по SC_MINIMIZE даешь HIDE и сворачиваешь в трей
Страницы: 1 вся ветка
Текущий архив: 2003.07.31;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.009 c