Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VC++]Commctrl xp style senza manifest

    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

  2. #2
    Be', GetLastError che restituisce 0 non è un mistero... nella documentazione della funzione si dice che restituisce TRUE se le cose sono andate bene, in caso contrario FALSE, senza fare menzione di codici di errore recuperabili tramite GetLastError (come invece si legge nella documentazione di altre API).
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Emmm ok, ora si pone la domanda perchè diavolo non funziona? Come posso ottenere informazioni sl perchè non funziona?

  4. #4

  5. #5
    Utente di HTML.it L'avatar di Ed_Bunker
    Registrato dal
    Jul 2003
    Messaggi
    1,119
    Per mantenere lo stile corrente di xp potresti utilizzare wxWidgets...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.