編輯框中字型修改和大小字號,顏色設定
阿新 • • 發佈:2018-11-07
首先要了解
CFont類,它
封裝了一個
Windows
圖形裝置介面(
GDI)字型,併為操作字型提供了成員函式
。使用CreatFontW函式來建立字型。函式的原型如下:
BOOL CreateFont( int nHeight, // 字型高度:0為預設高度,非0絕對值為字型高度
int nWidth, // 字型寬度
int nEscapement, // 文字行的傾斜度
nt nOrientation, // 字元基線的傾斜度
int nWeight, // 字型的粗細
// 如:FW_DONTCARE.FW_THIN.FW_EXTRALIGHT……
BYTE bItalic, // 字型是否為斜體
BYTE bUnderline, // 字型是否帶下劃線
BYTE cStrikeOut, // 字型是否帶刪除線
BYTE nCharSet, // 字型的字符集:
// 如:.ANSI_CHARSET.DEFAULT_CHARSET.SYMBOL_CHARSET.....
BYTE nOutPrecision, // 字元的輸出精度
BYTE nClipPrecision, // 字元裁剪的精度
BYTE nQuality, // 字元的輸出質量
BYTE nPitchAndFamily, // 字元間距和字型族(低位說明間距,高位說明字元族)
LPCTSTR lpszFacename); // 字型名稱
程式碼如下:
BOOL CreateFont( int nHeight, // 字型高度:0為預設高度,非0絕對值為字型高度
int nWidth, // 字型寬度
int nEscapement, // 文字行的傾斜度
nt nOrientation, // 字元基線的傾斜度
int nWeight, // 字型的粗細
// 如:FW_DONTCARE.FW_THIN.FW_EXTRALIGHT……
BYTE bItalic, // 字型是否為斜體
BYTE bUnderline, // 字型是否帶下劃線
BYTE cStrikeOut, // 字型是否帶刪除線
BYTE nCharSet, // 字型的字符集:
// 如:.ANSI_CHARSET.DEFAULT_CHARSET.SYMBOL_CHARSET.....
BYTE nOutPrecision, // 字元的輸出精度
BYTE nClipPrecision, // 字元裁剪的精度
BYTE nQuality, // 字元的輸出質量
BYTE nPitchAndFamily, // 字元間距和字型族(低位說明間距,高位說明字元族)
LPCTSTR lpszFacename); // 字型名稱
程式碼如下:
float num = 80; CString str; str.Format(_T("%f"),num); m_Positionx.SetWindowTextW(str); m_Font = new CFont; m_Font->CreateFontW(100, 20, 0, 0, 100,FALSE, FALSE, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, FF_SWISS, L"Arial"); m_Positionx.SetFont(m_Font);
HBRUSH CPipositionx::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: 在此更改 DC 的任何特性
if (pWnd->GetDlgCtrlID() == IDC_EDIT_POSITIONX)
{
pDC->SetTextColor(RGB(255,0,0));
}
// TODO: 如果預設的不是所需畫筆,則返回另一個畫筆
return hbr;
}