Colors gui FreeBasic中的彩色文本

Colors gui FreeBasic中的彩色文本,colors,freebasic,Colors,Freebasic,我做了一个图形用户界面,但想改变这行文字的颜色。 我已经厌倦了搜索,但我能找到的只是改变打印输出的颜色 warn1 = CreateWindowEx( 0, "STATIC", "", WS_VISIBLE Or WS_CHILD, 20, 150, 300, 40, hWnd, 0, 0, 0 ) SetWindowText( warn1, "WARNING:") 如果可能,我希望“警告”显示为红色。在父窗口中处理WM\u ctlcolorstic窗口消息,并返回相应的设备上下文句柄,该句柄

我做了一个图形用户界面,但想改变这行文字的颜色。 我已经厌倦了搜索,但我能找到的只是改变打印输出的颜色

warn1 = CreateWindowEx( 0, "STATIC", "", WS_VISIBLE Or WS_CHILD, 20, 150, 300, 40, hWnd, 0, 0, 0 )
SetWindowText( warn1, "WARNING:")

如果可能,我希望“警告”显示为红色。

在父窗口中处理
WM\u ctlcolorstic
窗口消息,并返回相应的设备上下文句柄,该句柄设置了颜色笔刷。以下是一个例子:

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 Function