Главная страница
    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.007 c
1-55075
ЗЛ
2002-06-03 14:26
2002.06.17
сть компонент StringGrid и у меня она состоит из одной строчки с


3-54995
VictorT
2002-05-21 14:42
2002.06.17
Проблемка с индексами.


1-55149
BPK
2002-06-04 03:20
2002.06.17
Как скомпоновать форму at runtime?


14-55295
Ketmar
2002-05-04 08:14
2002.06.17
хм... старею, что ли?..


14-55320
BAHO
2002-05-08 01:51
2002.06.17
Знатоки FoxPro ПОМОГИТЕ !!!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский