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()));

 

posted @ 2016-10-15 22:05  Mr康康  阅读(9283)  评论(0编辑  收藏  举报