Sto sperimentando con la scrittura di controlli ActiveX e ho notato che non riesco a creare un controllo ActiveX in Visual Basic (6.0) che presenta controlli leggermente più sofisticati. Controlli semplici come etichette, pulsanti e caselle di controllo sembrano funzionare correttamente, ma non appena provo ad aggiungere per es. un controllo ad albero nel mio modulo, il controllo ActiveX rimane completamente vuoto non appena lo incorporo in qualche applicazione host su un altro computer. Comunque funziona bene sul mio box di sviluppo.Qual è l'origine corretta per il componente Windows Common Controls 6.0 (MSCOMCTL.OCX)?
mentre passa attraverso il Progetti-> Componenti (Ctrl + T) lista, ho trovato due librerie che apparentemente contengono un controllo struttura: Controlli
- Microsoft Windows Common 5.0 (SP2)
- Microsoft Windows Common Controls 6.0 (SP6)
Non appena aggiungo i controlli da queste librerie al modulo, il modulo rimane completamente grigio quando incorporato su un altro computer. L'altro computer è un sistema Windows XP, quindi speravo che la mancanza di ridistribuibili non sarebbe stato un problema, visto il vecchio Visual Basic 6. Per sicurezza, ho installato i ridistribuibili VB6, ma sfortunatamente non ha fatto la differenza.
Qualcuno sa perché il mio controllo ActiveX rimanga grigio su altri computer, ma non sul mio, non appena aggiungo uno dei controlli dalle librerie precedenti al modulo? FWIW Ho solo bisogno di un controllo ad albero, quindi se c'è qualche altra, più appropriata, libreria disponibile, per me va bene.
UPDATE: Come si è scoperto, aiuta a scaricare MSCOMCTL.OCX in C: \ WINDOWS \ system32 sull'altro computer e quindi registrarlo tramite regsvr32 C:\WINDOWS\SYSTEM32\MSCOMCTL.OCX
. Tuttavia, non ho trovato una fonte ufficiale per questo file e l'esecuzione della registrazione COM a mano mi sembra complicata. Non c'è davvero nessuna ridistribuibile che potrei usare?
Il precedente Common Controls 5.0 (comctl32.ocx) ha una migliore compatibilità con XP/Vista rispetto a Common Control 6.0 (mscomctl.ocx). Suggerisco di usarlo invece – rpetrich
@rpetrich: Oh, davvero? Ti senti bene, o hai qualche documento o almeno così a sostegno di ciò? Se è vero, preferirei usare CC 5.0. –