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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2009, 17:19   #11
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию

Xarp, form2.hide скрывает форму совсем, делает ее невидимой и убирает с панели задач Виндоус закладку приложения. Мне же нужно чтобы приложение сворачивалось стандартным образом, т.е. закладка должна отображаться в панели задач. И для этого я использую:
Код:
PostMessage(MainForm.Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
Проблема то в другом - см. выше
лучший подарок женщине-программисту
chandrasecar вне форума Ответить с цитированием
Старый 09.11.2009, 18:32   #12
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Проблема в неверном использовании PostMessage - "посылаю сам себе"...
Замените обработчики для главной формы:
Код:
procedure TMainForm.Button3Click(Sender: TObject);
begin
WindowState:=wsMinimized;
end;

procedure TMainForm.Button2Click(Sender: TObject);
begin
WindowState:=wsNormal;
end;

procedure TMainForm.Button1Click(Sender: TObject);
begin
WindowState:=wsMaximized;
end;
И все работает нормально.
Как я и говорил - это баг, но не Дельфи, а ваш
mihali4 вне форума Ответить с цитированием
Старый 09.11.2009, 20:43   #13
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию

Верно, если сделать с WindowState, то все нормально, но при wsMinimized приложение сворачивается нестандартным образом. Сарtion окна с кнопками висит над кнопкой Пуск Винды
лучший подарок женщине-программисту
chandrasecar вне форума Ответить с цитированием
Старый 09.11.2009, 20:50   #14
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

так скрывайте если надо...
а если надо свернуть прогу то Application.Minimize есть
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.11.2009, 21:10   #15
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...вернулись к тому с чего начали

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

у меня 7. А про Application.Minimize я знаю, но от нее у меня другие проблемы. Всех благодарю за помощь.
лучший подарок женщине-программисту
chandrasecar вне форума Ответить с цитированием
Старый 09.11.2009, 23:17   #17
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Действительно странно все это как то...
Все события ловит, а вот именно повторно SC_MINIMIZE не ловится.
На счет Application.Minimize , тот же самый баг.
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 09.11.2009, 23:52   #18
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

chandrasecar, может поясните народу, что вы делаете и хотите добиться...

зы: проверьте у себя, если вашей форме вернуть стиль-бордюр и caption, баг повториться?

UPD: вот есть еще один у кого нормально (пост #20)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 10.11.2009 в 09:36.
raxp вне форума Ответить с цитированием
Старый 10.11.2009, 00:56   #19
chandrasecar
Форумчанин
 
Аватар для chandrasecar
 
Регистрация: 03.10.2008
Сообщений: 180
По умолчанию

Ничего особенного. Только чтобы корректно работали функции изменения размеров окна. Пришлось на WindowState перейти временно. Но при значении wsMinimized форма сворачивается нестандартным образом. А если использовать Application.Minimize, а в остальных случаях WindowState, то происходят глюки с отображением др. форм приложения. Т.к. WindowState относится к главной форме, а Application ко всему приложению.

Для SPAMER:
Здесь компиляция с WindowState
Вложения
Тип файла: rar МЕНЮ ФОРМЫ.rar (178.2 Кб, 9 просмотров)
лучший подарок женщине-программисту

Последний раз редактировалось Stilet; 10.11.2009 в 08:12.
chandrasecar вне форума Ответить с цитированием
Старый 10.11.2009, 09:17   #20
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

У меня всё отлично работает
Код:
procedure TMainForm.Button3Click(Sender: TObject);
begin
  //MainForm.WindowState:=wsMinimized;
  PostMessage(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
end;

procedure TMainForm.Button2Click(Sender: TObject);
begin
  //MainForm.WindowState:=wsNormal;
  PostMessage(Handle, WM_SYSCOMMAND, SC_RESTORE, 0);
end;

procedure TMainForm.Button1Click(Sender: TObject);
begin
  //MainForm.WindowState:=wsMaximized;
  PostMessage(Handle, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
end;
SERG1980 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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