Окна

Delphi (Де́льфи, произносится /ˈdɛlˌfi/ дэ́лфи ) — язык программирования, который используется в одноимённой среде разработки. Название используется начиная с 7 версии среды разработки, ранее это был Object Pascal

Окна

Сообщение T.O.M. » 19 фев 2010, 03:12

Доброго времени суток.
У меня такой вопрос: программа имеет немало окон, но они зависимы друг от друга, т.е. некоторые окна являются диалоговыми и вызываются с других, и пока они открыты, имеет смысл заблокировать доступ к тем окнам, с которых они вызываются. Другими словами, как сделать так, чтобы, пока открыто это диалоговое окно, пользователь не мог перескочить на родительское (тем самым может его затерять за родительским или просто не получить нужные данные).
Аватар пользователя
T.O.M.
Жаждущий информации
Жаждущий информации
 
Сообщений: 23
Зарегистрирован: 13 мар 2009, 14:46
Откуда: Житомир
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
T.O.M. doesn't have reputation

Re: Окна

Сообщение Berg » 19 фев 2010, 03:23

Просто использовать для отображения формы метод ShowModal (); на сколько мне понится ... :)
Вызов формы методом ShowModal блокирует окна остальные до закрытия текущего.
Помогите Microsoft в борьбе с пиратскими версиями Windows — установите своим друзьям Linux! :)
Аватар пользователя
Berg
Модератор
Модератор
 
Сообщений: 620
Зарегистрирован: 30 окт 2008, 00:11
Откуда: Тьмутаракань :)
Благодарил (а): 4 раз.
Поблагодарили: 3 раз.
Блог (статьи): Просмотреть
Пункты репутации: 8
Berg doesn't have reputation

Re: Окна

Сообщение T.O.M. » 19 фев 2010, 03:43

Спасибо, попробуем. :)
Аватар пользователя
T.O.M.
Жаждущий информации
Жаждущий информации
 
Сообщений: 23
Зарегистрирован: 13 мар 2009, 14:46
Откуда: Житомир
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
T.O.M. doesn't have reputation

Re: Окна

Сообщение T.O.M. » 26 фев 2010, 02:47

Еще один вопрос - как убрать в заголовке окна кнопки свертывания окна и развертываения его на весь экран (те, что в правом верхнем углу :) ) и запретить возможность изменять размер окна растягиванием?
Аватар пользователя
T.O.M.
Жаждущий информации
Жаждущий информации
 
Сообщений: 23
Зарегистрирован: 13 мар 2009, 14:46
Откуда: Житомир
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
T.O.M. doesn't have reputation

Re: Окна

Сообщение Berg » 26 фев 2010, 03:59

Это все в панеле свойств задается ... Не помню точно названий свойств :) Лет 5 как не программил на Делфях .. :secret: Но если не найдете и сильно надо надо - могу запустить как нить и уточнить :)
Помогите Microsoft в борьбе с пиратскими версиями Windows — установите своим друзьям Linux! :)
Аватар пользователя
Berg
Модератор
Модератор
 
Сообщений: 620
Зарегистрирован: 30 окт 2008, 00:11
Откуда: Тьмутаракань :)
Благодарил (а): 4 раз.
Поблагодарили: 3 раз.
Блог (статьи): Просмотреть
Пункты репутации: 8
Berg doesn't have reputation

Re: Окна

Сообщение T.O.M. » 26 фев 2010, 04:47

Нет, спасибо, я ужо нашол :)
Для запрета изменения размеров нужно свойству BorderStyle в инспекторе присвоить значение bsSingle.
А чтобы убрать кнопки в углу, нашел нехитрый кусок кода :)
Код: выделить все
procedure TForm1.FormCreate(Sender: TObject);
var
   l: DWORD;
begin
   l := GetWindowLong(Self.Handle, GWL_STYLE);
   l := l and not (WS_MINIMIZEBOX);
   l := l and not (WS_MAXIMIZEBOX);
   l := SetWindowLong(Self.Handle, GWL_STYLE, l);
end;

Ну это информация для тех, кому может вдруг понадобится. :ok:
Аватар пользователя
T.O.M.
Жаждущий информации
Жаждущий информации
 
Сообщений: 23
Зарегистрирован: 13 мар 2009, 14:46
Откуда: Житомир
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
T.O.M. doesn't have reputation

Re: Окна

Сообщение Moonlight » 26 фев 2010, 10:16

Можно в свойстве BorderIcons формы отключить пункты biMinimize и biMaximize )
Elves are immortal
Аватар пользователя
Moonlight
Модератор раздела
Модератор раздела
 
Сообщений: 465
Изображения: 10
Зарегистрирован: 04 апр 2009, 09:15
Откуда: Новоград-Волинський
Благодарил (а): 0 раз.
Поблагодарили: 5 раз.
Блог (статьи): Просмотреть
Пункты репутации: 6
Moonlight doesn't have reputation

Re: Окна

Сообщение T.O.M. » 26 фев 2010, 17:14

Спасибо! Вариант! Учту :good:
Аватар пользователя
T.O.M.
Жаждущий информации
Жаждущий информации
 
Сообщений: 23
Зарегистрирован: 13 мар 2009, 14:46
Откуда: Житомир
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
T.O.M. doesn't have reputation


Вернуться в Delphi



Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1