Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
14-55270
vopros
2002-05-14 13:53
2002.06.17
Очень сильно хочу спать.


6-55241
novomod
2002-04-07 15:17
2002.06.17
Help.TClientSocket and TServerSocket.


3-54971
Browko Dmitrey
2002-05-22 17:36
2002.06.17
Как через Query сделать Insert по полю с зарезервированым именем


1-55135
Agent Smith
2002-06-03 12:36
2002.06.17
Дочерние формы как в Fotoshop


3-55007
Proton
2002-05-19 19:34
2002.06.17
Чем порекомендуетк пользоваться при созании отчетов?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский