精华内容
下载资源
问答
  • 通过VC实现设定静态文本框的背景色和文本颜色,适合初学者。
  • 正文:需要自绘静态文本框 一、使用滚轮和滚动条 在PreTranslateMessage函数中判断滚轮消息 UINT btnID; //由窗口句柄获得控件ID号,GetWindowLong为获得窗口的ID号。 btnID = GetWindowLo...

    效果:

    1、通过滚轮拖动进行滚动显示

    2、通过鼠标滚轮显示

    3、保证滚动每行和字实际高度一致

    4、滚轮行数和需要滚动的字行数一致

    正文:需要自绘静态文本框

    一、使用滚轮和滚动条

    在PreTranslateMessage函数中判断滚轮消息

    UINT btnID;
    
    //由窗口句柄获得控件ID号,GetWindowLong为获得窗口的ID号。 
    btnID = GetWindowLong(pMsg->hwnd, GWL_ID);
    
    int zDelta = (short)HIWORD(pMsg->wParam);
    
    switch (pMsg->message)
    {
    	case WM_MOUSEWHEEL:
    	{
    		if (btnID == 静态文本框ID)
    		{
    

    通过判断zDelta为-120还是120来累加或者累减滚动行数这个变量就可以了

    同样使用滚动条也是一样

     

    二、实现滚动行效果

    在DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)中添加代码

    lpDrawItemStruct->CtlID:判断当前静态文本框ID

    //显示,str为静态文本框显示字

    CDC dc;
    dc.Attach(lpDrawItemStruct->hDC); //获取控件DC
    dc.SetBkMode(TRANSPARENT);  //设置背景色透明
    CString   str;
    GetWindowText(str);
    dc.SetTextColor(RGB(255, 255, 255));
    dc.DrawText(str, rect, DT_EDITCONTROL | DT_WORDBREAK);//str为显示数据

    //获取静态

    展开全文
  • 选择这个控件–>属性 Align Text --> Center 左右居中 Center vertically --> True 上下居中

    选择这个控件–>属性
    Align Text --> Center 左右居中
    Center vertically --> True 上下居中

    展开全文
  • MFC的静态文本框CStatic

    千次阅读 2018-11-03 10:47:32
    静态文本框是最简单的控件,它主要用来显示文本信息,不能接受用户输入,一般不需要连接变量,也不需要处理消息。 静态文本框的重要属性有: ID:所有静态文本框的缺省ID都是IDC_STATIC,静态ID,不响应任何消息...

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

    静态文本框的重要属性有:

    1. ID:所有静态文本框的缺省ID都是IDC_STATIC,静态ID,不响应任何消息(事件)
    2. Caption:修改显示的内容

    常用接口:

    接口

    功能

    CWnd::SetWindowText

    设置控件内容

    CWnd::GetWindowText

    获取控件内容

    CStatic::SetBitmap

    设置位图(后缀为bmp的图片)

    关联控件变量:

    由于XXX_STATIC静态ID是不能关联变量,故需把ID修改后,再关联变量:

    在主对话框类OnInitDialog()中,完成相应接口测试:

             //设置静态控件内容为DOTA
    
             m_label.SetWindowText(TEXT("DOTA"));
    
    
    
             //获取静态控件的内容
    
             CString str;
    
             m_label.GetWindowText(str);
    
             MessageBox(str);
    
    
             //设置静态控件窗口风格为位图居中显示
    
             m_label.ModifyStyle(0xf, SS_BITMAP | SS_CENTERIMAGE);
    
    
             //通过路径获取bitmap句柄
    #define HBMP(filepath,width,height)(HBITMAP)LoadImage(AfxGetInstanceHandle(),filepath,IMAGE_BITMAP,width,height,LR_LOADFROMFILE|LR_CREATEDIBSECTION)
    
          //静态控件设置bitmap
           m_label.SetBitmap(HBMP(TEXT("./1.bmp"), 300, 250));

    实际上需要将图片适应控件的大小的,所以可以添加以下代码:

    //宽高应该按照控件的大小设置
    	CRect rect;//定义窗体
    	m_Pic.GetWindowRect(rect);//获取窗体大小
    	m_Pic.SetBitmap(HBMP(TEXT("./1.bmp"), rect.Width(), rect.Height()));
    

    展开全文
  • // LineStatic.cpp : implementation file // #include "stdafx.h" #include "MFCAppVC6.h" #include "LineStatic.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__;
    // LineStatic.cpp : implementation file
    //
    
    #include "stdafx.h"
    #include "MFCAppVC6.h"
    #include "LineStatic.h"
    
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
    
    /
    // CLineStatic
    
    CLineStatic::CLineStatic():m_strText(_T(""))
    {
    
    }
    
    CLineStatic::~CLineStatic()
    {
    }
    
    
    BEGIN_MESSAGE_MAP(CLineStatic, CStatic)
    	//{{AFX_MSG_MAP(CLineStatic)
    	ON_WM_PAINT()
    	ON_WM_TIMER()
    	ON_WM_CREATE()
    	//}}AFX_MSG_MAP
    END_MESSAGE_MAP()
    
    /
    // CLineStatic message handlers
    
    void CLineStatic::PreSubclassWindow() 
    {
    	// TODO: Add your specialized code here and/or call the base class
    	CFont* pFont = GetFont();
    	LOGFONT logFont;
    	pFont->GetLogFont(&logFont);
    	logFont.lfUnderline = TRUE;
    	m_Font.CreateFontIndirect(&logFont);
    	
    	CStatic::PreSubclassWindow();
    }
    
    void CLineStatic::OnPaint() 
    {
    	CPaintDC dc(this); // device context for painting
    	
    	// TODO: Add your message handler code here
    	
    	dc.SetTextColor(RGB(255,0,0));
    	dc.SetBkMode(TRANSPARENT);
    	
    	CRect rect;
    	GetClientRect(&rect);
    
    	TEXTMETRIC tm;
    	dc.GetTextMetrics(&tm);
    
    	CRect wRect;
    	wRect = CRect(rect.left,rect.top,rect.right,rect.top + tm.tmHeight);
    	
    	dc.SelectObject(&m_Font);
    	dc.DrawText(m_strText,&wRect,DT_LEFT);
    
    	// Do not call CStatic::OnPaint() for painting messages
    }
    


    #if !defined(AFX_LINESTATIC_H__0478E0F1_65C7_45AD_A37F_568D6BF46BC6__INCLUDED_)
    #define AFX_LINESTATIC_H__0478E0F1_65C7_45AD_A37F_568D6BF46BC6__INCLUDED_
    
    #if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000
    // LineStatic.h : header file
    //
    
    /
    // CLineStatic window
    
    class CLineStatic : public CStatic
    {
    // Construction
    public:
    	CLineStatic();
    
    // Attributes
    public:
    
    // Operations
    public:
    
    // Overrides
    	// ClassWizard generated virtual function overrides
    	//{{AFX_VIRTUAL(CLineStatic)
    	protected:
    	virtual void PreSubclassWindow();
    	//}}AFX_VIRTUAL
    
    // Implementation
    public:
    	virtual ~CLineStatic();
    	void SetText(CString& strText){m_strText = strText;}
    
    	// Generated message map functions
    protected:
    	//{{AFX_MSG(CLineStatic)
    	afx_msg void OnPaint();
    	//}}AFX_MSG
    
    	DECLARE_MESSAGE_MAP()
    private:
    	CFont m_Font;
    	CString m_strText;
    };
    
    /
    
    //{{AFX_INSERT_LOCATION}}
    // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
    
    #endif // !defined(AFX_LINESTATIC_H__0478E0F1_65C7_45AD_A37F_568D6BF46BC6__INCLUDED_)
    



    展开全文
  • VC2005 MFC静态文本框背景色设置

    千次阅读 2017-03-10 10:20:43
    我发现如果直接有工具箱拖放一个静态文本到程序窗口时文本框的背景颜色是灰色,字体为黑色,且在属性窗口没有修改文本颜色的选项。效果图如下。 图1 红色矩形框中默认文本框颜色 这样显示就和背景颜色很不协调。
  • MFC-静态文本框用法

    万次阅读 2016-03-25 12:32:23
    把控件和整型变量相关联,注意一下,静态文本框IDC_STATIC是不能直接添加变量的,要把ID改为其它的才行.步骤是右键单击该控件->添加变量 m_intl = 10086 ; //控件的整型变量 UpdateData( FALSE ); //更新文本框...
  • 常用控件主要包括:静态文本框、编辑框、单选按钮、复选框、分组框、列表框、组合框、图片控件、列表控件、树形控件和进度条控件等等。本节教程先来讲解静态文本框的使用。 控件的通知消息 ...
  • MFC 静态文本框修改内容

    千次阅读 2018-11-09 03:20:29
    MFC 静态文本框修改内容
  • 1、将静态文本框的属性Notify设置为Ture; 2、将静态文本框的ID改为其他的;
  • VC 设置静态文本框的背景色(转)

    千次阅读 2014-01-16 21:44:34
    填充静态文本框的颜色: ...1、在对话框中添加一个静态文本框,设置其id为IDC_STATIC ...2、获得静态文本框的句柄 HWND h_static = GetDlgItem(IDC_STATIC)->m_hWnd;...3、获得静态文本框的DC句柄 HDC h
  • 静态文本框、命令按钮和编辑框是Windows应用程序中最基本的控件。静态文本框是CStatic类的对象,命令按钮是CButton类的对象,编辑框是CEdit类的对象。这三个类都是从CWnd类直接派生来的,具有CWnd类的全部功能。 ...
  • 原文 : https://www.cnblogs.com/qingergege/p/5147988.html
  • MFC设置静态文本框字体的大小

    万次阅读 2017-03-01 21:41:26
    在MFC对话框中,要想设置静态文本框的字体大小,无法直接在属性里面进行设置,需要在写代码进行设置,具体方法如下: 1、在MFC对话框中放置static text框; 2、添加控件关联变量,m_static(是control,而不是value) ...
  • 1 在更新静态文本框之前首先隐藏控件 2 然后在显示出来。 3 代码: 4 GetDlgItem(IDC_TEXT_PM)->ShowWindow(SW_HIDE); 5 UpDate();//更新数据函数,自定义的 6 GetDlgItem(IDC_TEXT_PM)->ShowWindow(SW_...
  • MFC修改静态文本框中字体: 1.声明 CFont cfont; 2.在OnInitDlg()函数中添加 cfont.CreateFont(16, //这个数字就是字体大小了 0,0,0,FW_NORMAL, FALSE,FALSE, 0, ANSI_CHARSET, // nCharSet OUT_DEFAULT
  • 静态文本框显示与修改文字

    千次阅读 2014-04-25 20:05:13
    首先我的编译环境是VS2010,这里对静态文本框的文字xin
  • 静态文本框起到标志和注释的作用,若要给其增加响应函数,需做如下操作: 1:修改ID号 2:勾选属性:Notify
  • 常用控件主要包括:静态文本框、编辑框、单选按钮、复选框、分组框、列表框、组合框、图片控件、列表控件、树形控件和进度条控件等等。本节教程先来讲解静态文本框的使用。 Xtreme Toolkit Pro是屡获殊荣的VC界面库...
  • MFC学习 - 动态创建静态文本框

    千次阅读 2018-03-04 11:49:29
    动态创建Static,需要有一个生命周期足够长的静态控件指针...需要创建静态文本框的对话框的构造函数: m_pStatic = NULL; 创建静态控件函数里: if(m_pStatic && m_pStatic->IsWindowVisi...
  • [解决方法]  简单的步骤:在Windows中,每个窗体都有自己的字体。要改变其字体首先要CFont::CreateFont创建一个字体,然后用CWnd::SetFont选择此字体,赋给控件。具体的步骤: 1.在include的下面定义一个全局变量...
  • 应该用CWnd类的成员函数GetWindowText来获取,但是首先要获取这个文本控件,就要用CWnd类的另一个成员函数GetDlgItem,如果要设置文本内容,则要用另一个成员函数SetWindowText,静态文本框在默认情况下不发送通知...
  • mfc 静态文本框让文字居中显示

    千次阅读 2015-10-12 10:19:28
    vs2008  选择这个控件-->属性 Align Text --> Center 左右居中 Center Image --> True 上下居中
  • VC 设置静态文本框透明背景

    千次阅读 2010-06-17 14:35:00
     /*if(pWnd->GetDlgCtrlID()==IDC_ST_UID) //文本框ID号  {  //pDC->SetBkColor(RGB(102,102,102));//颜色设置,可自已定义  pDC->SetBkMode(NULL_BRUSH);  } */  // TODO: 如果默认的不是所需画笔,则返回...
  • MFC 文本框多行显示

    千次阅读 2017-05-31 21:23:59
    CString str="";   for(int index=0;index { CString strm; strm.Format("舰艇有%s:\r\n",ship_pos[index].stMyplat.shipname);   str+=strm;...GetDlgItem(IDC_EDIT1)->SetWindowText
  • SetDlgItemText(IDC_STATIC, strText); //设置静态文本 GetDlgItem(IDC_EDIT1)->ShowWindow(FALSE); //隐藏控件 GetDlgItem(IDC_EDIT1)->GetWindowText(aa); ...
  • 控件ID要改一下名字 控件Notify属性设为True 静态控件增加STN_CLICKED消息响应(应该与vc中的BN_CLICKED消息是一样的)
  •  //将文本框IDC_STATIC_MENU设置为透明   pDC->SetTextColor(RGB( 255, 20, 20 ));//设置字体颜色  }  if( pWnd->GetDlgCtrlID() == IDC_STATIC_FIND )  {  pDC->SetBkMode( TRANSPARENT );  ...
  • 跟 GroupBox 控件类似,静态文本框控件的ID也是 IDC_STATIC,所以默认的情况下他也是没有什么属性可修改的,拖拽到对话框上面之后,只是作为默认的显示提示文本信息的作用了。那么这个控件可不可以自定义呢?可不...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,684
精华内容 1,073
关键字:

vc静态文本框