Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > C++ Builder
Перезагрузить страницу Как программно закрыть TPopupMenu
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Huan Huan вне форума
Member
 
Сообщений: 79
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.01.2006
По умолчанию Как программно закрыть TPopupMenu - 31.01.2006, 14:57

Есть TPopupMenu.
Необходимо программно закрыть его если за 5 секунд не сделан выбор.
Ответить с цитированием
  (#2 (permalink)) Старый
ALLex ALLex вне форума
Member
 
Сообщений: 192
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.07.2004
По умолчанию 01.02.2006, 18:06

Мож отправить клик форме, меню и закроется.
Ответить с цитированием
  (#3 (permalink)) Старый
Huan Huan вне форума
Member
 
Сообщений: 79
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.01.2006
По умолчанию 01.02.2006, 18:36

Пробовал что-то вроде
Код:
emptyMenuItem->Click();
не помогает

Клик форме пока не пробовал
А если формы нет?
Ответить с цитированием
  (#4 (permalink)) Старый
Huan Huan вне форума
Member
 
Сообщений: 79
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.01.2006
По умолчанию 01.02.2006, 20:06

Ok
Если кому интересно то помогло:

Код:
PostMessage(Form1->Handle,WM_LBUTTONDOWN, 0, MK_LBUTTON);
Если формы нет???
НЕ РАБОТАЕТ:

Код:
PostMessage(PopUpMenu1.Handle,WM_KEYDOWN,VK_ESC,0)
PostMessage(PopUpMenu1.Handle,WM_SYSCOMMAND,SC_CLOSE,0)
Ответить с цитированием
  (#5 (permalink)) Старый
PRIZRAK PRIZRAK вне форума
Member
 
Сообщений: 46
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 05.08.2005
По умолчанию 01.02.2006, 20:10

Можно программно заставить нажаться какую-нибудь клавишу. В нашем случае - это ESC.

Код:
void __fastcall TForm1::FormCreate(TObject *Sender)
   {
   // Первоначально таймер отключен
   Timer1->Enabled = false;
   Timer1->Interval = 5000;
   }

// Срабатывает после появления меню
// Или перед самым его появлением? Точно не знаю.
void __fastcall TForm1::PopupMenu1Popup(TObject *Sender)
   {
   // Останавливаем таймер (Чтобы сбросить предыдущий ход)
   Timer1->Enabled = false;
   // Запускаем заново
   Timer1->Enabled = true;
   }

void __fastcall TForm1::Timer1Timer(TObject *Sender)
   {
   // Останавливаем таймер
   Timer1->Enabled = false;

   // Программно заставляем нажаться клавишу ESC
   // Работает только в Windows 2k
   keybd_event( VK_ESCAPE, 0x1B, KEYEVENTF_EXTENDEDKEY | 0, 0 );
   keybd_event( VK_ESCAPE, 0x1B, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0 );
   }
Ответить с цитированием
Ads.
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как закрыть тему John Wan О сайте и форуме 1 09.01.2012 19:46
как закрыть тему джон вэй О сайте и форуме 1 24.07.2011 23:09
Закрыть от посторонних max9000 Корпуса 11 05.05.2010 00:12
Как при нажатии кнопки TButton вызвать TPopupMenu Искатель креков Delphi 4 31.01.2007 21:07
Программное создание обновление TPopupMenu Perzik C++ Builder 0 17.11.2006 00:12
Как работать с TPopupMenu slash26 C++ Builder 2 01.10.2005 16:32
Как программно закрыть окноъ Omen WinAPI 15 09.02.2005 08:41
Как закрыть explorer.exe Anonymous Visual C++ 3 12.11.2003 17:00
Как закрыть IЕxplorer в С++ Builder Anonymous C++ Builder 2 17.10.2003 23:28
Как закрыть одну из страниц программно в PageControl Anonymous C++ Builder 1 20.06.2003 14:48
Как закрыть CD-ROM под Windows 9x MW WinAPI 2 16.03.2003 17:56



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов