MFC静态文本框

Posted Mr康康

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC静态文本框相关的知识,希望对你有一定的参考价值。

1.简述

  静态文本框(Static Text):静态文本框是最简单的控件,它主要用来显示文本信息,不能接受用户输入,一般不需要连接变量,也不需要处理消息。

2.Functions

  2.1 void CWnd::SetWindowText( LPCTSTR lpszString )
void CStaticDialogDlg::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码
    m_stext.SetWindowTextW(TEXT("Hello"));//通过Button改变Static Text文本框的内容
}

  注:m_stext为Static Text文本框的成员变量。

  2.2 int CWnd::GetWindowText( LPTSTR lpszStringBuf, int nMaxCount ) const  |  void CWnd:: GetWindowText( CString& rString ) const;
void CStaticDialogDlg::OnBnClickedButton2()
{
    // TODO: 在此添加控件通知处理程序代码
    CString str;
    m_stext.GetWindowTextW(str);//通过Button获取Static Text对话框的内容
    MessageBox(str);//以弹出框显示该内容
}
  2.3HBITMAP CStaitc::SetBitmap( HBITMAP hBitmap )

     2.3.1通过路径载入图片

void CStaticDialogDlg::OnBnClickedButton3()
{
    // TODO: 在此添加控件通知处理程序代码
    m_stext.ModifyStyle(0, SS_BITMAP, SS_CENTERIMAGE);
    #define HBMP(filepath,width,height) (HBITMAP)LoadImage(AfxGetInstanceHandle(),filepath,IMAGE_BITMAP,width,height,LR_LOADFROMFILE|LR_CREATEDIBSECTION)

    //根据文本框大小设置图片大小
    CRect rect;
    m_stext.GetWindowRect(rect);
    m_stext.SetBitmap(HBMP(TEXT("./1.bmp"), rect.Width(), rect.Height()));

}

    2.3.2通过图片ID载入图片

    CStatic *cst = (CStatic *)GetDlgItem(IDC_STATIC1);//IDC_STATIC1为文本框ID
    CBitmap cbp;
    cbp.LoadBitmapW(IDIGNORE);//IDIGNORE为图片ID
    cst->ModifyStyle(0, SS_BITMAP, SS_CENTERIMAGE);
    cst->SetBitmap(HBITMAP(cbp.Detach()));

 

以上是关于MFC静态文本框的主要内容,如果未能解决你的问题,请参考以下文章

MFC 静态文本框

VS2010-MFC(常用控件:静态文本框)

MFC控件编程之 按钮编辑框.静态文本的使用

MFC设置静态文本框背景为透明

在MFC中:静态文本类;按纽类;编辑框类;滚动条类;列表框类;组合框类等所对应的类名以及其功能

MFC 对话框 静态文本 编辑框