Главная страница
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.017 c
1-100753
Orden
2003-07-16 15:07
2003.07.31
Rave-компоненты


1-100744
_Санек_
2003-07-16 10:12
2003.07.31
Как передать в параметр процедуры массив?


1-100693
chs2r
2003-07-18 12:42
2003.07.31
Как смасштабировать Image


11-100653
Bartov
2002-11-26 20:44
2003.07.31
KOL - Делфи7 (Посмотрите все)


3-100620
LinOS
2003-07-09 08:24
2003.07.31
Как получить пользователя из SQLConnection??