Пользовательские Run-Time Shortcut Menu

Обсуждение, связанное с разработкой ПО верхнего уровня
Ответить
AlexRX
user
user
Сообщения: 76
Зарегистрирован: 26 июн 2011, 12:03
Версия LabVIEW: 2012
Контактная информация:

Пользовательские Run-Time Shortcut Menu

Сообщение AlexRX »

Здравствуйте!

Меня интересует следующее: в LV есть возможность редактирования (создания пользовательских) элементов всплывающих меню. Хотелось бы использовать функционал стандартных элементов (из категории Default), но со своими именами в меню. Например, Copy Data - стандартный элемент меню типа Application Item с тегом APP_SC_COPY_DATA. Редактировать его имя невозможно, а в приложении с русскоязычным интерфейсом логичнее смотрелось бы 'Копировать данные' или т.п., попытка создать свой элемент с тегом APP_SC_COPY_DATA автоматически переименовывает его в Copy Data . Как быть?
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 38 раз
Контактная информация:

Re: Пользовательские Run-Time Shortcut Menu

Сообщение AndreyDmitriev »

Эта тема обсуждалась вот здесь: Translate standard popup menus
К сожалению редактировать эти меню в данный момент возможности нет (во всяком случае мне неизвестна такая возможность, да как-то и необходимости не было)

Собственно, есть четыре варианта

1. Сделать это меню самостоятельно (придётся, конечно повозиться с программированием необходимой функциональности). Понятно, что дублировать существующие функции некошерно, но что делать...

2. Отредактировать ресурсы. Технически LabVIEW берёт строки для этих меню из файла %Program Files%\National Instruments\LabVIEW xxxx\resource\lvstring.rsc в режиме разработки или из %Program Files%\National Instruments\Shared\LabVIEW Run-Time\xxxx\English\lvapp.rsc в режиме Run-Time. Надо отметить, что в режиме Run-Time язык автоопределяется и подгружается соответствующий ресурс. В моём случае, например, загружается немецкая среда исполнения из папки German. Но поддержки русского языка, естественно нет. В общем, можно открыть этот файл в шестнадцатеричном редакторе, найти, скажем APP_SC_COPY_DATA, и заменить текст (при этом надо быть аккуратным с длиной строки - скорее всего, её менять нельзя). Хотя я бы не стал так делать по понятным причинам.

3. Забить на это дело

4. Дождаться возможности локализации в одной из следующих версий.

Где-то так.

Андрей.
AlexRX
user
user
Сообщения: 76
Зарегистрирован: 26 июн 2011, 12:03
Версия LabVIEW: 2012
Контактная информация:

Re: Пользовательские Run-Time Shortcut Menu

Сообщение AlexRX »

Спасибо! А я думал, видимо, о пятом варианте - самостоятельно создать меню с User-тегами, но в обработчике, по своим тегам вызывать действия, имеющие стандартные теги (Aoolication Item Tag).
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 38 раз
Контактная информация:

Re: Пользовательские Run-Time Shortcut Menu

Сообщение AndreyDmitriev »

Спасибо! А я думал, видимо, о пятом варианте - самостоятельно создать меню с User-тегами, но в обработчике, по своим тегам вызывать действия, имеющие стандартные теги (Aoolication Item Tag).
Это первое, что приходит в голову, но так сделать не выйдет, потому что вызвать эти пункты меню программно возможности нет. Теоретически можно воспользоваться WinAPI, попытаться получить хэндл контрола и отправить ему соответствующее сообщение (надо ещё знать какое), но не факт, что получится.
AlexRX
user
user
Сообщения: 76
Зарегистрирован: 26 июн 2011, 12:03
Версия LabVIEW: 2012
Контактная информация:

Re: Пользовательские Run-Time Shortcut Menu

Сообщение AlexRX »

В таком случае, придется изобретать велосипед, .т.е. писать свой функционал
Ответить

Вернуться в «Лицевая панель»