Nulla tranne che questa è una caratteristica vista
UPDATE: Questo probem ha a che fare con il lato da gruppi laterali: queste funzioni sono presenti solo in comctl32.dll versione 6, ma, per motivi di compatibilità, Vista caricherà una versione precedente a meno che tu non dica diversamente. L'approccio che la maggior parte delle persone (incluso me) sta prendendo è usare un manifest. Questo ha dimostrato di essere complicato, e potrebbe non essere la soluzione giusta comunque, specialmente se quello che stai scrivendo è una libreria: non devi necessariamente forzare l'intera applicazione a usare i controlli comuni 6.
Il diritto la soluzione è di spingere un contesto new activation quando si chiama una delle API Vista-only. Il contesto di attivazione utilizzerà la versione corretta di comctl32.dll lasciando da parte il resto dell'applicazione e non è richiesto alcun manifest.
Fortunatamente, questo è facile da fare. Un codice completo che esiste già MS Knowledgebase. Il codice dell'articolo (KB 830033) fa il trucco così com'è.
alternativa API Gestito: Un involucro pieno per di Vista TaskDialog & TaskDialogIndirect può essere trovato qui:
http://code.msdn.microsoft.com/WindowsAPICodePack
Per WPF utilizzare il seguente:
Scarica la 'Libreria Sample VistaBridge' dal http://code.msdn.microsoft.com/VistaBridge una volta scaricato, apri il progetto e poi lo compila (se vuoi vedere tutto il codice, esamina i file nelle cartelle \ Library o \ Interop). Ora puoi prendere la DLL da VistaBridge \ bin \ debug \ e aggiungere un riferimento ad essa nel tuo progetto, inoltre devi aggiungere un'istruzione using per ciascuno dei diversi moduli VistaBridge. Ad esempio:
utilizzando Microsoft.SDK.Samples.VistaBridge.Interop o .Library o .Properties o .Services - A seconda delle esigenze.
Il progetto VistaBridge include API per molte altre funzionalità di Vista (come TaskDialog, Vista OpenFile e SaveFile Dialogs e, naturalmente, gli effetti Aero Glass) per provarlo, eseguire il progetto VistaBridge.
fonte
2009-10-23 09:51:30
Che è stato rimosso in Win7? –
Grazie, lo esaminerò. – Vivelin
VistaBridge è diventato il pacchetto di codice API di Windows. –