![]() |
eXeL@B —› Программирование —› Ввод текста в окно |
Посл.ответ | Сообщение |
|
Создано: 09 февраля 2007 06:16 · Личное сообщение · #1 Нужно печатать текст в окно и сменить цвет текста по нажатию кнопки. Вроде ерунда, RichEdit и всё, но блин при этом RE не могу получить сообщение о нажатии кнопки, на которую нужно реагировать! Или печатать текст прямо на контекст, возникает вопрос - а как? Чтобы и печатать, и стирать... Может где-то такой сампл есть? У icztutes нету. ![]() |
|
Создано: 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 и всё. Вроде и параметры верные, а такая Х ![]() |
|
Создано: 09 февраля 2007 07:42 · Личное сообщение · #3 |
|
Создано: 09 февраля 2007 09:03 · Личное сообщение · #4 |
|
Создано: 09 февраля 2007 09:13 · Личное сообщение · #5 |
|
Создано: 10 февраля 2007 04:46 · Личное сообщение · #6 |
|
Создано: 10 февраля 2007 05:31 · Личное сообщение · #7 |
![]() |
eXeL@B —› Программирование —› Ввод текста в окно |