Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2009, 22:05   #1
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
Вопрос Баг в цикле: программно развернуть - свернуть - восстановить окно

Имеем приложение написанное на Delphi. На форме установлены три кнопки для управления размерами главного окна: "максимизировать", "минимизировать", "восстановить". Есть и вторая форма с теми же кнопками (с одинаковыми обработчиками), которая появляется при щелчке правой кнопкой мыши на закладке программы в панели задач Виндоус. Если эти кнопки нажимать с той последовательностью (не важно на какой форме), с какой они перечислены здесь, то после Восстановления форму невозможно будет свернуть. Что за баг? Подскажите в чем проблема, очень нужно разобраться.

Для максимизации использую:
Код:
PostMessage(MainForm.Handle, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
Для минимизации приложения:
Код:
PostMessage(MainForm.Handle, WM_SYSCOMMAND, SC_RESTORE, 0);
Для востановления:
Код:
PostMessage(MainForm.Handle, WM_SYSCOMMAND, SC_RESTORE, 0);
Пожалуйста смотрите приложение и исходные коды:
Вложения
Тип файла: rar МЕНЮ ФОРМЫ.rar (175.8 Кб, 50 просмотров)
лучший подарок женщине-программисту

Последний раз редактировалось chandrasecar; 07.11.2009 в 01:41.
chandrasecar вне форума Ответить с цитированием
Старый 06.11.2009, 22:16   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...так и не добился вашего бага, у меня все ок
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 06.11.2009, 22:21   #3
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Первых раза 2 запуска проекта - баг заметил. Но потом он куда то исчез и сейчас работает все нормально. Странно это как то...
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 07.11.2009, 01:37   #4
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию

Я извиняюсь! Не та компиляция... Ниже та.

Последовательность действий такова:
1) Нажимаем кнопку "Максимизировать"
2) Нажимаем кнопку "Минимизировать"
3) Нажимаем правой кнопкой мыши по закладке программы в панели задач Виндоус и кнопку "Восстановить"

После этого кнопка "Минимизировать" не работает. Приложение будто считает что оно уже минимизировано. Не знаю как восстановить это значение...
Вложения
Тип файла: rar МЕНЮ ФОРМЫ.rar (175.8 Кб, 36 просмотров)
лучший подарок женщине-программисту

Последний раз редактировалось chandrasecar; 07.11.2009 в 01:40.
chandrasecar вне форума Ответить с цитированием
Старый 07.11.2009, 10:35   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

подтверждаю снова, бага не добился
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.11.2009, 11:19   #6
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию

Вот странности... Смотрел на нескольких компах и этот глюк был и есть... Спасибо за интерес, raxp.
лучший подарок женщине-программисту
chandrasecar вне форума Ответить с цитированием
Старый 07.11.2009, 11:21   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

а почему вы не пользуетесь свойствами формы windowstate ?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.11.2009, 12:14   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Есть баг. Именно такой, как описал ТС. Подтверждаю.

To chandrasecar
По нажатию любой кнопки в форме с меню поставьте последним оператором Close, а то что ни выбрал, меню так и остается висеть...
mihali4 вне форума Ответить с цитированием
Старый 09.11.2009, 16:57   #9
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию

Проблема не с меню, а с главной формой. WindowState плохо подходит, т.к. при значении Minimized окно минимизируется внизу над панелью задач Виндоус. И вообще, испробовал все методы управления размерами окон - все бесполезно. Это что - глюки Дельфи при компиляции?
лучший подарок женщине-программисту
chandrasecar вне форума Ответить с цитированием
Старый 09.11.2009, 17:08   #10
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
т.к. при значении Minimized окно минимизируется внизу над панелью задач Виндоус
если вам нужно скрыть его, так и делайте
Код:
form2.hide
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как свернуть и развернуть форму? blackstersl Общие вопросы Delphi 7 25.06.2009 09:20
как развернуть окно? Sergeu Общие вопросы Delphi 2 19.01.2009 17:02
Свернуть, развернуть, восстановить окно chandrasecar Win Api 1 15.10.2008 00:13
Развернуть окно Михаил Юрьевич Общие вопросы Delphi 4 23.02.2008 16:44
Свернуть\Восстановить (Delphi) Лубышев Помощь студентам 3 21.01.2008 14:52