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

Вниз

Окна диалога   Найти похожие ветки 

 
Karlusha ©   (2002-06-04 11:27) [0]

Есть окно BorderStyle=bsDialog (стиль окна менять нельзя). А окно уж очень надо сделать изменяемого размера.
Перегружать CreateParams и делать SetWindowLong с WS_SIZEBOX уже пробовал. Не помогает. Помогите пожалуйста


 
McSimm ©   (2002-06-04 11:48) [1]

попробуй так
Создай процедуру обработки сообщения
procedure WMNCHITTEST(var Message: TWMNCHITTEST); message WM_NCHITTEST;

в которой проверяй XPos, YPos и возвращай нужный результат.
HTBOTTOMLEFT, HTTOPLEFT и т п





 
Karlusha ©   (2002-06-04 12:30) [2]

McSimm, можно маленький примерчик. Чото мысля не приходит на этот счет.


 
McSimm ©   (2002-06-04 12:42) [3]

Вот примерчик. У формы стиль bsNone, так что имитируем и заголовок (в конце) и кнопку закрытия тоже (SpeedButton2)

procedure TMyFrm.WMNCHITTEST(var Message: TWMNCHITTEST);
var
Bounds: TRect;
CX, CY: Integer;
begin
Bounds := BoundsRect;
CX := 5;
CY := 5;
InflateRect(Bounds, -CX, -CY); //по 5 пикселей на рамку
with Message do
begin
if ControlAtPos(ScreenToClient(Point(XPos, YPos)), True, True) = SpeedButton2 then
begin
Result := HTCLIENT; // пример попадания мыши на кнопку
Exit
end; // Дальше обрабатываем рамки
if XPos < Bounds.Left then
begin
if YPos > Bounds.Bottom - 8 then Result := HTBOTTOMLEFT
else if YPos < Bounds.Top + 8 then Result := HTTOPLEFT
else Result := HTLEFT
end else
if XPos > Bounds.Right then
begin
if YPos > Bounds.Bottom - 8 then Result := HTBOTTOMRIGHT
else if YPos < Bounds.Top + 8 then Result := HTTOPRIGHT
else Result := HTRIGHT
end else
if YPos < Bounds.Top then Result := HTTOP
else if YPos > Bounds.Bottom then Result := HTBOTTOM
else
if YPos < Bounds.Top + 15 then Result := HTCAPTION

end
end;


 
Karlusha ©   (2002-06-04 12:51) [4]

McSimm. Огромное спасибо. Идея понятна



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
6-55256
esprit_bel
2002-04-08 05:32
2002.06.17
IP


4-55374
zondor
2002-04-11 12:06
2002.06.17
API


1-55067
vlv
2002-06-05 18:12
2002.06.17
Com - объекты


3-54978
friend
2002-05-17 12:12
2002.06.17
current_date


4-55371
ProNix
2002-04-17 16:04
2002.06.17
Файлвая система