Форум: "Основная";
Текущий архив: 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.008 c