CVI. Контролы (Controls) в LabWindows/CVI.

Ответить
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

CVI. Контролы (Controls) в LabWindows/CVI.

Сообщение Chupakabra »

Crowbar писал(а):Контролы там выглядят как элементы библиотек, их можно видоизменять, создавать? ...
1. Существуют базовые контролы (рис.1), которые можно настраивать вручную (edit control) либо программно (поменять цвет, задать ramp, указать тип данных, enable/disable/hidden, и т.п.), глубокой кастомизации, такой как в LabVIEW для них нет. Далее существуют т.н. Custom controls (рис.2), которые являются либо надстройками над базовыми контролами, либо ActiveX (3d graph) контролами. Они так же не поддаются кастомизации с помощью визардов, но для них существуют .С и .fp файлы в которых реализована та самая надстройка и функции для работы с ними. Т.е. Custom controls существуют в виде соответствующих исходников или могут быть созданы на базе имеющихся контролов и примитивов.
2. Положительная фича :) controls можно создавать программно и даже во время выполнения программы. Вот иллюстрирующий это фрагмент кода:

Код: Выделить всё

/*---------------------------------------------------------------------------*/
/*  Create a panel with two Command Buttons and a Numeric readout.  Notice   */
/*  that both Command Buttons are assigned callback functions with the       */
/*  InstallCtrlCallback () function.  This function accomplishes             */
/*  programmaticall the control-to-callback assignment normally done in the  */
/*  UIR Editor.                                                              */
/*---------------------------------------------------------------------------*/
void BuildUI (void)
{
    int quitBtn;
    int genDataBtn;
    
    /* Create a new panel and center it */
    g_hpanel = NewPanel (0, "Sample LabWindows/CVI Panel", VAL_AUTO_CENTER,
                         VAL_AUTO_CENTER, 170, 200);
    SetPanelAttribute (g_hpanel, ATTR_CONFORM_TO_SYSTEM, 1);

    /* Create a new "Generate Data" command button */
    genDataBtn = NewCtrl (g_hpanel, CTRL_SQUARE_COMMAND_BUTTON,
                          "Generate Data", 20, 50);
    InstallCtrlCallback (g_hpanel, genDataBtn, GenerateData, 0);
    SetCtrlAttribute (g_hpanel, genDataBtn, ATTR_CMD_BUTTON_COLOR,
                      VAL_DK_GREEN);
    SetCtrlAttribute (g_hpanel, genDataBtn, ATTR_WIDTH, 100);
    
    /* Create a new "Quit" command button */
    quitBtn = NewCtrl (g_hpanel, CTRL_SQUARE_COMMAND_BUTTON, "Quit", 130, 50);
    InstallCtrlCallback (g_hpanel, quitBtn, Shutdown, 0);
    SetCtrlAttribute (g_hpanel, quitBtn, ATTR_CMD_BUTTON_COLOR, VAL_RED);
    SetCtrlAttribute (g_hpanel, quitBtn, ATTR_WIDTH, 100);
Вложения
controls.png
controls2.png
Аватара пользователя
Konstantin Sumenko

Activity Bronze
expert
expert
Сообщения: 1439
Зарегистрирован: 17 июл 2008, 12:20
Награды: 2
Версия LabVIEW: 2010
Откуда: Moscow
Поблагодарили: 1 раз
Контактная информация:

Re: CVI. Контролы (Controls) в LabWindows/CVI.

Сообщение Konstantin Sumenko »

С базовыми понятно. А для custom контролов можно создавать собственные шаблоны .fp?
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Re: CVI. Контролы (Controls) в LabWindows/CVI.

Сообщение Chupakabra »

Crowbar писал(а):С базовыми понятно. А для custom контролов можно создавать собственные шаблоны .fp?
На сколько я понимаю, да.
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Re: CVI. Контролы (Controls) в LabWindows/CVI.

Сообщение Chupakabra »

Еще в недрах CVI обнаружились ActriveX контролы, которые дополняют стандартную палитру. Все контролы на рисунке ActiveX объекты National Inst., настраиваемые своими визардами.
Вложения
controls3.png
Аватара пользователя
delion
user
user
Сообщения: 72
Зарегистрирован: 10 фев 2009, 05:55
Версия LabVIEW: 8.6, 2009
Откуда: Саратов
Контактная информация:

Re: CVI. Контролы (Controls) в LabWindows/CVI.

Сообщение delion »

А можно из CVI в обычную LabVIEW перетащить контролы?
Лучше сделать и жалеть, чем не сделать и всё равно жалеть!
Ответить

Вернуться в «LabWindows / CVI / Measurement Studio»