Доброго всем времени суток. Есть одна проблемка. При изменении формата текста в RichEdit наблюдаю такие странности. Code (Text): invoke SendMessage,[hREdit],EM_SETCHARFORMAT,SCF_ALL, addr cfm Если в контроле была надпись до изменения формата то не изменяется ШРИФТ, размер меняется и подчеркивание с зачеркиванием, прямой или наклонный тоже. При копировании и вставке тоже самое. Работает только если текст в контрол попал путем набора на клаве, вот тогда всё ОК. Всё работает. Какой-угодно шрифт и размер и т.д. и т.п. Что это за беда такая.
mov cfm.cbSize, sizeof cfm mov cfm.dwMask,CFM_SIZE ; < mov cfm.yHeight,(размер шрифта в л.е.) invoke SendMessage,[hREdit],EM_SETCHARFORMAT,SCF_ALL, addr cfm должно работать
С размерами всё хорошо. Вот с начертанием проблема. Ну вот например. Если в контрол вставить текст вот так: Code (Text): invoke SetWindowText,[hREdit],ADDR BuffText То символы которые отображаються меняют только размер, курсив и жирность, а сам шрифт оснается неизменным. Но если в контрол добавить пару букв так: Code (Text): invoke SendMessage,[hREdit],WM_CHAR,'A',NULL то всё хорошо, всё работает. Но текст который был введен первым способом уверенно не хочет менять свое очертание. В чем тут дело я не могу понять.
Что такое [hREdit]? Это то же самое что и hREdit в масме? тогда нафига? После WM_CHAR может обновить окно? а потом уже делать что-то Всё должно работать, потому-что работает, проверено. ... Редактор делает только то, что ты просишь его сделать. Неправильно просишь, разберись с масками и флагами.
driver Спасибо. У меня всё заработало. А может и работало всё сразу. Просто я заметил, что не все шрифты можно задавать RichEdit. Одни нормально "кушает", а другие нет. Вот эти точно не хочет: Архив битый. Уменя не откывается.
не балуйся со шрифтами, это может плохо кончиться, слишком там всё заморочено... обнаружил прикольную фишку - если шрифт в редакторе системный, даже простой едит работает шустро. Стоит только сделать критфонтиндирект со своими параметрами, едит начинает ощутимо тормозить на больших файлах - при обычном мэппинге он отрисовавает весь текст как-бы , ричедит еще более менее
driver Спасибо за инфу. Мне не нужно гору текста. Так только пару десятков, ну макс. FFh-20h символов. Хочу получать растровые шрифты для исспользования в своих проектах.
Чтобы не создавать новую тему про RichEdit позвольте спросить тут: Возможно ли вставлять рисунки в RichEdit и каким образом это делать?
http://www.codeguru.com/cpp/controls/richedit/ здесь вроде есть не уверен, что это сделать просто, а тем более - перевести на асм. Когда програмисты мелкософта ... програмировали, то не ставили целью сделать систему понятной и доступной начинающим русскоязычным програмистам