HWND zu bekannter ID finden?



  • Hallo.

    Ich habe mir bei diesem editor in Visual C++ eine Dialogbox gebastelt, die eine Scrollbar und ein Textfeld enthält.

    Leider sind mir von diesen Objekten jetzt nur die ID's bekannt, muss aber bei gewissen Funktionen für diese Sachen etwas vom Typ struct HWND__* übergeben.
    Mit GetWindowLong kann man die ID finden. Aber wie sieht es andersrum aus?

    Hier vielleicht noch der Fehlercode:

    SetScrollPos(IDC_SCROLLPLAYERS, SB_CTL, set.players, TRUE);
    		wsprintf(buffer, TEXT("%i"), set.players);
    		SetWindowText(IDC_PLAYERS, buffer);
    

    Der Fehler sieht so aus:

    'SetScrollPos' : cannot convert parameter 1 from 'const int' to 'struct HWND__ *'
    Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast

    Kann mir da jemand helfen?

    Grüße
    Max



  • wie wäre es mit GetDlgItem

    SetScrollPos(GetDlgItem(hWnd,IDC_SCROLLPLAYERS), SB_CTL, set.players, TRUE);
    


  • noch als Zusatz:

    für manche Funktionen, wie GetWindowText/SetWindowText gibt es "direkte" Versionen,
    soll heißen

    SetWindowText(GetDlgItem(hWnd, IDC_PLAYERS), buffer);
    // ist das selbe wie
    SetDlgItemText(hWnd, IDC_PLAYERS, buffer);
    

    und man muss zugeben, dass das untere kürzer ist xD

    das selbe geht auch mit SendMessage, also quasi SendDlgItemMessage usw.

    am besten guckste da in der MSDN nach^^


Anmelden zum Antworten