Учился программировать на c++ в консоли, и там не вызывало проблем инициализация переменных, так как объявить их можно было перед функцией или циклом и спокойно работать с ними дальше. Перейдя на winapi, столкнулся с проблемой объявления и работой с переменной, например объявляю int x = 0;, проведу работу с ней, в конце выполняется отрисовка окна и по новой код объявляет int x = 0;. Может может кто скинуть простейший пример программы с одной кнопкой, которая увеличивает значение переменной на 1 и выводит на экран, попробую и сам понять.
Максим Соловьев, функция WndProc вызывется каждый раз когда происходит какое то действие в окне - в т.ч. и клик мышкой. Соответственно и переменная q каждый раз создается. Перенесите объявление ЗА фукнцию.
Максим Соловьев, что такое нижняя функция? voron? Она тут ни при чем. У вас две переменных q. Посмотрите внимательно и ВНИМАТЕЛЬНО прочитайте мой ответ
Максим Соловьев, какое выражение? Где вы его выводите? Если вы о выводе i (названия переменных конечно...) - то оно выводится один раз при создании окна.
Максим Соловьев, точно не скажу - давно винапи не использую. Скорее всего - сохранить HWND окна (или само окно), получить нужное свойство и поменять его, пометить окно как dirty.
Учитывайте - в терминах winAPI всё окна - и кнопки тоже. И все это конечно делать при изменении переменной