Come scrivere un controllo ActiveX

November 10

Come scrivere un controllo ActiveX


Un controllo ActiveX è un componente software che può essere collegato a diversi programmi e utilizzato come se fosse una parte nativo del programma. I programmatori possono scrivere i controlli ActiveX in qualsiasi linguaggio che supporti Component Object Model (COM) di sviluppo. Tipici esempi di controlli ActiveX sono pulsanti di comando, caselle di riepilogo e finestre di dialogo. Un controllo ActiveX può essere creato utilizzando Visual Basic, C # o VC ++. NET.

istruzione

Visual Basic

1 Aprire MS Visual Basic e creare un nuovo tipo di progetto come "controllo ActiveX".

2 Creare un pulsante di comando, chiamato cmdTest, e una casella di testo, chiamato txtTest. Trascinare i controlli dalla casella degli strumenti per creare questi.

3 Aggiungere le seguenti funzioni:

setText Funzione pubblica (txt As String)

txtTest.Text = txt

End Function

Private Sub cmdTest_Click ()

MsgBox txtTest.Text

End Sub

Ciò passare un valore alla casella di testo dalla pagina Web. Quando un utente fa clic sul pulsante di comando, verrà visualizzato questo testo in una finestra di messaggio.

4 Fare clic su "Strumenti" e poi "pacchetto e distribuzione guidata" per salvare il progetto. Salvare il progetto come un pacchetto di Internet e il nome come "ctlVBActive."

5 Creare una pagina HTML in un editor di testo, come Blocco note.

6 Aggiungere il seguente codice:

<Select id = "drpValues" onclick = "send_value (questo)">

<Option value = ""> </ option>

<Option value = "valore1"> valore1 </ option>

<Option value = "valore2"> valore2 </ option>

<Option value = "valore3"> valore3 </ option>

<Option value = "valore4"> valore4 </ option>

<Option value = "valore5"> valore5 </ option>

</ Select>

<OBJECT ID = "ctlVBActive"

Classid = "CLSID: 748FEF73-28D1-4889-A582-E5F8F526CDD1"

CODEBASE = "vbActiveX.CAB # version = 1,0,0,0">

</ Object>

7 Salvare e aprire il file in un browser.

C #

8 Aprire C # redattore e creare un nuovo progetto.

9 Aggiungere il seguente codice, per creare un controllo ActiveX:

using System;

using System.Runtime.InteropServices;

namespace ANamespace

{

ASignatures interfaccia pubblici

{

string FName();

stringa SName ();

int Età {get;}

}

[ClassInterface (ClassInterfaceType.AutoDual)]

public class AClass: ASignatures

{

public string FName()

{

tornare "John";

}

public string SName ()

{

tornare "Ryan";

}

public int Età

{

ottenere {return 40; }

}

}

}

Salvare il file. Chiamatela "AClass.dll."

10 Compilare il file. Il avviene utilizzando un file compilatore chiamato "csc.exe", che si trova in: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0. Aprire questo file compilatore, che si apre come una console, e aggiungere il codice:

regasm AClass.dll / NR / codebase

Questo file classe creata nel passaggio precedente viene compilato e può essere chiamato da una pagina HTML.

11 Creare un file HTML per richiamare il controllo ActiveX:

<Html>

<Head>

<Script language = "javascript">

&lt;!-- Load the ActiveX object -->

var x = new ActiveXObject ( "ANamespace.AClass");

& Lt;! - Accedere al metodo ->

alert (x.FName ());

alert (x.SName ());

& Lt;! - Accedere alla proprietà ->

alert (x.Age);

</ Script>

</ Head>

<Body>

</ Body>

</ Html>

12 Salvare il file HTML ed eseguire in un browser.

Visual C ++

13 Aprire l'editor di Visual C ++.

14 Creare un nuovo progetto e selezionare "controllo ActiveX".

15 Aggiungere il codice per creare una nuova icona

invalidare CMyActiveXIconCtrl :: OnDraw (CDC * pdc, const CRect & rcBounds, const CRect & rcInvalid)

CBitmap :: LoadBitmap ()

CDC :: StretchBlt ()

Questa funzione disegnerà l'icona del controllo ActiveX.

16 Premere F5 per eseguire il programma. In Visual C ++ .NET, il controllo viene registrato automaticamente.

17 Vai al menu "Strumenti" e fare clic sul contenitore ActiveX Control Test. Vai al menu "Modifica" e cliccare sull'opzione "Inserisci Control". Apparirà una finestra. Controllare il "MyActiveX icona di controllo", che ora mostra il test di controllo contenitore ActiveX è stato creato.