TEXTMETRIC tm;
pDC->GetTextMetrics(&tm);
int nLineHeight=tm.tmHeight+tm.tmExternnalLeading;
得到字的高度;
pDC->GetTextMetrics(&tm);
int nLineHeight=tm.tmHeight+tm.tmExternnalLeading;
得到字的高度;
解决方案 »
- 分享:搞定IE控件烦人的脚本错误
- 这个想法是否可以实现?
- 设置Static Text漏空的地方透明的问题
- 请教一个CBitmap类的问题
- 为wqiuyong送分1
- 怎样在ceditview中隔行显示(在视类中显示的是从.txt中调用的,而且.txt文件用户可以更改
- 为何在单独线程中使用CDAO...类时,不能正常关闭?
- 图象象素级的快速操作如何实现?????????
- 急:请问postscript( .ps)格式的文件用什么软件阅读
- 求解C#注册Active控件注册问题,安装时需要注册控件,路径问题,急急急!!!!
- 怎样将CListCtrl的Item变成选中状态?
- 怎么在一个CString中查找最后一个符合要求字符串的位置?
OnChar(......)
{
CSize SizeText,Caretsize;
static CPoint pt=GetCarePos();
HideCaret();
CClientDC dc(this);
dc.TextOut(pt.x,pt.y.(LPCTSTR)&nChar,1);
SizeText=dc.GetTextExtent((LPCTSTR)&nChar,1);
pt.x+=SizeText.cx;
CaretSize=dc.GetTextExtent("A",1);
::CreateCaret(m_hWnd,NULL,CaretSize.cx/2,CaretSize.cy);
SetCaretPos(pt);
ShowCaret();
CView::OnChar(....);
}
{
// set m_bDraw = false then call Invalidate()
if( m_bDraw )
{
pDC->Draw....
}
}
2.CDC *pdc = GetDC();
CFont *pOldFont = pdc->SelectObject(&m_Font);
CSize szCharExt = pdc->GetTextExtent(_T("X"));
pdc->SelectObject(pOldFont);
m_LineHeight = szCharExt.cy;
3.在OnEraseBkGnd中画,所画内容用一块内存区或链表储存,要清空view就清空内存,再Invalidate(TRUE);