在線等 SetMapMode問題
使用Printer.Canvas進行條碼打印因為要精確設置線條寬度,需要調用SetMapMode改變坐標方式,我的代碼如下:
procedure TForm1.Button1Click(Sender: TObject);
var leftPos,topPos,barHeight,oldMap : integer;
begin
leftPos := strtoint(Edit3.Text);
topPos := strtoint(Edit4.Text);
barHeight := strtoint(Edit5.Text);
Printer.BeginDoc; // MM_TWIPS
oldMap := SetMapMode(Printer.Handle,MM_TWIPS); //只有設成MM_TEXT才打印
//打印机型號為 Zebra 105SL (200dpi)
PrintBarcode(Edit1.Text, leftPos,topPos,barHeight, True); //打印條碼的方法
Printer.EndDoc;
SetMapMode(Printer.Handle,oldMap);
end;
請教各位大蝦要實現打印, 應怎樣代碼實現
问题点数:100、回复次数:6Top
1 楼linzhengqun(风。我回来了)回复于 2004-12-02 13:34:23 得分 20
SetMapMode(Printer.Handle,MM_TWIPS); 是不是要变为:
SetMapMode(Printer.Canvas.Handle,MM_TWIPS);Top
2 楼fbysss(独孤求败)回复于 2004-12-02 13:38:51 得分 80
要注意的一点是:MM_TWIPS方式,Y轴的方向向上是正的Top
3 楼fbysss(独孤求败)回复于 2004-12-02 13:40:04 得分 0
肯定应该是Canvas.handleTop
4 楼nyf1220(我是党员----不过听说最近风声紧,打算换名字)回复于 2004-12-02 14:06:02 得分 0
要打印的东西,其实是在PRITER.canvas里的,改改Top
5 楼zhangpingjq()回复于 2004-12-02 16:07:58 得分 0
改成了Printer.Canvas.handle但打印机還是沒反應
不過設成MM_TEXT是可以打印的,請大家再幫我想一下Top
6 楼zhangpingjq()回复于 2004-12-02 18:27:13 得分 0
高手请进...Top




