learn MFC_1 简单文字及插入符显示
来源:互联网 发布:淘宝的宝贝详情页在哪 编辑:程序博客网 时间:2024/05/19 10:07
按照例程在onchar中textout,发现插入符有残留现象,查阅资料得知应该在ondraw中处理。
后发现textout只能输出单行文字,且不能输出换行等字符,改用drawtext。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void
CSDIDemoView::OnChar(
UINT
nChar,
UINT
nRepCnt,
UINT
nFlags)
{
// TODO: Add your message handler code here and/or call default
CClientDC dc(
this
);
CSize textsize = dc.GetTextExtent((
LPCTSTR
)&nChar);
CSDIDemoDoc *pDoc = GetDocument();
pDoc->myString += nChar;
if
(nChar == VK_RETURN) {
//carriage return character
ptCharacter.y +=textsize.cy;
ptCharacter.x = 0;
Invalidate(
true
);
}
else
if
(nChar == VK_BACK) {
pDoc->myString.Delete(pDoc->myString.GetLength()-1,2);
ptCharacter.x -= textsize.cx;
ptCharacter.x -= textsize.cx;
Invalidate(
true
);
}
else
{
ptCharacter.x += textsize.cx;
Invalidate(
true
);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void
CSDIDemoView::OnDraw(CDC* pDC)
{
CSDIDemoDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// pDC->TextOut(0,0,pDoc->myString);
CRect rc;
GetClientRect(rc);
//Get Client RECT
pDC->DrawText(pDoc->myString,&rc,DT_WORDBREAK|DT_LEFT|DT_TOP);
//caret
TEXTMETRIC
tm
;
pDC->GetTextMetrics(&
tm
);
CreateSolidCaret(
tm
.tmAveCharWidth/8,
tm
.tmHeight);
SetCaretPos(ptCharacter);
ShowCaret();
// TODO: add draw code for native data here
}
1
2
3
4
5
6
7
8
9
void
CSDIDemoView::OnSetFocus(CWnd* pOldWnd)
{
Invalidate(
true
);
CView::OnSetFocus(pOldWnd);
// TODO: Add your message handler code here
}
- learn MFC_1 简单文字及插入符显示
- MFC_1
- canvas 三 图片插入及文字填充
- 显示带阴影文字的简单办法
- android操作简单的文字标签显示
- ProgressBar颜色设定及绘制文字显示
- 学习笔记MFC_1
- win form 操作word模板插入文字、图片及表格
- 链表的简单插入及删除
- Android下Opengl程序显示文字的简单方法
- 让UILabel 显示文字斜体加粗的简单方法
- 最简单的方式实现竖排文字显示
- UILabel 显示文字斜体加粗的简单方法
- Android Gallery图片显示和文字提示及Menu 菜单
- Android ListView从网络获取图片及文字显示
- Android ListView从网络获取图片及文字显示
- Android ListView从网络获取图片及文字显示
- Android ListView从网络获取图片及文字显示
- cocos2d-x学习(一)
- Android 基础知识 十二
- 通用的用户权限系统开发资料集合,可以下载哦
- win32 sdk下调用webbrowser控件
- 2147:DotA的
- learn MFC_1 简单文字及插入符显示
- 如何在openSUSE上安装postgresql数据库
- ArcGIS for Android FeatureLayer的属性更新
- 常用Windows消息、常量命名参考
- cocos2d-x 使用action实现各种动画效果
- 2011:IP地址
- 封装格式
- android限制横竖屏切换 方法
- RQNOJ-28-愚蠢的宠物