打开资源视图。
2.
双击打开STATIC所在的对话框。
3.
修改STATIC的ID属性,这里假设为IDC_TEXT1。
4.
为对话框添加类,假设为CMyDialog.
vc6.0是可以设置文本框的背景颜色的,步骤如下。
1.
为文本框添加消息处理函数onctlcolor;
2.
在该函数中添加如下代码
if(pwnd->getdlgctrlid()==idc_text) {
pdc->setbkcolor(rgb(255,0,0))//颜色设置,可根据具体需要调整
}
设置静态文本框背景透明首先在类向control型ctatic变量(假设为m_text),然后在对话框的OnPaint函数里添加
CPaintDC pDC(&m_text)
CRect rt
m_text.GetClientRect(&rt)//m_text为文本框对应的变量
rt.top-=5
rt.left-=5
rt.bottom+=5
rt.right+=5
pDC.SetBkMode(TRANSPARENT)
pDC.DrawText("文本",&rt,DT_CENTER | DT_VCENTER | DT_SINGLELINE)
2.窗口淡入淡出
int CMyDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
......
AnimateWindow(GetSafeHwnd(), 1000, AW_BLEND|AW_CENTER)
......
}
void CMyDlg::OnClose()
{
......
AnimateWindow(GetSafeHwnd(), 1000, AW_HIDE|AW_CENTER)
......
}
与静态文本框相关的颜色层次有:对话框背景色,文本框背景色,文字颜色和文字背景色。
相关函数有:
pDC->SetTextColor(RGB(150, 100, 100)) :设置文字颜色的函数
pDC->SetBkColor(RGB(0,125,1)) :设置文字背景色的函数
pDC->SetBkMode(TRANSPARENT):设置文字背景色是否透明 ,如果设置为TRANSPARENT,则设置文字背景色的函数无效。
文本框的背景色缺省为对话框背景色,如果文本框的下面有图形,则使用NULL_BRUSH使文本框透明,代码如下:
if ( nCtlColor==CTLCOLOR_STATIC||nCtlColor==CTLCOLOR_BTN||nCtlColor==CTLCOLOR_MAX )
{
pDC->SetBkMode(TRANSPARENT)
pDC->SetTextColor(RGB(255,255,255))
return (HBRUSH)::GetStockObject(NULL_BRUSH)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)