Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Системное меню минимизированной программы, Системное меню минимизированной программ 
:(
    Опции темы
gAlexKo
Дата 18.2.2019, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 23.3.2011

Репутация: нет
Всего: нет



Сделал модифицированное системное меню
Код

//Образец как создать пункт в системном меню окна программы
const  SC_MyMenuItem = WM_USER + 1;
void __fastcall Tblf::FormCreate(TObject *Sender)
{
  Application->OnMessage = OnAppMessage;
  AppendMenu(GetSystemMenu(Handle, FALSE), MF_SEPARATOR, 0, "");
  AppendMenu(GetSystemMenu(Handle, FALSE), MF_STRING, SC_MyMenuItem, "System menu item demo");
}
//---------------------------------------------------------------------------
void __fastcall Tblf::OnAppMessage(tagMSG &Msg, bool& Handled)
{
  if (Msg.message == WM_SYSCOMMAND && Msg.wParam == SC_MyMenuItem)
   {
     ShowMessage("Got the message");
     Handled = true;
   }
}
//---------------------------------------------------------------------------


Все OK, но когда программа минимизирована то меню программы вызванное из заголовка на task bar выглядит по-другому и без пунктов которые я ввел. Как мне побороть и сделать системное меню для минимизированной программы?

Это сообщение отредактировал(а) gAlexKo - 19.2.2019, 08:57
PM MAIL   Вверх
xxxlojki
Дата 15.3.2019, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 15.3.2019

Репутация: нет
Всего: нет



Код не подошел

Это сообщение отредактировал(а) xxxlojki - 15.3.2019, 12:22
PM MAIL WWW   Вверх
gAlexKo
Дата 19.3.2019, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 23.3.2011

Репутация: нет
Всего: нет



Чем именно код не подошел? Кстати на этом форуме почему то пропали ответы на эту тему. Правильный код вот этот. (Когда отключен дополнительный дисплей нужно сделать программу видимой, если она запомнила координаты отключенного дисплея)

Код

const  SC_MyMenuItem = WM_USER + 1;
//ToDo -cMain:FormCreate
//Задача: если программа запускалась на компе с двумя дисплеями, а потом стала запускаться на одном
//то возможно ситуация когда начальные координаты формы будут вне активного дисплея. Тогда
//вызвав в tast bar системное меню программы можно передвинуть её на активный дисплей.
void __fastcall Tblf::FormCreate(TObject *Sender)
{
  Application->OnMessage = OnAppMessage;
  AppendMenu(GetSystemMenu(Handle, FALSE), MF_SEPARATOR, 0, "");
  AppendMenu(GetSystemMenu(Handle, FALSE), MF_STRING, SC_MyMenuItem, "Move to the main display");
  AppendMenu(GetSystemMenu(Application->Handle, FALSE), MF_SEPARATOR, 0, "");
  AppendMenu(GetSystemMenu(Application->Handle, FALSE), MF_STRING, SC_MyMenuItem, "Move to the main display");
}
//---------------------------------------------------------------------------
void __fastcall Tblf::OnAppMessage(tagMSG &Msg, bool& Handled)
{
  if (Msg.message == WM_SYSCOMMAND && Msg.wParam == SC_MyMenuItem)
   {
     Left = 10; Top = 10;
     Handled = true;
     Application->Restore();
   }
}
//---------------------------------------------------------------------------


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1220 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.