HILFE - Progressbar



  • Hi ich möchte gerne in VC++ eine Progressbar per klick darauf verändern. z.B. wie bei einem Mp3-Player beim vorspulen. Und eine Textanzeige integrieren für z.B. die Volume-Anzeige. Könnt ihr mir bitte helfen das in diesen Code zu integrieren???

    #include <windows.h>
    #include <commctrl.h>
    #pragma comment(lib,"Comctl32.lib")
    #include "resource.h"
    #include <stdlib.h>
    #include <stdio.h>
    HINSTANCE g_hInst;
    HWND hwnd;
    LRESULT CALLBACK WndProcedure(HWND, UINT, WPARAM, LPARAM);

    static HWND hwndPB1;

    HINSTANCE hInst;

    int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE prevInstance,
    PSTR szCmdLine, int iCmdShow)
    {
    g_hInst=hInstance;
    static TCHAR szAppName[] = TEXT("Progress Bar");
    MSG msg;

    WNDCLASS wndclass;
    hInst = hInstance;

    wndclass.style = CS_HREDRAW | CS_VREDRAW;
    wndclass.lpfnWndProc = WndProcedure;
    wndclass.cbClsExtra = 0;
    wndclass.cbWndExtra = 0;
    wndclass.hInstance = hInstance;
    wndclass.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON7));
    wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
    wndclass.hbrBackground = (HBRUSH)COLOR_WINDOW;
    wndclass.lpszClassName = szAppName;
    wndclass.lpszMenuName = NULL;

    RegisterClass(&wndclass);

    hwnd = CreateWindowEx(WS_EX_OVERLAPPEDWINDOW,szAppName, TEXT("LeWi-"), WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT, CW_USEDEFAULT,
    300, 300,
    NULL, NULL, hInstance, NULL);

    ShowWindow(hwnd, iCmdShow);
    UpdateWindow(hwnd);

    while(GetMessage(&msg, NULL, 0, 0))
    {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
    }

    return msg.lParam;
    }
    LRESULT CALLBACK WndProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    static int cxChar, cyChar;

    switch(message)
    {

    case WM_TIMER:
    {
    return 0;
    }

    case WM_SHOWWINDOW:
    {
    return 0;
    }

    case WM_CREATE:
    {
    cxChar = LOWORD(GetDialogBaseUnits());
    cyChar = HIWORD(GetDialogBaseUnits());

    InitCommonControls();

    hwndPB1 = CreateWindowEx(0, PROGRESS_CLASS,
    "", WS_CHILD | PBS_SMOOTH | WS_VISIBLE,
    0, 0,
    20 * cxChar, cyChar,
    hwnd, NULL,
    hInst, NULL);

    return 0;

    }

    case WM_INITDIALOG:
    {
    return TRUE;
    }

    case WM_PAINT:
    {

    return 0;
    }

    case WM_SIZE:
    {

    MoveWindow(hwndPB1, 1, 21,LOWORD(lParam) - 2, 17, TRUE);
    return 0;
    }

    case WM_COMMAND:
    {
    }
    case WM_DESTROY:
    PostQuitMessage(0);
    return 0;
    }

    return DefWindowProc(hwnd, message, wParam, lParam);
    }



  • hm...schade... hat keine ne ahnung wie man das am besten umsetzt... mir würden auch ein paar codeschnipsel reichen... hauptsache verständlich



  • Hi

    Erstens ist es ziemlich anstrengend, deinen Code zu lesen. Wäre wesentlich besser, wenn du ihn in Code-Tags

    Dein Code...
    

    einschließen würdest.
    Zweitens würde dir bestimmt jemand zu helfen versuchen (mich inklusive), wenn du eine konkrete Frage stellen würdest! Z.B. "Wie erstelle ich ein Textfeld?". Aber einfach Code zu posten und zu fordern, dass jemand irgendwas für dich einbaut, finde ich ziemlich dreist.

    Mit freundlichen Grüßen,
    Badestrand



  • Sorry...hast ja recht... also eigentlich möchte ich nur gerne wissen wie ich eine Textanzeige in eine Progessbar integriere. Ich hab da schon einiges ausprobiert. Aber leider ohne Erfolg. Währe echt net wenn mir einer helfen könnte...mir reichen ja auch nur ein par codeschnipsel. danke



  • Der normal Progressbar hat doch garkein Text, oder?



  • Hi...ich weis...deswegen suche ich eine möglichkeit



  • Dann mal dir dein eigenes Conrtoll



  • ich glaube das würde ich nicht schaffen



  • Neon schrieb:

    ich glaube das würde ich nicht schaffen

    Tja dann hast du ein Problem 😉 . Also eine std-ProgressBar aus den Windows-Common-Controls kann IMHO nämlich keinen Text anzeigen.

    @Badestrand:

    Badestrand schrieb:

    Wäre wesentlich besser, wenn du ihn in Code-Tags

    Dein Code...
    

    einschließen

    Da kann er auch gleich C/C++ Tags verwenden 😉 .


Anmelden zum Antworten