hi.
ich habe ein problem mit scrollbars in einem dialog. ich sitze schon den den ganzen tag dran und finde den fehler einfach nicht :/
ich erstelle im resourceneditor eine horizontale bildlaufleiste, zum regeln von verschiedenen eigentschaften, doch wenn ich den "thumb" der scrollbar bewege, hat dies keinen effekt und er springt immer wieder zur ausgangsposition zurück
am anfang, wenn der dialog erstellt wird, setze ich erstmal die reichweite meiner scrollbar.
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
|
bool __stdcall DlgProc(::HWND hDlg, [...])
{
switch(uiMsg)
{
case WM_INITDIALOG:
::HWND hScrollbar = ::GetDlgItem(hDlg, ScrollBarID);
::SetScrollRange(hScrollbar, SB_CTL, min, max, false);
return true;
};
[...]
}
|
wenn nun die scrollbar bewegt wird, reagiere ich entsprechend darauf und setze den "thumb"
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
// in DlgProc
[...]
switch(uiMsg)
{
case WM_VSCROLL:
switch(LOWORD(wParam))
{
case SB_LINELEFT/RIGHT etc:
speichere_neue_position(iPos);
};
::SetScrollPos(hScrollbar, SB_CTL, iPos, true);
return true;
};
|
wo ist der fehler?