![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение размеров формы без заголовка [D6, D7, Win2k]
Skyhawk © (2004-11-30 12:29:00)Как изменить размер формы если у нее borderStyle=bsNone?
Думкин (2004-11-30 13:30:00) [1]procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Style := (Params.Style or WS_POPUP) and not WS_CAPTION;
end
ssk (2004-11-30 13:07:00) [2]>>Skyhawk (30.11.04 12:49) [2]
Так не получается, в смысле получается но не так. Я хочу чтобы при наведении допустим на правый нижний угол формы, курсор менялся на двойную стрелочку
1. убери bsNone, поставь bsSizeable.
2. код [1] пропиши в OnCreate своей формы:
implementation
{$R *.dfm}
procedure FormWithoutCaption(Form:TForm);
var
FSizeCaption: Integer;
begin
with Form do
begin
FSizeCaption := GetSystemMetrics(SM_CYCAPTION);
SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_Style) and not WS_Caption);
Height:=Height - FSizeCaption;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FormWithoutCaption(Form1);
end;
у меня работает
KSergey (2004-11-30 12:56:00) [3]Обрабатывать WM_NCHITTEST в форме
Skyhawk (2004-11-30 12:49:00) [4]Так не получается, в смысле получается но не так. Я хочу чтобы при наведении допустим на правый нижний угол формы, курсор менялся на двойную стрелочку (ну это ладно) и как всегда зажав левую кнопку изменить размер окна.
ssk (2004-11-30 12:34:00) [5]попробуй сделать так
procedure FormWithoutCaption(Form:TForm);
var
FSizeCaption: Integer;
begin
with Form do
begin
FSizeCaption := GetSystemMetrics(SM_CYCAPTION);
SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_Style) and not WS_Caption);
Height:=Height - FSizeCaption;
end;
end;