Главная страница
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.036 c
1-1092821913
Mox Fulder
2004-08-18 13:38
2004.09.05
Minimize


4-1090680187
Vitek
2004-07-24 18:43
2004.09.05
Как получить данные о температуре процессора?


3-1092308100
Jaxtor
2004-08-12 14:55
2004.09.05
Видимость окон для пользователей


4-1090317648
TRyaSS
2004-07-20 14:00
2004.09.05
COM-порт.Немогу записать в порт.


14-1092902502
Rem
2004-08-19 12:01
2004.09.05
Кто что думает по поводу...