Добрый день... У меня вопрос по поводу сабжа... Среда WinAsm+masm32 Собственно имеется форма залитая через rect картинкой, на ней 2 эдита... хочется сделать прозрачным фон для них. конструкция типа: .if uMsg==WM_CTLCOLOREDIT invoke SetBkMode,wParam,TRANSPARENT invoke GetStockObject,HOLLOW_BRUSH ret делает эдиты прозрачными до момента стирания напечатанного текста... далее он накладывается на ранее напечатанный. Наведите на путь истиннный... как мне сделать прозрачность едитов когда под ними не фон с определенным цветом, а картинка... З.Ы. по форуму искал...но дальше того кода что я привел, никто не заходил... заранее спасибо за ответ(ы).
Megavolt0 >как мне сделать прозрачность едитов когда под ними не фон с определенным цветом, а картинка... Учебные примеры с исходниками (masm32): http://rsdn.ru/File/42164/transp_control.zip http://rsdn.ru/File/42164/ws_ex_composited.zip WS_EX_TRANSPARENT, WS_EX_COMPOSITED, etc. Заодно можно и перетаскивать.
kero Спасибо, но это все я уже видел... тем более что первый пример имеет глюк с выделением текста... мне бы хотелось без глюков реализовать... тоесть видимо надо каким-то образом отлавливать ONPAINT на эдите.. пример действительно достаточно глючный.. но всеже спасибо..
.elseif uMsg==WM_CTLCOLOREDIT invoke SetTextColor,wparam,(0......h) invoke BkColor,wparam,NULL invoke GetStockObject,NULL_BRUSH ret Приблизительно так. Проблема - нужно еще сделать invoke InvalidaterRect ....., причём - найти место, куда его воткнуть ... непонятно почему, непросто оказалось. А проще всего - заменить Едиты на РичЕдиты - если для них указать Транспарент - они сами всё и делают. Обновлять надо тоже.
Извините ! ( Сплю,не видел,что код есть уже. invoke BkColor конечно не нужен. Но SetTextColor позволяет менять цвет текста, иногда может пригодиться. После продолжительных экспериментов - отказался от Едита ,тем более - его клинит, если файл больше 30 килобайт. После более внимательного чтения одного из уроков Iczelion`a выяснилось ,что у Едита лимит - 64 килобайта. А почему клинит начиная с 30 килобайт я догадываюсь,но подробно изучать этот вопрос лень что-то. Если есть желание - можно посмотреть,что получилось из РичЕдита,который у меня тоже печатает на битмапе....ссылка есть в теме "Assembler" в разделе для начинающих. Пытался сделать редактор типа Букшелс - разворот книжки из двух страниц , там встретились трудности с передачей фокуса с одной страницы на другую.Пока оставил это ... Сейчас пытаюсь решить проблему запоминания страницы,на которой был закрыт файл.Мысли есть,но реализация наталкивается на полное отсутствие информации не на английском языке.
Veter спасибо, надо действительно попробывать с РичЕдитом... но теперь вопрос в другом... как сделать из него бегущую строку... и вообще как её сделать... исходников много но до сути докопаться невозможно - слишком много мусора... поэтому если кто-нибудь слышал или знает как проще реализовать оную... напишите пожалуйста или дайте ссылку...
Quantum нет... просто текст заранее определенный в переменной. движение направленное и постоянное. как раз с прозрачностью...
http://rapidshare.com/files/24156104/wasmtst.rar.html Там исходники DLL с реализацией прозрачного контрола с бегущей строкой и пример экзешника с 3мя такими контролами. Весь код на масме. В данной реализации текст перемещается сверху вниз, но в оффлайновой версии форума должны быть модификации этого же кода с горизонтальным перемещением и т.д.
Quantum Спасибо...обязательно посмотрю... жутко плохо и архи неприемлемо что с собой надо таскать дллху... как-нибудь без нее бы обойтись...
Выдери код из dll, разве есть проблемы? Кстати, маленький вопрос, отдельную тему создавать ради такой мелочи... В еах к примеру 10h. Нужно преобразовать в Ah (чтобы использовать как 10d). Простейшее вроде там перобразование, не могу вспомнить... Хелп plz.
Veter (Это к посту № 7). В эдитбоксе реализована поддержка ундо. Размер ундобуфера в самом контроле равен 30 кБ. Видимо траблы начинаются именно из за этого?
Может поможет это. Горизонтальная бегущая строка. http://rapidshare.com/files/24332029/Scroll_Text.rar.html
GMax Спасибо, обязательно посмотрю...вот только рапида в нашей сети закрыта( ну ничего... скачал... класно, то что нужно.. ан-нет....а где инклюд и либ с самой функцией??