powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / MaxButton формы остаётся недоступной
10 сообщений из 10, страница 1 из 1
MaxButton формы остаётся недоступной
    #38466425
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго времени суток!
Ситуация следующая: в программе по нажатии по одной из кнопок форма разворачивается на весь экран (ThisForm.Widnowstate = 2) и свойству MaxButton формы присваивается значение .F., т.е. становится недоступной кнопка распахивания формы на весь экран.
Затем при нажатии ещё одной кнопки свойству MaxButton присваивается значение .T. (форма остаётся развёрнутой на весь экран), но кнопка распахивания формы остаётся недоступной (не смотря на то, что после изменения значения свойства MaxButton вызывается событие Refresh формы).
Вопрос: как сделать так, чтобы в результате вышеописанных действий кнопка распахивания всё-таки становилась доступной?
...
Рейтинг: 0 / 0
MaxButton формы остаётся недоступной
    #38466437
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9IKOBВсем доброго времени суток!
Ситуация следующая: в программе по нажатии по одной из кнопок форма разворачивается на весь экран (ThisForm.Widnowstate = 2) и свойству MaxButton формы присваивается значение .F., т.е. становится недоступной кнопка распахивания формы на весь экран.
Затем при нажатии ещё одной кнопки свойству MaxButton присваивается значение .T. (форма остаётся развёрнутой на весь экран), но кнопка распахивания формы остаётся недоступной (не смотря на то, что после изменения значения свойства MaxButton вызывается событие Refresh формы).
Вопрос: как сделать так, чтобы в результате вышеописанных действий кнопка распахивания всё-таки становилась доступной?

Используй стандартные свойсва формы без выдумывания своих кнопок.
...
Рейтинг: 0 / 0
MaxButton формы остаётся недоступной
    #38466581
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorNGИспользуй стандартные свойсва формы без выдумывания своих кнопок.
Не понял смысл ответа - я и так использую стандартные свойства WindowState, MaxButton. При чём тут кнопки?
Просто суть в том, что когда форма развёрнута на весь экран, кнопка, расположенная в правом верхнем углу окна слева от красного крестика не разворачивает форму, а возвращает её к исходным размерам. Получается, в этот момент она не MaxButton, и поэтому не становится доступной при присваивании свойству MaxButton значения .T.
...
Рейтинг: 0 / 0
MaxButton формы остаётся недоступной
    #38466588
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9IKOBIgorNGИспользуй стандартные свойсва формы без выдумывания своих кнопок.
Не понял смысл ответа - я и так использую стандартные свойства WindowState, MaxButton. При чём тут кнопки?
Просто суть в том, что когда форма развёрнута на весь экран, кнопка, расположенная в правом верхнем углу окна слева от красного крестика не разворачивает форму, а возвращает её к исходным размерам. Получается, в этот момент она не MaxButton, и поэтому не становится доступной при присваивании свойству MaxButton значения .T.
Всегда так было. При развернутом на весь экран окне кнопка "развернуть" заменяется на "восстановить". Это виндовс делает во всех приложениях.
Не понимаю чем это тебе помешало? Какой смысл в кнопке "развернуть" если уже развернуто?

Чего именно ты хочешь добиться в итоге?
...
Рейтинг: 0 / 0
MaxButton формы остаётся недоступной
    #38466676
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TВсегда так было. При развернутом на весь экран окне кнопка "развернуть" заменяется на "восстановить". Это виндовс делает во всех приложениях.
Не понимаю чем это тебе помешало? Какой смысл в кнопке "развернуть" если уже развернуто?

Чего именно ты хочешь добиться в итоге?
Я хочу, чтобы когда форма развёрнута на весь экран и кнопка "развернуть" недоступна, при нажатии на мою кнопку кнопка "развернуть" (в данном случае она уже кнопка "восстановить") стала доступна.
Пока единственное найденное мною решение - это при нажатии на мою кнопку восстанавливать исходные размеры формы, затем делать доступной кнопку "развернуть", затем снова распахнуть форму на весь экран. Причём в событии Resize формы написан некоторый код, и мне не хочется его прогонять два лишних раза.
...
Рейтинг: 0 / 0
MaxButton формы остаётся недоступной
    #38466677
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TВсегда так было. При развернутом на весь экран окне кнопка "развернуть" заменяется на "восстановить". Это виндовс делает во всех приложениях.
Не понимаю чем это тебе помешало? Какой смысл в кнопке "развернуть" если уже развернуто?

Чего именно ты хочешь добиться в итоге?
Я хочу, чтобы когда форма развёрнута на весь экран и кнопка "развернуть" недоступна, при нажатии на мою кнопку кнопка "развернуть" (в данном случае она уже кнопка "восстановить") стала доступна.
Пока единственное найденное мною решение - это при нажатии на мою кнопку восстанавливать исходные размеры формы, затем делать доступной кнопку "развернуть", затем снова распахнуть форму на весь экран. Причём в событии Resize формы написан некоторый код, и мне не хочется его прогонять два лишних раза.
...
Рейтинг: 0 / 0
MaxButton формы остаётся недоступной
    #38466729
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9IKOBПричём в событии Resize формы написан некоторый код, и мне не хочется его прогонять два лишних раза.
не прогоняй. Установи какой-нибудь флаг что Resize() отработал и больше не делай на него ничего. А форму разворачивай обратно при нажатии "восстановить"
...
Рейтинг: 0 / 0
MaxButton формы остаётся недоступной
    #38466740
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то так напиши Resize()
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
if ThisForm.WindowState != 2
   return
endif
if ThisForm.nPrevWidth = ThisForm.Width and ThisForm.nPrevHeight = ThisForm.Height
  return
endif
ThisForm.nPrevWidth = ThisForm.Width
ThisForm.nPrevHeight = ThisForm.Height
... твой код


свойства nPrevWidth и nPrevHeight предварительно только добавь и нулями заполни.
...
Рейтинг: 0 / 0
MaxButton формы остаётся недоступной
    #38466749
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Другой вариант вообще убрать кнопки
Код: sql
1.
2.
3.
4.
ThisForm.MinButton = .F.
ThisForm.MaxButton = .F.
ThisForm.TitleBar = 0 
ThisForm.WindowState = 2
...
Рейтинг: 0 / 0
MaxButton формы остаётся недоступной
    #38468170
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

Я создал глобальную переменную, по значению которой определяю в событии Resize, нужно ли выравнивать объекты по размеру формы или нет. Вот кусочек кода, где делается доступным кнопка MaxButton:
Код: sql
1.
2.
3.
4.
5.
6.
7.
IF .MaxButton = .F.
	m.glResize = .F.
	.WindowState = 0
	.MaxButton = .T.
	.WindowState = 2
	m.glResize = .T.
ENDIF
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / MaxButton формы остаётся недоступной
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]