vc6更改静态文本

vc6更改静态文本,第1张

您好亲,1.

打开资源视图。

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)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/7762870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存