Главная · Все классы · Основные классы · Классы по группам · Модули · Функции

Пример "Simple" (ActiveQt)

The Simple example demonstrates the use of QAxBindable::requestPropertyChange() and QAxBindable::propertyChanged(), and the use of the default QAxFactory through the QAXFACTORY_DEFAULT() macro.

Элемент управления ActiveX в этом примере - размещенный QWidget с QSlider, QLCDNumber и QLineEdit. Он предоставляет интерфейс сигнал/слот/свойство для изменения значений ползунка и однострочного поля ввода, а также для получения уведомлений о любых изменениях свойства.

Реализация Qt ActiveX для этого примера


The control is exported using the default QAxFactory


Чтобы собрать пример вы должны сначала собрать библиотеку QAxServer. Затем запустите qmake и ваш make-инструмент в каталоге examples/activeqt/simple.

Демонстрационная программа требует поддержки элементов управления ActiveX в вашем веб-браузере, а также разрешения выполнения сценариев.

Простой элемент управления ActiveX встраивается используя тег <object>.

 <object ID="QSimpleAX" CLASSID="CLSID:DF16845C-92CD-4AAB-A982-EB9840E74669"
 CODEBASE="http://www.trolltech.com/demos/simpleax.cab">
     <PARAM NAME="text" VALUE="A simple control" />
     <PARAM NAME="value" VALUE="1" />
 [Object not available! Did you forget to build and register the server?]
 </object>

Простая кнопка HTML соединяется со слотом ActiveQt'а - about().

 <FORM>
     <INPUT TYPE="BUTTON" VALUE="About..." onClick="QSimpleAX.about()" />
 </FORM>

Второй элемент управления ActiveX - стандартный Calendar Control - подвергается обработке

 <object ID="Calendar" CLASSID="CLSID:8E27C92B-1264-101C-8A2F-040224009C02">
 [Standard Calendar control not available!]
     <PARAM NAME="day" VALUE="1" />
 </object>

События из элементов управления ActiveX обрабатываются используя и Visual Basic Script, и JavaScript.

 <SCRIPT LANGUAGE="VBScript">
 Sub Calendar_Click()
     MsgBox( "Calendar Clicked!" )
 End Sub

 Sub QSimpleAX_TextChanged( str )
     document.title = str
 End Sub
 </SCRIPT>

 <SCRIPT LANGUAGE="JavaScript">
 function QSimpleAX::ValueChanged( Newvalue )
 {
     Calendar.Day = Newvalue;
 }
 </SCRIPT>


Copyright © 2008 Trolltech Торговые марки
Qt 4.3.5