修改按鈕控件上的字體

有時候需要修改某一個按鈕上的字體,可用如下方法:

        //令控件字體變大變粗
	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));//最後將創建的邏輯字體刪除掉


發佈了75 篇原創文章 · 獲贊 95 · 訪問量 54萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章