Обновите текст этикетки с помощью Centura/SQLWindows32.

Есть ли функция для обновления текста метки в Centura/SQLWindows32?


person Alessandro Mellano    schedule 19.04.2016    source источник
comment
Для какой версии?   -  person Chandralal    schedule 26.04.2016


Ответы (2)


Если вы используете v6 или более позднюю версию, вы можете обрабатывать фоновый текст, как если бы это был стандартный объект, поэтому задайте текст напрямую, используя его имя: Call SalSetWindowText(bkgdTextName, 'Test')

Если до v6 , On SAM_AppStartUp • Set bStaticsAsWindows = TRUE найдите его дескриптор:

• Установить hWndBkgdMyLabel = VisWinGetHandle( hWnd, 'bkgdTextName', TYPE_BkgdText)

затем установите текст, используя его дескриптор:

• Вызовите SalSetWindowText( hWndBkgdMyLabel, 'Эта метка мне действительно нужна' )

Иногда необходимо принудительно перекрасить этикетку

• Вызов SalUpdateWindow(hWndBkgdMyLabel)

OR

Вы можете использовать дескриптор, поместив метку непосредственно перед любым связанным объектом (например, DataField) в схеме, а затем:

• Установите hWndBkgdMyLabel = SalGetWindowLabel(hWndItem).

Он извлекает дескриптор метки, прикрепленной к кнопке или полю данных, поэтому вы можете использовать:

• Вызовите SalSetWindowText( hWndBkgdMyLabel, 'Эта метка мне действительно нужна' )

Примечание: bStaticsAsWindows должен иметь значение TRUE, чтобы последние два работали, если у вас более ранняя версия v6.

person Steve Leighton    schedule 20.04.2016

Есть еще одно решение, если у вас есть метка перед входным объектом (например, полем данных). Используйте функцию SalSetWindowLabelText() для изменения текста метки.

Пример: Call SalSetWindowLabelText(dfInput,'YourText').

Если у вас "автономный" ярлык, то у вас нет другого выхода, кроме тех, которые описал ГуптаСтив.

person Ralf    schedule 02.01.2017