Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.49 MB
Время: 0.016 c
1-100825
афвуд
2003-07-16 18:51
2003.07.31
Хочу чтобы TImage был выше всех на форме.


14-100943
Vlad Oshin
2003-07-14 14:00
2003.07.31
Очкарик. Рассказ.


14-100884
mikhasenko.anton
2003-07-16 08:25
2003.07.31
Где найти компонент DBF?


1-100794
дим
2003-07-17 10:23
2003.07.31
Процесс


1-100709
GSergei
2003-07-18 14:53
2003.07.31
Запущена ли служба?