修改按钮控件上的字体

有时候需要修改某一个按钮上的字体,可用如下方法:

        //令控件字体变大变粗
	HWND m_hName=::GetDlgItem(m_hWnd,IDC_PRTSTP_SET);//通过控件ID获取控件句柄
	HFONT hFont = (HFONT)::SendMessage( m_hName, WM_GETFONT, 0, 0 ); //得到设备字体
	if(hFont==0) 
		hFont=(HFONT)::GetStockObject(SYSTEM_FONT); 
	LOGFONT dtLogFont;//声明一个逻辑字体,因为创建太痛苦了,15个字段都要设置,要人的命 
	::GetObject( hFont, sizeof(dtLogFont), &dtLogFont );//填充逻辑字体结构,这样大大减少了代码
	dtLogFont.lfWidth = 16;//下面按自己的需求修改对应字段
	dtLogFont.lfHeight = 52;
	//dtLogFont.lfItalic=1;
	dtLogFont.lfWeight = FW_BLACK; 
	strcpy_s(dtLogFont.lfFaceName, "calibri");  
	hFont = ::CreateFontIndirect(&dtLogFont); //创建一个逻辑字体
	::SendMessage( m_hName, WM_SETFONT, (WPARAM)hFont, MAKELONG(TRUE,0) );//设置字体


	DeleteObject(GetStockObject(DEFAULT_GUI_FONT));//最后将创建的逻辑字体删除掉


你可能感兴趣的:(字体,vc++,控件)