Newsgroup: it.comp.lang.visual-basic
Titolo: file mioprogramma.exe.manifest

ciao a tutti
avevo provato ad inserire il file in oggetto nella dir del mio programma e
cosi tutti i controlli erano uguali a quelli di xp
ora non funziona piu', addirittura non parte piu' il mio exe, (parte se
tolgo il file manifest)
come mai?
ciao Ilario
ps. divertitevi a Roma

 come mai?
http://www.gbcweb.com/free/vbsamples/samples_XPstyle.zip
-> GbC|
www.gbcweb.com

grazie mille
mi mancava Private Declare Function InitCommonControls Lib "Comctl32.dll" ()
As Long
ma non capisco perche' prima funzionava anche senza
ciao e grazie
Ilario


come mai il programma suddetto nonostante sia su xp con gui stile win2k non
viene visualizzato in stile winxp??
se deve essere attivo il servizio temi allora a cosa serve fare delle
applicazioni winxp like se poi non funziona sotto win9x o win2k
(quest'ultimo non so se abbia il servizio temi)
Huntercity

"Huntercity" farfuglia:

Ridillo come lo diresti ad un bimbo di 2 anni
-> GbC|
www.gbcweb.com


ok...allora...
io ho winxp con l'interfaccia di win2k e il servizio dei temi disabilitato
ho provato il tuo progetto di esempio lanciando l'eseguibile che si trova
nel pacchetto compresso scaricato
ma di avere una interfaccia dell'applicazione con i bei bottincini (che tra
l'altro odio) stile xp neanche l'ombra l'applicazione appare con lo stile
che ho impostato e cioè win2k......quindi....mi chiedevo.....
se per utilizzare il manifest bisognava avere in esecuzione il servizio temi
e  quindi avere winxp a cosa serve usarlo????
tutto qui....forse non è spiegato come ad un bimbo di 2 anni....ma di 3
si.... :-P

 e  quindi avere winxp a cosa serve usarlo????
Ok, stavolta ho capito
I temi di XP sono una estensione del SO, e come tale esistono 2
possibilità: è attiva o non è attiva.
Nel primo caso (che vale solo per XP e, non so, forse per 2003)
l'estensione sostituisce tutte le chiamate alla ComCtr32.dll versione
5 (quella di default di tutti i W) alla versione 6, presente solo in
XP, che supporta i temi. È per questo motivo che l'inizializzazione
DEVE essere la prima istruzione eseguita dal programma, perché una
volta inizializzata la dll non c'è verso di effettuare la sostituzione
e bisogna evitare che venga inizializzata prima la 5.
Nel secondo caso, l'estensione non è attiva ed il programma usa la
ComCtl32.dll versione 5. Non è possibile usare la versione 6 della dll
senza il gestore dei temi attivo. Sto facendo delle prove con una dll
'barbatrucchizzata' che sotituita all'originale fornisce il supporto
dei temi anche solo in un programma senza coinvolgere l'intero SO; ma
è un periodo che ho un casino di cose da fare e tempo per le
'pistolate' ne ho poco.
Usando l'interfaccia 'classica' di XP l'estensione dei temi viene
disabilitata, quindi il programma (qualsiasi) viene mostrato con i
normali pulsanti (alla W 98, per intenderci).
Quindi quel barbatrucco serve solo se la gestione dei temi è attiva.
La cosa carina è che se i temi non sono attivi il prg funziona
ugualmente, quindi non è necessario realizzarne versioni diverse.
Avere la botte ubriaca e la moglie piena come si sa è roba
proverbialmente impossibile.
O attivi i temi o vedi i pulsanti fessi.
Personalmente preferisco i pulsanti fessi, ma gli utilizzatori sono
fastidiosi.
Hola.
-> GbC|
www.gbcweb.com

 
www.gbcweb.com