几位能说的,详细一点吗!
是shap.textout这样的吗!

解决方案 »

  1.   

    谢谢你提出图形图象方面的问题。
    根本没有Shape.textout,
    他们的说法是用TextOut在与Shape相同的位置输出文字
    BOOL TextOut
    (
     HDC hdc,
     int nXStart,
     int nYStart,
     LPCTSTR lpString
     int cbString
    );
    HDC:HDC型表示设备的句柄;
    nXStart和nYStart:int型,要描绘的文本起始点坐标;
    lpString:LPCTSTR型,指向存储要描绘的文本的字符串;
    cbString:int型,字符串中要描绘的字符数量。
    使用方法:
    var hdc1:hdc;
    hdc1:=GetDC(Form1.Handle);
    textout(hdc1,shape1.left,shape1.top,'象',2);
      

  2.   

    to : thirdapple(第三只苹果) 
    你还在吗!谢谢你的回答才对,怎么谢我呀!
    现在还有个问题,你的这种方法控件正好把字给挡住了!还有其他方法吗!
      

  3.   


      
    to : thirdapple(第三只苹果) 
    你还在吗!谢谢你的回答才对,怎么谢我呀!
    现在还有个问题,你的这种方法控件正好把字给挡住了!还有其他方法吗! 
      

  4.   

    将shape的属性设置为send to back
      

  5.   

    不会是右键的 send to back的属性吧!这个试过了,不行呀!
      

  6.   

    当然,不管把Shape怎么Send To back,总不可能Send到Form的Back去吧。
    为什么不考虑不用Shape,改用Image之类有Canvas的控件呢?
      

  7.   

    to: Kenjiang(笨笨)
    那我现在比如说要做一个象棋的程序!我要在格子上显示一个'马'的控件,我怎么把这个马字写到控件上.
      

  8.   

    谢谢你提出图形图象方面的新问题。
    你的问题看来比较复杂。但是,我要告诉你,大多数的象棋程序都不是用控件完成的,而是用贴图完成的。Kenjiang(笨笨)的方法非常可行。你可以把所有的象棋棋子做成图片,然后用BitBlt函数贴上去,或者做一个没有字的象棋棋子图片,在图片上用TextOut写字。关于BitBlt的用法你可以参见:
    Windows下的贴图函数BitBlt:
        函数功能:该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境。    函数原型:BOOL BitBlt(HDC hdcDest,int nXDest,int nYDest,int nWidth,int nHeight,HDC hdcSrc,int nXSrc,int nYSrc,DWORD dwRop);    参数:    hdcDest:指向目标设备环境的句柄。    nXDest:指定目标矩形区域左上角的X轴逻辑坐标。    nYDest:指定目标矩形区域左上角的Y轴逻辑坐标。    nWidth:指定源和目标矩形区域的逻辑宽度。    nHeight:指定源和目标矩形区域的逻辑高度。    hdcSrc:指向源设备环境的句柄。    nXSrc:指定源矩形区域左上角的X轴逻辑坐标。    nYSrc:指定源矩形区域左上角的Y轴逻辑坐标。    dwRop:指定光栅操作代码。这些代码将定义源矩形区域的颜色数据,如何与目标矩形区域的颜色数据组合以完成最后的颜色。    下面列出了一些常见的光栅操作代码:    BLACKNESS:表示使用与物理调色板的索引0相关的色彩来填充目标矩形区域,(对缺省的物理调色板而言,该颜色为黑色)。    DSTINVERT:表示使目标矩形区域颜色取反。    MERGECOPY:表示使用布尔型的AND(与)操作符将源矩形区域的颜色与特定模式组合一起。    MERGEPAINT:通过使用布尔型的OR(或)操作符将反向的源矩形区域的颜色与目标矩形区域的颜色合并。    NOTSRCCOPY:将源矩形区域颜色取反,于拷贝到目标矩形区域。    NOTSRCERASE:使用布尔类型的OR(或)操作符组合源和目标矩形区域的颜色值,然后将合成的颜色取反。    PATCOPY:将特定的模式拷贝到目标位图上。    PATPAINT:通过使用布尔OR(或)操作符将源矩形区域取反后的颜色值与特定模式的颜色合并。然后使用OR(或)操作符将该操作的结果与目标矩形区域内的颜色合并。    PATINVERT:通过使用XOR(异或)操作符将源和目标矩形区域内的颜色合并。    SRCAND:通过使用AND(与)操作符来将源和目标矩形区域内的颜色合并。    SRCCOPY:将源矩形区域直接拷贝到目标矩形区域。    SRCERASE:通过使用AND(与)操作符将目标矩形区域颜色取反后与源矩形区域的颜色值合并。    SRCINVERT:通过使用布尔型的XOR(异或)操作符将源和目标矩形区域的颜色合并。    SRCPAINT:通过使用布尔型的OR(或)操作符将源和目标矩形区域的颜色合并。    WHITENESS:使用与物理调色板中索引1有关的颜色填充目标矩形区域。(对于缺省物理调色板来说,这个颜色就是白色)。    返回值:如果函数成功,那么返回值非零;如果函数失败,则返回值为零。    Windows NT:若想获取更多错误信息,请调用GetLastError函数。    备注:如果在源设备环境中可以实行旋转或剪切变换,那么函数BitBlt返回一个错误。如果存在其他变换(并且目标设备环境中匹配变换无效),那么目标设备环境中的矩形区域将在需要时进行拉伸、压缩或旋转。    如果源和目标设备环境的颜色格式不匹配,那么BitBlt函数将源场景的颜色格式转换成能与目标格式匹配的格式。当正在记录一个增强型图元文件时,如果源设备环境标识为一个增强型图元文件设备环境,那么会出现错误。如果源和目标设备环境代表不同的设备,那么BitBlt函数返回错误。    Windows CE:在Windows CE 1.0版中,参数dwRop只可以指定为下列值:SRCCOPY、SRCAND、SRCPAINT、SRCINVERT。在Windows CE 2.0版中,参数dwRop可以是任何光栅操作代码值。    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:wingdi.h;库文件:gdi32.lib。
      

  9.   

    to : thirdapple(第三只苹果) 
    谢谢你的回答,你总是这么客气!好了现在我先结帖,还有不懂的地方,我再问!
    谢谢了!