HBRUSH CMyCaretView::CtlColor(CDC* pDC, UINT nCtlColor)
{
// TODO: 在此更改 DC 的任何特性
pDC->SetTextColor(RGB(255, 0, 0)); //設定文本前景色
pDC->SetBkColor(RGB(255, 255, 255)); //設定文本背景色
pDC->SetBkMode(TRANSPARENT); //TRANSPARENT或OPAQUE
CFont font;
font.CreatePointFont(120, L"宋體");
pDC->SelectObject(&font);
DeleteObject(font);//釋放資源
return (HBRUSH)::GetStockObject(WHITE_BRUSH);
// TODO: 如果不應呼叫父級的處理程式,則回傳非 null 畫筆
return NULL;
}
我用這段代碼改變字體后,字體是改變了,但是游標不正常了,游標總是在字符上,求解啊
uj5u.com熱心網友回復:
CFont font; 改為類成員, 區域堆疊變數在作用域外會被清理
class MyCaretView :
{
CFont font;
};
HBRUSH CMyCaretView::CtlColor(CDC* pDC, UINT nCtlColor)
{
// TODO: 在此更改 DC 的任何特性
pDC->SetTextColor(RGB(255, 0, 0)); //設定文本前景色
pDC->SetBkColor(RGB(255, 255, 255)); //設定文本背景色
pDC->SetBkMode(TRANSPARENT); //TRANSPARENT或OPAQUE
if(font.m_hObject == NULL)
font.CreatePointFont(120, L"宋體");
pDC->SelectObject(&font);
//DeleteObject(font);//釋放資源
return (HBRUSH)::GetStockObject(WHITE_BRUSH);
// TODO: 如果不應呼叫父級的處理程式,則回傳非 null 畫筆
return NULL;
}
uj5u.com熱心網友回復:
我剛試了將font變成成員變數,但是不起作用,游標還是在字符當中!請問是怎么回事啊?
uj5u.com熱心網友回復:
void CDisDsp568View::OnInitialUpdate(){
CEditView::OnInitialUpdate();
// TODO: Add your specialized code here and/or call the base class
SetFont(m_pFont);//Fixed
不是在 CtlColor
uj5u.com熱心網友回復:
用此方法解決了問題,謝謝!
uj5u.com熱心網友回復:
各位,我想要問下,怎樣在視圖中實作像vs編輯器中改變某些特定字串字體顏色的功能,謝謝!uj5u.com熱心網友回復:
在 RichEditVire 視圖中實作uj5u.com熱心網友回復:
我用的的是CEditView,能告訴具體步驟么?是需要在那個訊息虛函式,或者自己實作?
uj5u.com熱心網友回復:
CEditView 改單個字符顏色 難CRichEditView 可以 ,但要熟悉
uj5u.com熱心網友回復:
另外一個問題,動態生成的選單,我生成了四個彈出選單,每個彈出選單下有若干個子選單,這四個彈出選單下的子選單的ID是從WM_USER+200開始的,總共生成有23個選單,但是最后兩個是灰色的???這個是什么情況?哪位能幫忙解決下,謝謝!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/96750.html
標籤:界面
