Сейчас на форуме: hgdagon, asfa (+4 невидимых)

 eXeL@B —› Программирование —› Ввод текста в окно
Посл.ответ Сообщение

Ранг: 108.7 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 09 февраля 2007 06:16
· Личное сообщение · #1

Нужно печатать текст в окно и сменить цвет текста по нажатию кнопки.
Вроде ерунда, RichEdit и всё, но блин при этом RE не могу получить сообщение о нажатии кнопки, на которую нужно реагировать!
Или печатать текст прямо на контекст, возникает вопрос - а как? Чтобы и печатать, и стирать...
Может где-то такой сампл есть? У icztutes нету.



Ранг: 108.7 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 09 февраля 2007 07:23
· Личное сообщение · #2

Ладно, сделал на контекст. Но может кто нибудь понимает, почему не пашет SetTextColor в коде:
.ELSEIF uMsg==WM_RBUTTONDOWN
invoke GetDC,hWnd
mov hDC, eax
invoke RtlZeroMemory,addr clr,sizeof clr
mov clr.lStructSize,sizeof clr
push hWnd
pop clr.hwndOwner
push hInstance
pop clr.hInstance
push TextColor
pop clr.rgbResult
mov clr.lpCustColors,offset CustomColors
mov clr.Flags,CC_ANYCOLOR or CC_RGBINIT
invoke ChooseColor,addr clr
.if eax!=0
push clr.rgbResult
pop TextColor
invoke SetTextColor,hDC,TextColor
invoke InvalidateRect, hWnd,NULL,TRUE
.endif
.ELSEIF uMsg==WM_CHAR
push wParam
pop eax
.if al!= 8h ; BACKSPACE
mov ebx, offset text
mov edx, dword ptr[curs]
mov byte ptr[ebx+edx], al
inc curs
.elseif
dec curs
.endif
invoke InvalidateRect, hWnd,NULL,TRUE
.ELSEIF uMsg==WM_PAINT
invoke BeginPaint,hWnd, ADDR ps
mov hdc,eax
mov eax, dword ptr[curs]
invoke TextOut,hdc,0,0,ADDR text,eax
invoke EndPaint,hWnd, ADDR ps
.ELSE

SetTextColor возвращает 0 и всё. Вроде и параметры верные, а такая Х



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 09 февраля 2007 07:42
· Личное сообщение · #3

цвета edit'a можно менять в WM_CTLCOLOREDIT, т.е. заранее выбрал цвет, выставил флаг что цвет поменяли, а потом в обработчике WM_CTL... проверяешь флаг и меняешь цвет

ы?



Ранг: 108.7 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 09 февраля 2007 09:03
· Личное сообщение · #4

Мне нужно именно на контексте... реагировать надо на пр. кнопку мыши...



Ранг: 108.7 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 09 февраля 2007 09:13
· Личное сообщение · #5

Всё! Всем спасибо ;) но я уже разобрался. Просто SetTextColor воткнуть нужно перед TextOut



Ранг: 108.7 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 10 февраля 2007 04:46
· Личное сообщение · #6

Ладно, добъём все ламо-вопросы
Есть функция-аналог TextOutA способная вывести указанное число символов, игнорируя то что там есть 00h, в контрол EditBox?



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 10 февраля 2007 05:31
· Личное сообщение · #7

DrawText


 eXeL@B —› Программирование —› Ввод текста в окно
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати