WinAPI: Как скроллинг сделать?

0000

Создаю окно

hMainWnd = CreateWindow (L"MyWindowClass", L"Caption",
WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL, ...

Потом создаю в нем дочернее с размерами больше, чем родительское

hChildWnd = CreateWindow (L"STATIC", NULL,
WS_CHILD | WS_VISIBLE | SS_BITMAP | WS_BORDER, ..., hMainWnd, ...

На главном окне скроллы есть, но дочернее нифига не скроллится :( Подозреваю, что я что то не то делаю и дело не в отлове сообщений для главного окна. Что не так?
P.S. Пишу в VS2005 на С++. Когда то писал GUI на WinAPI в Delphi - сейчас пытаюсь сделать то же самое в первый раз.
P.P.S. Надо сделать просто скроллируемую картинку на окне. Картинку гружу в STATIC контрол из bmp. Если у него флаги scroll-а ставлю, то также нифига не крутится.

erotic

Я бы отслеживал сообщения от скроллинга в главном окне и в соответствии с ними менял координату довернего окна, чтобы оно перемещалось. Насколько это правильно - хз, есть мнение, что правильно - то, что работает.

0000

Да я так и начал делать, тока блин уже запутался в конец на сколько сдвигать :( Но я верю в успех :D

klyv

Собственно, так и устроен CScrollView в MFC.

laki

фигасе народ еще под чистый винапи хуярит, респект.
последний мой проект был диплом :grin:
просто рукописную апишку менять было в падлу :grin:

0000

Все, я молодец - я сделал это :D

erotic

А ты под че хуярить предлагаешь?
У меня единственный вариант помимо WinAPI - переходить на wxWidgets, но это больше для кроссплатформенности.

klyv

под Windows есть много удобных библиотек.
например, MFC (не совсем удобно, но удобнее чистого WinAPI или Windows Forms ;)
Оставить комментарий
Имя или ник:
Комментарий: