我已经制作了一个GUI,但想要更改此行的文本颜色。我试着搜索,但我所能找到的就是改变打印输出的颜色。
warn1 = CreateWindowEx( 0, "STATIC", "", WS_VISIBLE Or WS_CHILD, 20, 150, 300, 40, hWnd, 0, 0, 0 )
SetWindowText( warn1, "WARNING:")如果可能的话,我想要红色的“警告”。
发布于 2015-12-26 23:58:02
在父窗口中处理WM_CTLCOLORSTATIC窗口消息,并返回具有颜色画笔设置的相应设备上下文句柄。下面是一个示例:
function WinProc(hWnd As HWND, uMsg As UINT, wParam As WPARAM, lParam As LPARAM) As LRESULT
Select Case uMsg
Case WM_CREATE:
warn1 = CreateWindowEx( 0, "STATIC", "", WS_VISIBLE Or WS_CHILD, 20, 150, 300, 40, hWnd, 0, 0, 0 )
SetWindowText( warn1, "WARNING:")
case WM_CTLCOLORSTATIC:
If lParam = warn1 Then
Dim As LRESULT lBrush = DefWindowProc(hWnd, uMsg, wParam, lParam)
SetBkMode(wParam, TRANSPARENT)
'SetBkColor(wParam, BGR(100, 100, 200))
SetTextColor(wParam, BGR(255,0,0))
return lBrush
EndIf
...
End Select
Return DefWindowProc(hWnd, uMsg, wParam, lParam)
End Functionhttps://stackoverflow.com/questions/33406316
复制相似问题