VC6如何设置编辑框中字体的颜色? 有一基本对话框窗体,在上面放置一个Edit box,怎样搞能使编辑框中的文本的字体显示为红色或其他颜色。唉,在网上看了一大堆,不知道他们在说什么?简单点啊,能有那么复杂吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是个新手,你这样说我是听不懂的……请说的具体点啊,我要是能听懂你说的“CFont",我想就不在这问了……理解啊…… 4。背景及文本颜色定义一成员变量CBrush m_brush; 谁的成员变量?OnInitDialog()中进行初始化工作m_brush.CreateSolidBrush(RGB(255,0,0));我怎么找不到这个函数?然后在OnCtrlColor中HBRUSH CAsdfaaaaaaaaaDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);if(nCtlColor==CTLCOLOR_EDIT && pWnd->GetDlgCtrlID()==IDC_EDIT1)//注意此处的(pWnd->),否则没效果{ pDC->SetTextColor(RGB(255,0,0)); pDC->SetBkColor(RGB(255,255,0));//设置文本背景色 pDC->SetBkMode(TRANSPARENT);//设置背景透明 hbr = (HBRUSH)m_brush;}return hbr;} CClientDC dc(this);dc.SetTextColor(RGB(255,0,0)); //红色dc.SetTextColor(RGB(255,255,0)); //黄色其它颜色只需要改变RGB的值就可以了 重载OnCtlColor,可以改变编辑框字体的颜色,下面代码是把编辑框IDC_EDIT字体颜色改为红色:HBRUSH CISADlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if(((CEdit*)GetDlgItem(IDC_EDIT))->m_hWnd==pWnd->m_hWnd) { pDC->SetTextColor(RGB(255,0,0)); } return hbr;} (kone123) ,请问我该写在哪个文件里呢?怎么通不过呢? 在C***Dlg.cpp的C***Dlg::OnCtlColor写,加上:if(((CEdit*)GetDlgItem(编辑框ID))->m_hWnd==pWnd->m_hWnd){pDC->SetTextColor(RGB(255,0,0));} 就行了 “重载OnCtlColor”,怎么重载呢?下面那些代码我又该写到那个文件呢?(文件也太多了!!!) 找不到C***Dlg.cpp形式的文件是不是还要建类 成员变量什么的啊? 在classwizard中,让C***Dlg响应WM_CTLCOLOR,然后添加函数并编辑代码,VC会自动为C***Dlg添加OnCtlColor,在这个函数里写就行了 找到了,把代码加进去了,但是还是黑色啊,代码下如下:HBRUSH CDialg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: Change any attributes of the DC here if(((CEdit*)GetDlgItem(IDC_EDIT1))->m_hWnd==pWnd->m_hWnd) { pDC->SetTextColor(RGB(255,0,0)); } 还是黑的,没变化。代码如下:HBRUSH CDialg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: Change any attributes of the DC here if(((CEdit*)GetDlgItem(IDC_EDIT1))->m_hWnd==pWnd->m_hWnd) { pDC->SetTextColor(RGB(255,225,0)); } 你的是“HBRUSH CISADlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) ”我的是“HBRUSH CDialg::OnCtlColor(CDC* pDC, CWnd* p”问题是不是在这啊?怎么高的啊 CISADlg是工程中对话框名,你的对话框名是CDialg,不会吧 mciSendString函数可以播放将文件导成的资源吗? 多浏览器插件开发 管道的效率 win32汇编如何转c代码? 怎样将这样大量的数据保存到文件? 16位程序怎样改为32位程序 怎么让一个窗口居中显示? 魔兽的错??语言工具的错?? 我的问题请大家帮忙! 请问如何将COleDateTime类型将转化为Const Char * ? 请教一个MessageBox的问题 为什么复选框在背景透明时显示的是黑色
请说的具体点啊,我要是能听懂你说的“CFont",我想就不在这问了……理解啊……
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(nCtlColor==CTLCOLOR_EDIT && pWnd->GetDlgCtrlID()==IDC_EDIT1)//注意此处的(pWnd->),否则没效果
{
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkColor(RGB(255,255,0));//设置文本背景色
pDC->SetBkMode(TRANSPARENT);//设置背景透明
hbr = (HBRUSH)m_brush;
}return hbr;
}
dc.SetTextColor(RGB(255,0,0)); //红色
dc.SetTextColor(RGB(255,255,0)); //黄色
其它颜色只需要改变RGB的值就可以了
HBRUSH CISADlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(((CEdit*)GetDlgItem(IDC_EDIT))->m_hWnd==pWnd->m_hWnd)
{
pDC->SetTextColor(RGB(255,0,0));
}
return hbr;
}
if(((CEdit*)GetDlgItem(编辑框ID))->m_hWnd==pWnd->m_hWnd)
{
pDC->SetTextColor(RGB(255,0,0));
}
就行了
下面那些代码我又该写到那个文件呢?(文件也太多了!!!)
是不是还要建类 成员变量什么的啊?
HBRUSH CDialg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(((CEdit*)GetDlgItem(IDC_EDIT1))->m_hWnd==pWnd->m_hWnd)
{
pDC->SetTextColor(RGB(255,0,0));
}
HBRUSH CDialg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(((CEdit*)GetDlgItem(IDC_EDIT1))->m_hWnd==pWnd->m_hWnd)
{
pDC->SetTextColor(RGB(255,225,0));
}
我的是“HBRUSH CDialg::OnCtlColor(CDC* pDC, CWnd* p”问题是不是在这啊?怎么高的啊