Newsgroup: it.comp.lang.visual-basic
Titolo: Ancora AddIn....associare una icona alla form creata - Help Guru!

mmm...capisco una cosa e ne trovo un altra che non capisco!
Il mio addin mi aiuta a fare le solite ripetitive operazioni (e anche
altro...)
allora..l'addin crea al volo la form con i dati da me scelti in una form di
servizio..setta la caption...dimensioni...colore....icona
NO l'icona no!
perchè? boh!
dopo svariate prove empiriche...sarò diventato un brodo ma su questo
argomento non è che abbia trovato molte info specifiche a parte il solito
f1.Smanettando col visualizzatore di oggetti alla fine ho capito
VBInstance.VBProjects(1).VBComponents(txtFormNome.Text).Collection(txtFormNo
me.Text).Properties("Caption") = Me.txtFormCaption
VBInstance.VBProjects(1).VBComponents(txtFormNome.Text).Collection(txtFormNo
me.Text).Properties("Height") = 1500
non è altro che ...un altro modo di scrivere
VBInstance.VBProjects(1).VBComponents(txtFormNome.Text).Properties("Caption"
) = Me.txtFormCaption
E CHE ambedue i sistemi
VBInstance.VBProjects(1).VBComponents(txtFormNome.Text).Collection(txtFormNo
me.Text).Properties("Icon") = LoadPicture(App.Path & "\Test.ico")
da Errore
err 425 utilizzo non valido dell'oggetto!
e il
Set
VBInstance.VBProjects(1).VBComponents(txtFormNome.Text).Collection(txtFormNo
me.Text).Properties("Icon") = LoadPicture(App.Path & "\Test.ico")
non compila neanche con
"utilizzo non valido di property"
mmmmm dove cavolo sbaglio...ci deve essere la possibilità di associare una
icona alla form creata VB lo fa!
Dai raga Help!la metto anche a mano l'icona ma non è prooooofesssional !
:-)

"Wodka4U" <marco_123_TOGLIQUI@mar_456_ANCHEQUI_tek.it> ha scritto nel
messaggio
...
Potresti dire perň che parli di 
VB.NET
! (mannaggia a te)
E poi ti sta bene, cosě impari a usare i wizard :)
Ciao

 messaggio
ti scrivo in trasferta da un account amico... ma son Wodka
...NET...???? che net!(manco l'ho visto ...ne per ora lo voglio vedere!!!!)
son col vb6!!!
vb6 e la libreria IDE di vb6....e poi voglio farmelo io sto addin...che
wizard e wizard! :-P
quindi ora dimmi come cavolo setto l'icona del form!!!
:-)
Saluti
Vade retro net!
:-D


Mai fatta una cosa del genere ma... non stai tentando di associare l'icona a
una casella di testo? :)
Ciao

 messaggio
no ...sarebbe la form ...in una form chiedo a me (utilizzatore dell'addin)
di creare una form che ha tale nome,tale caption,tale dimensioni etc etc
logicamente tutti i dati li raccolgo prima o li ho memorizzati in un file di
testo delle mie form "tipo"
Beh si imposta (sembra) tutte le proprietà con
VBInstance.VBProjects(1).VBComponents(txtFormNome.Text).Collection(txtFormNo
me.Text).Properties("Caption") = Me.txtFormCaption
VBInstance.VBProjects(1).VBComponents(txtFormNome.Text).Collection(txtFormNo
me.Text).Properties("Height") = 1500
qui io do una caption(definita dalla casella Me.txtFormCaption) e una
dimensione di altezza alla finestra creata al volo...form indicata dalla
casella  TxtFormName  della form di definizione che apre l'addin
Tutto va bene ma porca paletta anche se non è fondamentale ma perchè non son
capace di settare l'icona....lo so che me la posso cavare facendo inserire
dall'addin 1 riga di codice nel form.Load...ma se associo una icona in
design lo porta con se in compilazione...invece un caricamento nel load se
il path è sbagliato va in errore!
Lo so che la posso anche impostare "a mano"(d'altronde già avrebbe fatto il
+ l'addin)...ma se ho fatto 30 facciamo 31...
sembra che il metodo di cui sopra abbia difficolta ad assegnare
oggetti...infatti l'icona è un oggetto ...forse c'è un altra via traversa!
Boh!
grazie della pazienza!
:-)

Adesso mi hai incuriosito.
Ma mi devi assolutamente spiegare come cavolo arrivi ad ottenere il tuo
VBInstance, perchè io non l'ho capito.
Nemmeno referenziando il VB Extensibility.
Ciao

"Wodka4U" <marco_123_TOGLIQUI@mar_456_ANCHEQUI_tek.it> ha scritto nel
messaggio
[snip]
A occhio e croce credo che non sia possibile.
Non so dirti perchè, però prova a fare questo:
Dim c As Variant
Set c = VBInstance.VBProjects(1).VBComponents("Form1").Properties("Icon")
'<breakpoint>
e prova a verificare nella finestra delle variabili locali.
Guarda sotto c: la proprietà Object che dovrebbe restituire l'istanza
dell'oggetto stesso da un bel <Errore di automazione>.
Ciao

CUT
ehm io son partito dell'help per far tutto (anche perchè all'inizio non
nasco "imparato")...
e siccome uso VB6 ho preso la procedura per fare l'addin di vb6
in tutti gli help la classe Connect (nome che M$ usa negli help)
ha un bel
Public VBInstance As VBIDE.VBE
nella sezione dichiarazioni variabili!
+ in basso
"(copy & Paste)
'-------------------------------------------------
'Questo metodo aggiunge un'aggiunta a Visual Basic
'-------------------------------------------------
Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal
ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As
Object, custom() As Variant)
    On Error GoTo error_handler
    'Salva l'istanza di Visual Basic.
    Set VBInstance = Application
    ' E' interessante impostare un punto di interruzione in
    ' questo punto del codice per controllare i vari oggetti
    ' addin, le proprietà ed i metodi.
    Debug.Print VBInstance.FullName
......segue altro codice
"
in questo mode referenzio VBistance...adesso devo passarlo alle varie form
del mio progetto che avranno tutte un:
(copy & Paste)
'queste in pratica son le proprietà della classe Form!!!
Public VBInstance As VBIDE.VBE
Ti assicuro che funziona (anche dare una icona all'addin e al menu
dell'addin)....infatti  usando l'addin in un qualsiasi nuovo progetto vb,
creo le form imposto le caratteristiche e tutto quanto.....tranne l'icona!
il perchè presumo sia una qualche incompatibilità fra tipi o roba
simile...non uso l'oggetto giusto o la proprietà o collection giusta!...però
capirci qualcosa boh!
(mio ambiente: vb6Ent& sp5 Office XP Win XP pro)
(riferimenti:
Office 10.0 Object Library (per le icone e i pulsanti...come dice M$)
MS Addin Designer
MS VB6 Extensibility
...altri tipo ado ma non interessano....
)
ciao!
:-)

 simile...
E io cosa ho detto? :)
Ciao