Господа, накопилось большое количество доков,туторов разных и не могу найти простую штуку - возникла необходимость обновлять ВСЁ окно вместе со всеми контекстами и контролами регуляно - несколько раз в секунду,скажем, независимо от того,происходит что-либо в окне или нет. Кажется это единственный способ добиться от программы того,что требуется . Но ничто не работает - не хочет оно обновляться ни стого ни с сего .А нужно. Т.е. - ставим таймер - а дальше ? Куда отправлять соощение и что его должно получить ? Если можно конкретный код на Масме - буду очень признателен ....
Veter Отправлять сообщение надо окну, это делается функциями SendMessage или спецальными типа InvalidateRect - эта функция делает указанную клиентскую область недействительной. Но при этом если просто вызвать InvalidateRect, то сразу окно не перерисуется, т.к. сообщение WM_PAINT имеет наименьший приоритет, и оно начинает обрабатываться окном (т.е. происходит вызов WndProc) в последнюю очередь. Для немедленной обработки WM_PAINT в данном случае применяется вызов функции UpdateWindow, которая в своем теле сама вызывает WndProc с WM_PAINT.
НЕ работает InvalidateRect - или что-то я неправильно делаю ... Попробую еще .... очень всё сложно в Ассемблере - надо же , сколько можно напридумывать всего ... Казалось-бы : есть постоянные,переменные, операторы и функции , но почему все сделано так ,что ничего не понять,пока не достигнешь высшей степени просветления ?
Господа, лёд тронулся. Спасибо всем за помощь. Сегодня - великий день ! я научился печатать и редактировать на Битмапе.... Идея с таймером оказалась неудачной - буквы начали дрожать... И в то же время .. - случайно обнаружил место,куда надо воткнуть invoke Invalidate Rect , чтобы все было ОКей... Надо-же ,никогда бы не подумал... Интересно ,а как задать ему координаты области обновления справа от каретки или выделенную область?(Если поставить 0 - обновляется вся клиентская область и все буквы прыгают и скачут. Не очень сильно.но заметно...) Нужно определить координаты каретки , извлечь их , записать в какой-то регистр и т.д. ? Нашел кое-что по этому вопросу,но все на тасме и на фасме .Пока мне сложно разобраться.... Кстати все классно получается ,если ввести переменную hXXX : invoke SetBkMode,wParam,hХХХ и присваивать ей значения TRANSPARENT or OPAQUE с помощью кнопок...