Сионист » 10 янв 2016, 17:58
Для того, чтобы, меняя в настройках проекта всего лишь одно значения макроса, можно было легко собрать как уникодную, так и не уникодную сборку, не трогая код.
Зачем? Очевидно же, что проект или уникодовый, или нет.
Если бы я ещё знал после чего наступило это "теперь"...
После Ваших же советов, точнее попытки их применения. Как было раньше, написано в соседней теме, заменил на
Код: Выделить всё
Scroll=CreateWindow(L"scrollbar" ,
nullptr ,
WS_CHILD |
WS_VISIBLE ,
2 ,
2 ,
2 ,
16 ,
Window ,
NULL ,
(HINSTANCE)GetWindowLongPtr(Window, GWLP_HINSTANCE),
nullptr );
, где Window - hwnd главного окна, в его оконную процедуру добавил
Код: Выделить всё
case WM_HSCROLL : PostMessage(ChartWindow, Message, First, Second);
break;
, (
Код: Выделить всё
LRESULT CALLBACK MainWindowWindowProcedure ( HWND Window ,
UINT Message ,
WPARAM First ,
LPARAM Second )
). WM_HSCROLL с LOWORD(First), равными SB_LINELEFT, SB_LINERIGHT и SB_PAGERIGHT проходят, Position инкремируется и декремируется, но SetScrollPos не даёт ни каких видимых эффектов, ползунок сколбара остаётся на месте, а раньше ползал. И SetScrollRange похоже, что не работает: при отключении ограничений в принимающей оконной процедуре скролинг пошёл за установленную границу.
[quote]Для того, чтобы, меняя в настройках проекта всего лишь одно значения макроса, можно было легко собрать как уникодную, так и не уникодную сборку, не трогая код.[/quote]Зачем? Очевидно же, что проект или уникодовый, или нет. [quote]Если бы я ещё знал после чего наступило это "теперь"... [/quote]После Ваших же советов, точнее попытки их применения. Как было раньше, написано в соседней теме, заменил на [code]Scroll=CreateWindow(L"scrollbar" ,
nullptr ,
WS_CHILD |
WS_VISIBLE ,
2 ,
2 ,
2 ,
16 ,
Window ,
NULL ,
(HINSTANCE)GetWindowLongPtr(Window, GWLP_HINSTANCE),
nullptr );[/code], где Window - hwnd главного окна, в его оконную процедуру добавил [code] case WM_HSCROLL : PostMessage(ChartWindow, Message, First, Second);
break;[/code], ([code]LRESULT CALLBACK MainWindowWindowProcedure ( HWND Window ,
UINT Message ,
WPARAM First ,
LPARAM Second )[/code]). WM_HSCROLL с LOWORD(First), равными SB_LINELEFT, SB_LINERIGHT и SB_PAGERIGHT проходят, Position инкремируется и декремируется, но SetScrollPos не даёт ни каких видимых эффектов, ползунок сколбара остаётся на месте, а раньше ползал. И SetScrollRange похоже, что не работает: при отключении ограничений в принимающей оконной процедуре скролинг пошёл за установленную границу.