MSVC2010, MFC Doc/View приложение. Добавляю в меню пункт с названием "Run...\tCtrl+F5", в дизайн-тайме он показывается нормально, в ран-тайме он показывается просто как Run... , т.е. без шортката Ctrl+F5. Почему? Что я делаю неправильно?
Кстати, сейчас в caption этого пункта меню вместо "Run...\tCtrl+F5" добавил единичку: "Run1...\tCtrl+F5" — единичка в design time появилась, в run time по-преджнему отсутствует. Полная перекомпиляция проекта (в т.ч. с ручным удалением всех OBJ и т.п.) не помогает.
Здравствуйте, sushko, Вы писали:
S>MSVC2010, MFC Doc/View приложение. Добавляю в меню пункт с названием "Run...\tCtrl+F5", в дизайн-тайме он показывается нормально, в ран-тайме он показывается просто как Run... , т.е. без шортката Ctrl+F5. Почему? Что я делаю неправильно?
S>Image: screenshot.png
1) Акселератор (short-cut) — обязательно должен быть в таблице Accelerators.
Проверьте, убедитесь, что это так и пересоберите приложение.
Пример — из файла *.rc:
Здравствуйте, AlexGin, Вы писали:
AG>1) Акселератор (short-cut) — обязательно должен быть в таблице Accelerators.
Я говорю не про акселераторы, а просто про надпись "Ctrl+F5" в правой части пункта меню. В исходниках (.RC) он есть, в откомпилированных файлах (.RES, .EXE) — отсутствует, в т.ч. и после полной пересборки приложения. Почему?
AG>2) Очистьте РЕЕСТР Windows (через вызов regedit) — прсто удалите ветку Workspace: AG>Пример: HKCU\Software\CompanyName\ProductName\Workspace
Такой ветки у меня есть, есть только
HKEY_CURRENT_USER\Software\Локальные приложения, созданные с помощью мастера приложений\Product_name
Удалил ее, пересобрал EXE — не помогло.
Здравствуйте, sushko, Вы писали:
S>Здравствуйте, AlexGin, Вы писали:
AG>>1) Акселератор (short-cut) — обязательно должен быть в таблице Accelerators.
S>Я говорю не про акселераторы, а просто про надпись "Ctrl+F5" в правой части пункта меню. В исходниках (.RC) он есть, в откомпилированных файлах (.RES, .EXE) — отсутствует, в т.ч. и после полной пересборки приложения. Почему?
Еще раз напоминаю — проверьте таблицу акселераторов. Надпись — завязана на эту сущность.
AG>>2) Очистьте РЕЕСТР Windows (через вызов regedit) — прсто удалите ветку Workspace: AG>>Пример: HKCU\Software\CompanyName\ProductName\Workspace
S>Такой ветки у меня есть, есть только S>HKEY_CURRENT_USER\Software\Локальные приложения, созданные с помощью мастера приложений\Product_name S>Удалил ее, пересобрал EXE — не помогло.
Тут возможно два варианта:
1) Конфигурация этого проекта — где-то в другой ветке.
Смотрим: ...App::InitInstance()
в ней — вызов SetRegistryKey(...)
2) Имеются проблемы в *.rc файле.
P.S. В таких случаях — имеет смысл создать в студии маленький тестовый MFC-application проект, в котором попытаться имитировать данную ситуацию.
Этот подход в большинстве случаев помогает.
S>Такой ветки у меня есть, есть только S>HKEY_CURRENT_USER\Software\Локальные приложения, созданные с помощью мастера приложений\Product_name S>Удалил ее, пересобрал EXE — не помогло.
Ищите нечто похожее на MFCToolBar-593980 (цифры могут быть другие).
Здравствуйте, Nikolaz, Вы писали:
S>>Удалил ее, пересобрал EXE — не помогло. N>Ищите нечто похожее на MFCToolBar-593980 (цифры могут быть другие).
Более кашерный путь: CWinAppEx::CleanState
Здравствуйте, sushko, Вы писали:
S>MSVC2010, MFC Doc/View приложение. Добавляю в меню пункт с названием "Run...\tCtrl+F5", в дизайн-тайме он показывается нормально, в ран-тайме он показывается просто как Run... , т.е. без шортката Ctrl+F5. Почему? Что я делаю неправильно?
На картинке, в редакторе ресурсов, виден "английский (США)"; а другие языки есть?
А в ран-тайме какой язык?