Jeg er i gang med at lære C++ og i den forbindelse vil jeg lave en dialogbox. Derfor sad jeg og kigged på MSDN og fandt ud af at InitCommonControls er forældet og at man i stedet skal bruge InitCommonControlsEx. Jeg har så prøvet at compile lidt kode og får denne fejl : "error LNK2001: unresolved external symbol __imp__InitCommonControlsEx@4"
Her en min kildekode:
#include <windows.h> #include <commctrl.h>
class MyFirstClass { private: HINSTANCE hInstance; INITCOMMONCONTROLSEX lpInitCtrls;
public: MyFirstClass(){} ~MyFirstClass(){} void go() { hInstance = GetModuleHandleA(NULL); lpInitCtrls.dwSize = sizeof(lpInitCtrls); lpInitCtrls.dwICC = ICC_PROGRESS_CLASS; if (InitCommonControlsEx(&lpInitCtrls)) { // Her skal laves sjov } } };
Hva gør jeg forkert ?? Er det fordi jeg gør det i en klasse ??
Du skal linke med comctl32.lib InitCommonControls er ikke forældet, ofte er det tilstrækkeligt at bruge den, ved avancerede ting skal du bruge InitCommonControlsEx. Du skal også linke med comctl32.lib for at bruge InitCommonControls. Det har ikke noget at gøre med at det sker i en class
Nu bruger jeg VS 2005 Express som IDE og deri her jeg under VC++ Directories sat Library files til at søge under blandt andet "C:\Programmer\Microsoft Platform SDK for Windows Server 2003 R2\Lib" hvor ComCtrl32.lib ligger. Skulle den så ikke linke dette LIB automatisk eller ???
Tak Berthel... Smid lige et svar så får du pointene !!! Ved du forresten om der er en nemmere måde at inkludere dem i linker kommandolinien end at skulle editere corewin_express.vsprops ??? For eksempel via VS 2005 dialog box ?? Kan ikke forestille mig at man skal editere den fil hver gang
Hehe ... Jamen det skal jeg så gøre ... Tak for hjælpen !!!
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.