更改按钮WIN32上的文本颜色

暗淡

如何在按钮按下时从编辑框更改文本颜色?(Win32 / C ++)。我知道如何更改文本字体(即在WM_COMMANDSendMessage()与一起使用WM_SETFONT)。
在更改文本颜色我认为我需要之间的相互作用WM_COMMANDWM_CTLCOLOREDIT以及SendMessage(),但不与各种参数是什么知道。谢谢。

我已经知道如何在单个按钮上执行此操作。请再提一个问题。如果我将上面的代码用于3个不同的按钮,则它的行为不会达到预期的效果。有一个片段:
case IDC_BUTTON3: textFlagRed = textFlagRed; textFlagBlue = !textFlagBlue; textFlagGreen = !textFlagGreen; InvalidateRect(textArea2, NULL, TRUE); break; case IDC_BUTTON4: textFlagGreen = textFlagGreen; textFlagBlue = !textFlagBlue; textFlagRed = !textFlagRed; InvalidateRect(textArea2, NULL, TRUE); break; case IDC_BUTTON5: textFlagBlue = textFlagBlue; textFlagRed = !textFlagRed; textFlagGreen = !textFlagGreen; InvalidateRect(textArea2, NULL, TRUE); break;

和在 WM_CTLCOLORSTATIC

if (textFlagRed && (HWND)lParam == textArea2) { HBRUSH hbr = (HBRUSH) DefWindowProc(hwnd, message, wParam, lParam); SetTextColor((HDC) wParam, RGB(255, 0, 0)); return (BOOL) hbr; } else if (textFlagBlue && (HWND)lParam == textArea2) { HBRUSH hbr = (HBRUSH) DefWindowProc(hwnd, message, wParam, lParam); SetTextColor((HDC) wParam, RGB(0, 0, 255)); return (BOOL) hbr; } else if (textFlagGreen && (HWND)lParam == textArea2) { HBRUSH hbr = (HBRUSH) DefWindowProc(hwnd, message, wParam, lParam); SetTextColor((HDC) wParam, RGB(0, 255, 0)); return (BOOL) hbr; } break;

始终是蓝色。

爱德华·克莱门茨

你需要

a)全局布尔值,用于指示是否需要更改颜色(例如bEditRed

b)按下按钮:设置/切换bEditRed并使编辑框无效InvalidateRect(hWndEdit, NULL, TRUE)

c)在对话过程中处理“ WM_CTLCOLOREDIT”消息:

case WM_CTLCOLOREDIT:
    if (bEditRed && (HWND)lParam == hWndEdit)
    {   HBRUSH hbr = (HBRUSH) DefWindowProc(hDlg, iMessage, wParam, lParam);
        SetTextColor((HDC) wParam, RGB(255, 0, 0));
        return (BOOL) hbr;
    }
    return FALSE;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Win32上处理CTRL + C

来自分类Dev

从Win32按钮删除边框

来自分类Dev

在Win32桌面应用程序上创建按钮时出错

来自分类Dev

如何禁用按钮-Win32 API

来自分类Dev

Win32控制台禁用系统菜单按钮

来自分类Dev

Win32 MessageBox切断文本

来自分类Dev

Win32 API:如何在编辑控件中更改部分文本的颜色

来自分类Dev

如何在Win32上的WS_EX_CLIENTEDGE“编辑”文本字段上断开文本行

来自分类Dev

在Winforms中更改表单上单选按钮的文本颜色

来自分类Dev

在没有Windows.h的WIN32上编译

来自分类Dev

如何使用WIN32 API for C ++更改文本的颜色和大小?

来自分类Dev

使用自定义绘图在Win32 API中设置按钮文本颜色

来自分类Dev

在Win32桌面应用程序上创建按钮时出错

来自分类Dev

Win32,如何访问工具栏上的按钮

来自分类Dev

win32列表视图缩写文本

来自分类Dev

如何在Win32 C ++中的工具栏按钮上动态添加自定义图像?

来自分类Dev

从Win32按钮删除边框

来自分类Dev

使用JNA从Win32 ListView检索项目文本

来自分类Dev

Win32滚动条剪辑文本

来自分类Dev

更改Win32标签上的光标

来自分类Dev

Win32 API:如何在编辑控件中更改部分文本的颜色

来自分类Dev

Win32的Cortana

来自分类Dev

使用Win32 C ++和钩子从应用程序中的按钮获取文本

来自分类Dev

在Winforms中更改表单上单选按钮的文本颜色

来自分类Dev

按钮按下处理Win32 C ++

来自分类Dev

在MFMailComposeViewController的发送/取消按钮上更改文本的颜色

来自分类Dev

Win32线程

来自分类Dev

win32 ExportAsFixedFormat

来自分类Dev

更改按钮上的文本

Related 相关文章

热门标签

归档