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

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

The Multiple example demonstrates the implementation of a QAxFactory to provide multiple ActiveX controls in a single in process ActiveX server using the QAXFACTORY_EXPORT() macro. The ActiveX controls in this example are simple QWidget subclasses that reimplement QWidget::paintEvent().


Первый элемент управления рисует залитый прямоугольник. Цвет заливки показан как свойство. Q_CLASSINFO() используется для указания идентификаторов COM.


Второй элемент управления рисует окружность. Ширина линии показана как свойство. Q_CLASSINFO() используется для указания идентификаторов COM, а также для установки атрибутов ToSuperClass и StockEvents чтобы показать только API самого класса, а также чтобы добавить стандартные события COM к элементу управления ActiveX.


The classes are exported from the server using the QAxFactory macros.

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

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

 <script language="javascript">
 function setColor( form )
 {
     Ax1.fillColor = form.colorEdit.value;
 }

 function setWidth( form )
 {
     Ax2.lineWidth = form.widthEdit.value;
 }
 </script>

 <p />
 This is one QWidget subclass:<br />
 <object ID="Ax1" CLASSID="CLSID:1D9928BD-4453-4bdd-903D-E525ED17FDE5"
 CODEBASE="http://www.trolltech.com/demos/multipleax.cab">
 [Object not available! Did you forget to build and register the server?]
 </object><br />
 <form>
 Fill Color: <input type="edit" ID="colorEdit" value = "red" />
 <input type="button" value = "Set" onClick="setColor(this.form)" />
 <input type="button" value = "Hide" onClick="Ax1.hide()" />
 <input type="button" value = "Show" onClick="Ax1.show()" />
 </form>

 <p />
 This is another QWidget subclass:<br />
 <object ID="Ax2" CLASSID="CLSID:58139D56-6BE9-4b17-937D-1B1EDEDD5B71"
 CODEBASE="http://www.trolltech.com/demos/multipleax.cab">
 [Object not available! Did you forget to build and register the server?]
 </object><br />
 <form>
 Line width: <input type="edit" ID="widthEdit" value = "1" />
 <input type="button" value = "Set" onClick="setWidth(this.form)" />
 </form>


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