Главная страница
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.015 c
4-55346
ghost_by
2002-04-12 21:06
2002.06.17
SHAppBarMessage - нужно разобраться.


6-55243
Fredericco
2002-04-08 14:08
2002.06.17
Я использую Сокеты. Вот вопрос следующий как не дать клиенту соед


1-55125
Vladimir_Shk
2002-06-06 13:21
2002.06.17
не получается использовать TPersistent.Assign


4-55373
ted
2002-04-11 10:51
2002.06.17
Помогите плиз достать иконку!!!!!!


1-55216
inc(665)
2002-06-04 23:07
2002.06.17
Хехехе