OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 18 Апрель, 2024 18:03

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Вложенные меню
СообщениеДобавлено: Пятница, 16 Июнь, 2006 08:18 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Здравствуйте.

Не подскажете, как на blackbox делать вложенные меню?
Обычные меню как делать ясно.
Заранее благодарю.

С уважением,
Кубаныч.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вложенные меню
СообщениеДобавлено: Пятница, 16 Июнь, 2006 09:44 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Kubanych писал(а):
Здравствуйте.

Не подскажете, как на blackbox делать вложенные меню?
Обычные меню как делать ясно.
Заранее благодарю.

С уважением,
Кубаныч.

На сайте CPC есть подсистема CpcMenus. Она как раз для этого, но накладывает некоторые ограничения (когда я её смотрел - нельзя было назначать вложенным пунктам горячие клавиши, сейчас может что изменилось).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 16 Июнь, 2006 11:24 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Наверное, я неправильно выразился.
Нужно такое вложенное меню, как, например,
в системном меню "Пуск" при выборе пункта "Программы"
выходит другое (вложенное) меню со своими пунктами для выбора.
CpcMenus только помогает отключить неиспользуемые пункты меню.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 16 Июнь, 2006 11:31 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Обшибся подсистемой :? Имелась в виду CpcDropDown


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 19 Июнь, 2006 07:34 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Спасибо


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вложенные меню
СообщениеДобавлено: Пятница, 02 Май, 2008 17:32 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Оригинальный модуль CpcDropDown глючит с русскими названиями пунктов меню (BlackBox 1.5re026).
Пришлось модуль доработать напильником с использованием процедуры MtStrings.ToUnicode:

Код:
   PROCEDURE MakeDropDowns*;
      VAR
         m: HostMenus.Menu;
         item: StdDialog.Item;
         res: INTEGER;
         hMenu: WinApi.HMENU;
         dst: ARRAY 100 OF CHAR; (*добавлено - Кузьмицкий И.*)
   BEGIN
      m := HostMenus.FirstMenu();
      WHILE m # NIL DO
         item := m.firstItem;
         WHILE item # NIL DO
            IF (LEN(item.string$) > 0) & (item.string[0] = "$") THEN
               hMenu := GetHandle(item.string);
               IF hMenu # WinApi.NULL THEN
                  MtStrings.ToUnicode(item.item^, dst); (*добавлено - Кузьмицкий И.*)
(*убрано в комментарий - Кузьмицкий И.            
                  res := WinApi.ModifyMenuW(HostMenus.menuBar, item(HostMenus.Item).id,
                           WinApi.MF_BYCOMMAND + WinApi.MF_POPUP + WinApi.MF_STRING,
                           hMenu, item.item^)
*)
                  res := WinApi.ModifyMenuW(HostMenus.menuBar, item(HostMenus.Item).id,
                           WinApi.MF_BYCOMMAND + WinApi.MF_POPUP + WinApi.MF_STRING,
                           hMenu, dst) (*правка - Кузьмицкий И.*)
                  
               END
            END;
            item := item.next
         END;
         m := m.next
      END
   END MakeDropDowns;


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


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

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB