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

Вниз

Как запретить пользователю изменять размеры окна?   Найти похожие ветки 

 
Provodnick   (2003-03-01 18:04) [0]

Подскажите пожалуйста, как сделать недоступной для пользователя кнопку "Развернуть/Восстановить"?


 
Song   (2003-03-01 18:16) [1]

Дак что ж всё-таки надо сделать: запретить пользователю изменять размеры окна или сделать недоступной для пользователя кнопку "Развернуть/ Восстановить" ? Это знаете ли разные вещи.


 
Provodnick   (2003-03-01 18:19) [2]

Одно вытекает из другого. А вообще, сделать недоступной для пользователя кнопку "Развернуть/Восстановить".


 
Song   (2003-03-01 18:21) [3]

EnableMenuItem()


 
Namo   (2003-03-01 18:23) [4]

тем более, что убрав кнопки "Развернуть/ Восстановить", вы ничего не добьетесь, внизу на панели можно совершить те же самые действия. А вообще надо BorderStyle:=bsSingl; только это делается в инспекторе объектов.

Feanturi: Valanyё Mandos


 
Song   (2003-03-01 18:29) [5]

bsDialog точнее.
Всё что можно сделать в ИО, можно и программно.


 
Provodnick   (2003-03-01 18:31) [6]

А как в EnableMenuItem() получить 1-й и 2-й параметры?


 
Rouse_   (2003-03-01 18:49) [7]

Я предпочитаю делать это довольно тупым способом, перехватом оконной процедуры, хотя, кто скажет что правильно?

Желаю успехов


 
Provodnick   (2003-03-01 18:59) [8]

Правильно, никто не скажет. Делал я перехватом - хочется разнообразия. Так как насчет 2-го параметра в EnableMenuItem()?
UINT uIDEnableItem, // menu item to enable, disable, or gray
Чего тут написать? Подскажите плиз.


 
uw   (2003-03-01 19:31) [9]

Есть еще тупой, но работающий вариант: делаешь MaxHeight = MinHeight и MaxWidth = MinWidth.


 
DVM   (2003-03-01 20:05) [10]

SystemMenu := GetSystemMenu(wnd,false);
EnableMenuItem(systemMenu, SC_RESTORE, MF_BYCOMMAND or MF_GRAYED);


 
Provodnick   (2003-03-01 20:05) [11]

Интересная вещь:
EnableMenuItem(GetSystemMenu(handle, False), SC_CLOSE, MF_GRAYED); - работает, а
EnableMenuItem(GetSystemMenu(handle, False), SC_SIZE, MF_GRAYED); - не работает! В чем ошибка/проблема?


 
DVM   (2003-03-01 20:09) [12]

Все работает, только что проверил.


 
Provodnick   (2003-03-01 20:09) [13]

DVM, с SC_RESTORE тоже не работает. Балин...


 
Provodnick   (2003-03-01 20:16) [14]

DVM, создаю обычный проект в D6, в OnCreate пишу:
EnableMenuItem(GetSystemMenu(handle, False), SC_RESTORE, MF_GRAYED). Окну хоть бы хны - ноль эмоций.


 
DVM   (2003-03-01 20:20) [15]

Ну дык:

SendMessage( wnd, WM_INITMENUPOPUP, systemMenu, MAKELPARAM( 0, 1) );
SendMessage( wnd, WM_INITMENU, systemMenu, 0 );


 
Provodnick   (2003-03-01 20:42) [16]

DVM, не мог бы полностью процедуру кинуть - или комп глючит или я.


 
Иван Брылёв   (2003-03-02 03:32) [17]

Чего-то я не пойму, в чем суть? Если запретить изменять размеры окна - это
MyForm.BorderStyle:=bsSingle (не sizeable). Если нужно убрать кнопочки Развернуть/Восстановить - это свойство BorderIcons надо выставить в False biMinimize/biMaximize. А если их именно недоступными сделать - то это вот уже посоветовали с функциями WinAPI побаловаться.


 
Provodnick   (2003-03-02 12:53) [18]

Благодарю всех, кто ответил! Все работает нормально - то, что надо! Ещё раз спасибо.


 
Rouse_   (2003-03-02 23:02) [19]

Кстати есть еще один способ ограничения размеров формы

procedure WMGetMinMaxInfo(var M: TWMGetMinMaxInfo); message WM_GetMinMaxInfo;

procedure TForm1.WMGetMinMaxInfo(var M: TWMGetMinMaxInfo);
begin;
inherited;
M.MinMaxInfo^.ptMinTrackSize.X:=630;
M.MinMaxInfo^.ptMinTrackSize.Y:=400;
end;

Желаю успехов


 
Спрашивающий   (2003-03-03 01:16) [20]

procedure TForm1.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
begin
Resize:=False;
end;



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

Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.007 c
14-39546
Михайлов Антон
2003-02-26 15:06
2003.03.13
Конвертор


14-39572
Дмитрий К.К.
2003-02-25 06:08
2003.03.13
Именинники 25 февраля


14-39577
SSS
2003-02-27 06:40
2003.03.13
Jpg работа с базой


6-39454
Mutex
2003-01-02 19:09
2003.03.13
Socket


3-39236
Ozone_too
2003-02-23 10:30
2003.03.13
Что за ошибка?????





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