PL1994 Geschrieben 10. März 2015 Geschrieben 10. März 2015 Hallo, ich möchte eine Toolbar erstellen, wie es hier beschrieben wird: https://msdn.microsoft.com/en-us/library/hh298381(v=vs.85).aspx. Wie andere Tutorials zeigen, brauche ich dafür den Header "CommCtrl.h" und muss "Comctl32.lib" verlinken. Das habe ich getan. Beim Erstellen bekomme ich jetzt allerdings etliche Fehlermeldungen, alle bezogen auf den Header "prsht.h". Da gibt es fehlende Typspezifizierer, unzählige Syntaxfehler und letztlich die Meldung: "Mehr als 100 Fehler gefunden; Kompilierung wird abgebrochen". Kann es sein, das ich noch andere Bibliotheken brauche? Wenn ja, welche? Wenn nein, woran kann das dann liegen? Gruß PL1994
mfk'); DROP TABLE Users;-- Geschrieben 10. März 2015 Geschrieben 10. März 2015 #include <windows.h> vergessen? Ansonsten musst du ein paar mehr Details herausrücken. Entwicklungsumgebung, Code, der das Problem reproduziert, die ersten paar Fehlermeldungen usw.
PL1994 Geschrieben 11. März 2015 Autor Geschrieben 11. März 2015 Vielen Danke schon mal für die Antwort. Nein, die habe ich nicht vergessen - wäre ja auch zu schön gewesen ... Entwicklungsumgebung ist Visual Studio Express 2013. Das Folgende ist nur ein Teil des gesamten Programmes, aber ich schätze, dass das Problem da liegen müsste: View.h #pragma once #define STRICT #define EXIT_ITEM 0 #include <CommCtrl.h> #include <windows.h> class View { public: View(); ~View(); void create(), hide(), show(); const int imageListId = 0, numToolbarButtons = 4, toolbarImageSize = 48; HIMAGELIST hImageList; HMENU hMenu, hMenubar; HWND hWnd, hWndToolbar; WNDCLASS wndCls; }; View.cpp (Wahrscheinlich irrelevant, da ich außer "include" und der Definition einer "HIMAGELIST" noch gar nichts mit der Bibliothek gemacht habe) #include "Resources.h" #include "View.h" View::View() { wndCls.style = CS_HREDRAW | CS_VREDRAW; wndCls.cbClsExtra = 0; wndCls.cbWndExtra = 0; wndCls.hInstance = GetModuleHandle(0); wndCls.hCursor = LoadCursor(NULL, IDC_ARROW); wndCls.hIcon = LoadIcon(GetModuleHandle(0), MAKEINTRESOURCE(PROGRAM_ICON)); wndCls.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wndCls.lpszClassName = "Anwendung"; wndCls.lpszMenuName = NULL; } View::~View() { } void View::create() { hWnd = CreateWindow("Anwendung", "Anwendung", WS_OVERLAPPEDWINDOW, GetSystemMetrics(SM_CXSCREEN)/2-400, GetSystemMetrics(SM_CYSCREEN)/2-300, 800, 600, NULL, NULL, GetModuleHandle(0), NULL); hMenu = CreateMenu(); hMenubar = CreateMenu(); AppendMenu(hMenu, MF_STRING, EXIT_ITEM, "Schließen"); AppendMenu(hMenubar, MF_POPUP, (UINT_PTR)hMenu, "Datei"); SetMenu(hWnd, hMenubar); } void View::hide() { ShowWindow(hWnd, SW_HIDE); UpdateWindow(hWnd); } void View::show() { ShowWindow(hWnd, SW_SHOW); UpdateWindow(hWnd); }
Guybrush Threepwood Geschrieben 11. März 2015 Geschrieben 11. März 2015 binde die windows.h mal vor der comctrl.h ein
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden