Trackbar erstellen



  • Hallo,

    ich möchte bei einem Programm eine Trackbar von 0 bis 100 einfügen und den vom User eingestellten Wert auf Knopfdruck abfragen.

    Wie mache ich das?

    Ich habe beireits einige Zeit gegoogelt und in der MSDN geschaut. Bei google habe ich nichts gutes gefunden und das bei der MSDN klappt nicht bzw. ich verstehe nicht wie ich das verwenden kann.

    Um Hilfe währe ich dankbar.



  • Das Beispiel ist aus der MSDN, sieht für mich ganz einfach aus:

    // CreateTrackbar - creates and initializes a trackbar. 
    	// 
    	// Global variable 
    	//     g_hinst - instance handle 
    	HWND WINAPI CreateTrackbar( 
        HWND hwndDlg,  // handle of dialog box (parent window) 
        UINT iMin,     // minimum value in trackbar range 
        UINT iMax,     // maximum value in trackbar range 
        UINT iSelMin,  // minimum value in trackbar selection 
        UINT iSelMax)  // maximum value in trackbar selection 
    	{ 
    
        InitCommonControls(); // loads common control's DLL 
    
        hwndTrack = CreateWindowEx( 
            0,                             // no extended styles 
            TRACKBAR_CLASS,                // class name 
            "Trackbar Control",            // title (caption) 
            WS_CHILD | WS_VISIBLE | 
            TBS_AUTOTICKS | TBS_ENABLESELRANGE,  // style 
            10, 10,                        // position 
            200, 30,                       // size 
            hwndDlg,                       // parent window 
            ID_TRACKBAR,             // control identifier 
            g_hinst,                       // instance 
            NULL                           // no WM_CREATE parameter 
            ); 
    
        SendMessage(hwndTrack, TBM_SETRANGE, 
            (WPARAM) TRUE,                   // redraw flag 
            (LPARAM) MAKELONG(iMin, iMax));  // min. & max. positions 
        SendMessage(hwndTrack, TBM_SETPAGESIZE, 
            0, (LPARAM) 4);                  // new page size 
    
        SendMessage(hwndTrack, TBM_SETSEL, 
            (WPARAM) FALSE,                  // redraw flag 
            (LPARAM) MAKELONG(iSelMin, iSelMax); 
        SendMessage(hwndTrack, TBM_SETPOS, 
            (WPARAM) TRUE,                   // redraw flag 
            (LPARAM) iSelMin); 
    
        SetFocus(hwndTrack); 
    
        return hwndTrack; 
    	}
    


  • das Problem an dem Code ist, das dieser bei mir 20 Fehler beim kompillieren ausgibt.
    Hauptsächlich den Fehler "... nicht deklarierter Bezeichner" z.B. bei "hwndTrack" und "TBM_SETPOS".
    Ich verwende VS08 unter Win 7.

    Gibt es nicht noch irgendeinen anderen Weg eine Trackbar zu erstellen?

    Oder kann irgendwer irgeneinen funktionierenden Code eines Projektes mit einer Trackbar posten bzw. mir erklären wie ich den Code aus der MSDN verwenden muss?



  • Klar, wenn sie sich in einem Dialog befindet, kannst du sie mit dem Resourceneditor (sofern du einen hast) einfügen, aber wenn du so ein einfaches Problem wie:

    HWND   hwndTrack;
    

    und einige Headerfiles zu inkludieren nicht eigenständig lösen kannst, dann happerts bei dir schon an den Grundlagen, und ich wüde mich an deiner Stelle erst mal mit einem "Hello WinApi World" Programm befassen.


Anmelden zum Antworten