有如下A4纸张
Printer.FontName="宋体"
Printer.FontBold = False
Printer.Font.Size = 9□幼托儿童、□散居儿童、□学生(大中小学)、□教师、□保育员及保姆、□餐饮食品业、□商业服务、□医务人员、
□ 工人、□民工、□农民、□牧民、□渔(船) 民、□干部职员、□离退人员、□家务及待业、□其他( )、□不详说明:我的数据库中存储了人员的职业,如果职业对应则在相同的职业前边的框里打入"√"
出现的问题1:如果用坐标定位,有没有什么简单的办法,比如根据需要打"√"的框框的前边有多少字来定位?
出现的问题2:如果不用坐标定位,是否可以在打印表的时候连应该选择的一起打进去(我的意思是说如果A4纸是张空白的,所有的东西都用程序打入去)?
问题3:有没有一个字符是这样的:外边一个框框,里边是一个"√",就好像复选框选中的那样的字符

解决方案 »

  1.   

    用printer对象CurrentX、CurrentY属性定位,这一对属性定义为要打印对象左上角。
      

  2.   

    我知道这两个属性可以定位
    可是坐标要怎么算呢?而且在窗体上打出的的预览和打印机实际打出的不同
    如果这个:
    □幼托儿童、□散居儿童、□学生(大中小学)、□教师、□保育员及保姆、□餐饮食品业、□商业服务、□医务人员、我希望在学生前边的框框里打"√",我做的是
    Printer.CurrentX=1.8
    Printer.CurrentX=5.3
    Printer.print "□幼托儿童、□散居儿童、□学生(大中小学)、□教师、□保育员及保姆、□餐饮食品业、□商业服务、□医务人员、"
    Printer.CurrentX=1.8
    Printer.CurrentX=5.3
    Printer.Print "                        √"
    (以上是同一位置的重叠打印)
    这样的话按道理来讲应该是没问题的
    但是窗体上预览是没问题的,可是打印机打出来的总有偏差
    我现在想做的一种方法是
    我希望在学生前边的框框里打"√",我做的是
    Printer.CurrentX=1.8
    Printer.CurrentX=5.3
    Printer.print StrArr(0) & "幼托儿童、" StrArr(1) & "散居儿童、" StrArr(2) & "学生(大中小学)、" StrArr(3) & "教师、" StrArr(4) & "保育员及保姆、" StrArr(5) & "餐饮食品业、" StrArr(6) & "商业服务、" StrArr(7) & "医务人员、"我可以把所有的StrArr数组里的全设为"□",然后判决选择的是哪个,如果是学生的话,我可以把StrArr(2)设成是一种字符(一个方框里边带一个对勾),不过这种字符我找不到,我用造字程序做了一个,可是在别的机器上没办法用的