Главная страница
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.048 c
8-1087466421
ПсихЪ
2004-06-17 14:00
2004.09.05
Wave.pas, Wave.dcu - где взять?


1-1092730717
ceval
2004-08-17 12:18
2004.09.05
как в Excel сделать заголовок столбца (по середине) и


3-1091776296
Рафик
2004-08-06 11:11
2004.09.05
Проблема с полями


3-1092132464
REA
2004-08-10 14:07
2004.09.05
Названия ключей


1-1092906179
Марат
2004-08-19 13:02
2004.09.05
Fatal Error