文字在文本框里居中后,
能不能用语句实现PICTURE框里也居中,
颜色也随文本框文字的颜色而改变。
图形框控件(PICTURE)里的单个字的颜色也可随文本框中文字同步改变
想了很久没办法解决,希望高手能支持我
支持我,谢谢!!!

解决方案 »

  1.   

    按我的理解,你想把文本框中输入的文本paint到picture框中?
     
    直观的解决方法是,用getdc api获取文本框的DC,然后用bitblt文本框的图像copy过去。
      

  2.   

    这个意思吗?
    Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
    Private Sub Form_Load()
    Form1.ScaleMode = 3
    Picture1.ScaleMode = 3
    End Sub
    Private Sub Text1_Change()
    Dim hdc As Long
    hdc = GetDC(Text1.hwnd)
    starw = (Picture1.ScaleWidth - Text1.Width) / 2
    starh = (Picture1.ScaleHeight - Text1.Height) / 2
    BitBlt Picture1.hdc, starw, starh, Text1.Width, Text1.Height, hdc, 0, 0, vbSrcCopy
    End Sub
      

  3.   

    直接添加一个picturebox,一个textbox,然后什么不要改变,添加如上代码,绝对可以
    也就是说你如果把picturebox的autoredraw属性改为true,则要在bitblt后添加一句picture1.refresh
      

  4.   

    使用label控件来显示文字,背景设为透明,放置在picturebox中就可以了。
    如果是要单个字符改变颜色,则可以用label控件数组+动态加载。
    如果最后需要保存为BMP,则在保存前用TEXTOUT这个API按照每一个Label的位置和FORECOLOR把字符输出到PICTUREBOX上。
      

  5.   

    我这个控件是RICHTEXTBOX
    点击COMMAND(居中按钮),字才居中。
    的确是不行。不能同步,
      

  6.   

    你想干嘛,是监视屏幕还是做一个类似Word的程序?
    我搞不清你的目的是什么。