Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
14-100936
nick-from
2003-07-15 02:08
2003.07.31
проблема жилья в столицы


14-100949
Sergey Masloff
2003-07-15 12:52
2003.07.31
Какой смысл в Князе Мышкине?


7-101000
V-navigator
2003-05-21 19:15
2003.07.31
Как програмно открыть защелку СD-ROM


1-100828
Федор
2003-07-17 13:05
2003.07.31
в DevXpressQuantumGrid из кода выделить строку цветом


1-100715
aga
2003-07-18 17:05
2003.07.31
TreeView




   Наверх