Ciao a tutti. Nuovo programma nuovo problema su cui sto sbattendo la testa:
Ho creato un progetto con visual studio 2005, il progetto è un applicazione Win32 scritta in c/c++ che crea una semplice finestra che crea a run-time un bottone, il problema è che questo controllo (come del resto i controlli creati nel dialog "about") non ha lo stile tipico di xp. Ho fatto qualche ricerca su internet e ho trovato 2 soluzion, la creazione di un file manifest (con il quale funziona tutto a dovere) oppure l'inizializzazione dei common control versione 6 attraverso l'API InitCommonControlsEx, ma con questo metodo non mi iresce di ottnere l'effetto desiderato.
Questa è la parte di codice incirminata:
codice:
INITCOMMONCONTROLSEX comctrl;
...
...
...
comctrl.dwSize = sizeof(comctrl);
comctrl.dwICC = ICC_STANDARD_CLASSES | ICC_TAB_CLASSES;
if(!InitCommonControlsEx(&comctrl))
{
DWORD errN = GetLastError();
TCHAR errDesc[256];
wsprintf(errDesc,_T("Errore nell'inizializzazione dei common control \nCodice errore: %li."),errN);
MessageBox(hWnd, errDesc,_T("Errore"),32);
}
Ovviamente ho aggiunto tra gli include il commctrl.h e ho aggiunto commctrl32.lib nelle dipendenze aggiuntive del linker, ma non funziona... La cosa che non mi spiego è come mai il blocco "if" viene eseguito ma GetLastError mi restituisce come codice errore 0...
Download