如何在照片上输入文字,就是我选定一个
标题为"文本"的按钮后,在照片上选一个
矩形区域,然后可以输入文字了,请问我
这是如何实现的?就是我选定一个矩形区域
后怎么往里输入文字的,是动态生成一个编辑框吗?

解决方案 »

  1.   

    不用啊。用DrawText函数就可以在指定的矩形中写字了。
      

  2.   

    实际上是在画布上绘制文字!用DrawText函数就行
      

  3.   

    也许我没说明白,关键不是怎么输出文字,
    而是怎么输入任意的文字,输入指定的文字
    当然简单了,我要问的是怎么实现往矩形框里
    输入任意的文字,就像photoshop那样,有
    人知道吗
      

  4.   

    这需要设置光标。让光标在屏幕上闪动。就像你说的一样。
    我们以前做排版的时候,是鼠标点击某个位置后,在该位置绘制一条竖线,定时闪动,当输入文字时,改变竖线的位置,并用DrawText显示文字。基本上就是这样。
    当然,象你说得,用个文本框简单处理,也许也可以。
      

  5.   

    就在画布上TextOut()输出你的文字就Ok了, 我曾经做过此类工作.
      

  6.   

    happyparrot(快乐鹦鹉) ( ),很谢谢你有没有文章?我都不知道怎么显示光标,还有
    怎么接收输入的文字,处理WM_KEYDOWN消息吗?
      

  7.   

    没有文章啊。我们以前做的是一个排版软件产品。是报社用的。就是报纸杂志排版。不过文字编辑功能不是我做的。我做图形。响应WM_KEYDOWN是对的。这样可以准确定位,因为有些是虚拟键,比如上移一行,PAGEDOWN到段尾之类。接收文字你可以用个字符串,因为你的比较简单,如果功能要完整的话,需要做一些文字类,段类等等,比较复杂。显示光标就是画条竖线,比如MoveTo(100,100),LineTo(100,120),不就有条线了嘛。
      

  8.   

    CEdit类CEdit m_edit;
    m_edit.Create(.........)
    .
    .
    .
    m_edit.GetWindowText(str).
    .
    .edit.ShowWindow(SW_HIDE)
      

  9.   

    用CreateCaret建立一个真的光标。