Newsgroup: it.comp.lang.c++
Titolo: ActiveX in HTML.

    Salve a tutti,
ho un problemino stupido, non rieco a scrivere un ActiveX in VC++6.0 da
utilizzare
all'interno di una pagina HTML. Nessuno ho qualche suggerimento?  Ho
provato a guardare nell'MSDN ma non sono riuscito a trovare nulla.
Grazie a tutti.

...

Usando l'Active Template Library (ATL) non e` poi difficile.
1. genera un nuovo progetto di tipo ATL COM AppWizard, accetta tutti i default
    (DLL, niente MFC, ecc)
2. Insert/New ATL Object/Controls/vedi un po' tu (ad esempio un
    "Lite HTML Control" per limitarti alle interfacce usate da Internet
    Explorer e usare l'HTML dinamico per fare la GUI del controllo,
    oppure un "Lite Control" per disegnare direttamente tu la GUI, o
    un "Lite Composite Control" per aggregare molteplici controlli
    esistenti all'interno del tuo nuovo controllo -- in ciascun caso,
    senza il "Lite" se vuoi supportare non solo IE ma tutti i possibili
    control-containers)
3. il seguito dipende naturalmente da cosa hai scelto al passo due!
    Tipicamente aggiungerai metodi e proprieta` di vari tipi, e in
    particolare: "stock properties", come "Background Color",
    "Border Color", ecc ecc, dal dialoghetto apposito che ti appare
    subito dopo [2]; altre a piacere, dalla ClassView usando il
    menu di contesto che appare cliccando il bottone destro;
    aggiunti i metodi e le proprieta`, ti resta da "disegnarti come
    opportuno" e da implementare il corpo dei vari metodi (inclusi
    quelli che leggono/scrivono le proprieta`) basandoti sui vari
    commenti "// TODO" che il wizard ti lascia in giro.
Naturalmente, aiuta molto capire qualcosa di COM, di ActiveX, e
di ATL in particolare; Grimes et al, "Beginning ATL COM Programming",
Wrox Press, molto consigliabile per cominciare.  Sulla MSDN,
cerca nell'Index "ATL", specificamente sotto di essa la "article
overview", e guarda un po "Introduction to COM and ATL",
"Creating an ATL Project", e magari qualcuno degli altri (che
pero` non sono affatto elementari), poi passa all'ATL Tutorial
che ti guida passo passo alla creazione di un controllo, aggiunta
e gestione di una proprieta`, capacita` per il controllo di gestire
eventi di mouse, una property page, e piazzamento del controllo
su di una webpage, con un minimo di scripting eccetera.
L'ATL Samples Index ti fornira` poi decine di altri esempi che
potrebbero tornarti utili.
In teoria puoi create controlli ActiveX anche usando MFC
invece che ATL; vedi "MFC, sequence for creating
ActiveX controls", sempre nell'index di MSDN; ci sono anche
sei esempi sotto "ActiveX Controls Samples" che trovi
dall'"MFC Library samples index".
Alex

 Usando l'Active Template Library (ATL) non e` poi difficile.
ecc..
Ti ringrazio, forse non mi sono spiegato bene ... il mio problema e' che nonriesco
a passare i parametri da HTML (e.g. IE4) alla parte C. Nel modo da
te descritto riesco a passare i parametri dal codice HTML che compone l'ATL
ma non sono riuscito a trovare il modo di passare i parametri dal sorgente HTML
che include il mio componente.
Forse e' tutto scritto nell'MSDN ma a me non riesce leggerlo ... mi sembra
incredibilmente criptico ...
Scusa per il disturbo ...
Ciao, Torello.

che include il mio componente.
Non mi e` chiarissimo che problema tu abbia, ma forse si
tratta di quelli che si risolvono implementando nel tuo
controllo IPersistPropertyBag (settaggio iniziale delle
proprieta` dell'Object).  Personalmente, i "parametri"
(chiamando metodi e settando proprieta`) li passo con
Javascript o altro linguaggio di scripting, non direttamente
da HTML, quindi non ho provato, ma questo e` quel che
accenna Grimes in "Professional ATL COM Programming"
(p. 585: "Internet Explorer usa solo IPersistPropertyBag,
in effetti ne chiama il solo metodo Load, quando il tag
<PARAM> e` usato assieme al tag <OBJECT>; strumenti
come Visual InterDev chiamano il metodo Save della
IPersistPropertyBag per salvare lo stato del controllo" --
tradotto un minimo a braccio...).  E` questo che cerchi...?
Alex