Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.05;
Скачать: CL | DM;

Вниз

форма   Найти похожие ветки 

 
race1   (2004-08-18 05:43) [0]

можно сделать что бы окно было без заголовка, но с изменяемыми размерами (fsNone делат форму не изменяемой в размерах). может, как-то хитро эту форму сделать?

иначе придётся пихать панели к всем сторонам формы, делать у них соответствующий курсор и изменять размеры формы через панели


 
Dyn`alt ©   (2004-08-18 06:40) [1]

Нужно переопределить метод CreateParams формы и в нем выставить нужные стили окна


 
Юрий Зотов ©   (2004-08-18 06:50) [2]

Выставляем BorderStyle = bsNone и замещаем CreateWnd:


type
 TForm1 = class(TForm)
 ...
 protected
   procedure CreateWnd; override;
 ...
 end;

procedure TForm1.CreateWnd;
begin
 inherited;
 SetWindowLong(Handle, GWL_STYLE,
   GetWindowLong(Handle, GWL_STYLE) or WS_THICKFRAME)
end;


 
Dyn`alt ©   (2004-08-18 07:19) [3]

Это тоже сработает:

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
 inherited CreateParams(Params);
 Params.Style := WS_POPUP or WS_THICKFRAME;
end;


 
race1   (2004-08-18 07:27) [4]

спасибо всем! не думал что это так просто :)


 
Юрий Зотов ©   (2004-08-18 07:59) [5]

> race1   (18.08.04 07:27) [4]

Очень советую посмотреть справку API по функциям RegisterClass, RegisterClassEx, CreateWindow и CreateWindowEx, а также по структуре CREATESTRUCT. Кроме прочего, там описаны стили классов окон и самих окон, что они делают и на что влияют. Найдете немало интересного (в том числе, и для таких окон, как кнопки, комбобоксы и пр.).

Пояснение.

При создании окон VCL использует RegisterClassEx и CreateWindowEx. Переопределить стили на нужные можно как ДО создания окна, так и ПОСЛЕ его создания. До создания окна это делается замещением метода CreateParams (Params.WindowClass.Style - стили класса окна, Params.Style - стили окна, Params.ExStyle - расширенные стили окна), а после создания окна - вызовом SetClassLong (стили класса окна) и/или SetWindowLong (стили окна и расширенные стили окна). Кроме стилей, CreateParams, SetClassLong и SetWindowLong позволяют перепределить и некоторые другие параметры окна (иконку, кисть и пр.).



Страницы: 1 вся ветка

Текущий архив: 2004.09.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.035 c
8-1087825843
ИМХО
2004-06-21 17:50
2004.09.05
Собрать AVI файл из BMP-шек


1-1092908968
HSD
2004-08-19 13:49
2004.09.05
видимость type class снаружи .EXE


14-1092921031
stone
2004-08-19 17:10
2004.09.05
"Ремейк" книжных бестселлеров


14-1092468876
Кириешки
2004-08-14 11:34
2004.09.05
Права администратора на доступ к реестру


3-1092135691
Diman
2004-08-10 15:01
2004.09.05
Сортировка в строке