如何修改汇编win32中 static控件的字体颜色
StTxtPROClpText,a,b,wd,ht,ID;建立文本框的过程INVOKECreateWindowEx,0,ADDRSTClassName,lpText,WS...
StTxt PROC lpText,a,b,wd,ht,ID;建立文本框的过程
INVOKE CreateWindowEx,0,ADDR STClassName,lpText,WS_CHILD OR WS_VISIBLE ,a,b,wd,ht,hWnd,ID,hInstance,NULL
RET
StTxt ENDP
我通过这个写了一个显示文字的子程序,利用了系统自带的控件。
现在希望将文本颜色修改为其他颜色
应该如何修改
解决后绝对追加高分
我刚刚看其他的才知道必须最后运行CreateSolidBrush才有效,你怎么不提醒一下列
好吧,这个问题算解决了,再问一下如何给不同的控件不同的颜色?
是判断wParam吗?还是有其他方法? 展开
INVOKE CreateWindowEx,0,ADDR STClassName,lpText,WS_CHILD OR WS_VISIBLE ,a,b,wd,ht,hWnd,ID,hInstance,NULL
RET
StTxt ENDP
我通过这个写了一个显示文字的子程序,利用了系统自带的控件。
现在希望将文本颜色修改为其他颜色
应该如何修改
解决后绝对追加高分
我刚刚看其他的才知道必须最后运行CreateSolidBrush才有效,你怎么不提醒一下列
好吧,这个问题算解决了,再问一下如何给不同的控件不同的颜色?
是判断wParam吗?还是有其他方法? 展开
1个回答
展开全部
处理父窗口的WM_CTLCOLORSTATIC事件
----
因为我觉得没什么好解释的所以只给了一个消息名字...
WM_CTLCOLORxxx事件的wParam是将要用来绘制子窗口的DC,用SetTextColor就能改变文字颜色了。lParam是子窗口的句柄,可以用来访问将要被绘制的窗口,你可以把需要的颜色存才子窗口的extra里,这样可以方便实现每个控件颜色都不一样。
----
返回值是HBRUSH文档里不是写得很清楚么...
每个控件不一样颜色。个人认为做一个static的子类加进颜色数据最好,因为效率比较高,虽然写起来比较麻烦一点。最好写的是做一个句柄到颜色的对照表,设置颜色的时候根据句柄判断。
----
因为我觉得没什么好解释的所以只给了一个消息名字...
WM_CTLCOLORxxx事件的wParam是将要用来绘制子窗口的DC,用SetTextColor就能改变文字颜色了。lParam是子窗口的句柄,可以用来访问将要被绘制的窗口,你可以把需要的颜色存才子窗口的extra里,这样可以方便实现每个控件颜色都不一样。
----
返回值是HBRUSH文档里不是写得很清楚么...
每个控件不一样颜色。个人认为做一个static的子类加进颜色数据最好,因为效率比较高,虽然写起来比较麻烦一点。最好写的是做一个句柄到颜色的对照表,设置颜色的时候根据句柄判断。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询