请教:CView 上如何实现类似office的文本框编辑

haven_t 2013-02-23 10:14:19
在一个CScrollview中实现一个类似office文本框的功能,点中可以像文本框般进行大小位置和文字的编辑,希望能做到所见即所得。

现在我的做法是点中后显示边框,然后生成CEdit,文本框失去焦点时CView获取CEdit字符串,然后用DrawText把文字绘制到CView上。这个方法很难做到所见即所得,CEdit上排版和DrawText不一致,字体大的时候两者行距相差甚远,不知道大家有什么好的意见呢?
...全文
120 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
haven_t 2013-04-02
  • 打赏
  • 举报
回复
引用 4 楼 hdg3707 的回复:
RICHEDIT这个空件带滚动条,不需要用CScrollview这个视图
我现在要做的就是像PowerPoint那样,CScrollview上有图案、线条、文本框,如果每个文本框都是一个RICHEDIT的话就一定在CScrollView的最上层,管理比较麻烦。我希望能把RICHEDIT的内容通过DrawText或者Bitblt绘制到CScrollView上。
hdg3707 2013-03-29
  • 打赏
  • 举报
回复
RICHEDIT这个空件带滚动条,不需要用CScrollview这个视图
hdg3707 2013-03-29
  • 打赏
  • 举报
回复
你用RICHEDIT这个控件效果要好得多,就是把RICHEDIT这个控件放到CScrollview里,可以动态添加.如果有RICHEDIT VIEW这个控件更好
haven_t 2013-03-28
  • 打赏
  • 举报
回复
引用 1 楼 hdg3707 的回复:
设置坐标系试试,设成MM_TWIST,这个坐标系和打印机坐标尺寸对应
应该和这个没关系,关键是字体变大的时候CEdit和TextOut的行距差距很大。
hdg3707 2013-02-23
  • 打赏
  • 举报
回复
设置坐标系试试,设成MM_TWIST,这个坐标系和打印机坐标尺寸对应

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧