I can't get the background color of my RichEdit controls to turn red. The controls are created (in a nice, pretty gray).
DrawMap PROC hDlg:HWND
; create rich edit controls for the lots
push esi
mov ebx, 0
mov esi, offset lot
assume esi:ptr LOT
.while ebx < MAXLOTNUMBER
invoke CreateWindowEx, 0, ADDR RichEditClass, NULL,
WS_VISIBLE or WS_DISABLED or ES_MULTILINE or WS_CHILD or WS_BORDER,
[esi].x, [esi].y, [esi].w, [esi].h,
hDlg,
ebx,
hInstance,
0
mov [esi].hwnd, eax ;this is the handle?
invoke GetDlgCtrlID, [esi].hwnd
.if eax == NULL
invoke MessageBox, NULL, chr$("Get dlg id failure"), chr$("Test"), 0
ret
.endif
Invoke SendDlgItemMessage, hDlg, eax, EM_SETBKGNDCOLOR, 0, 255 ;eax should be OK if the null test above is skipped
add esi, type LOT
inc ebx
.endw
assume esi:nothing
pop esi
Ret
DrawMap EndP
I'm getting null for the control ID.
Hi,
you must set a COLORREF value in lParam.
RGB macro r:REQ,g:REQ,b:REQ
exitm <( ( ( ( r ) or ( ( ( g ) ) shl 8 ) ) or ( ( ( b ) ) shl 16 ) ) ) >
endm
Invoke SendDlgItemMessage, hDlg, eax, EM_SETBKGNDCOLOR, 0, RGB(255,0,0)
or
Invoke SendDlgItemMessage, hDlg, eax, EM_SETBKGNDCOLOR, 0, 000000FFh
Regards
Greenhorn
Greenhorn.... I see a couple of error in your rountine. Are you getting the Control's Id to use in the EM_SETBKGNDCOLOR. You should use the [esi].hwnd. I think that's the problem. Oh and use SendMessage sharp. Another of the errors should be that the RichEditControl should be in the executable as a resource. I'm looking into it as we speak. I'm not a fan of dialogs and need to try some stuff. bbl
well here's a working code.... thanks for letting me help you. Like i said ...SendMessage....
Like i said i'm not a fan of Dialogs mainly because i haven't gotten much into it. After a quick look into i understood that a dialog can't have a name and also an identifier. When this is so, it fails to create. So if you where trying to get identifier from the richedit control there might have been some sort of error. Try changing the dialog's name to 'NULL' and set only the Identifier. Haven't really tried this. It's just a thought. Later
Quote from: xandaz on May 30, 2012, 10:17:48 PM
well here's a working code.... thanks for letting me help you. Like i said ...SendMessage....
Thank you so much. This was driving me crazy. When I examined your code I noticed that you did not have WS_DISABLED in the style parameter. When I removed that, I get a window full of nice red controls.
I really appreciate your taking the time to throw together an example.
Bruce
so...it was none of thethings i mentioned. felt goodto help... anytime.