名前 題名 ▼ yoshikawasさん > ありがとうございます。 > > > ただ,気になったのですが.たとえば以下の場合,どのようにプレビュー > > されるでしょうか. > > _______________ > > 喫茶XRAY > > > > 私の環境では上のような感じになりましたが... > > つまり,文字の基点が右(R)上(T)ということですね. > > 確かにそのとおりでした。 > 調べてみたところ、 > > plPrev1.BeginDoc; > try > > ↓これがいけてなかった > MyObject.Draw(plPrev1.Canvas.Handle); > > plPrev1.Canvas.Font.Height:=100; > plPrev1.Canvas.Pen.Width:=5; > plPrev1.Line(200,1000,600,600); > plPrev1.TextOutRT(1000,600,'喫茶XRAY') > finally > plPrev1.EndDoc; > end; > plPrev1.ShowModal; > > のように利用していました。 > MyObject.Draw(plPrev1.Canvas.Handle); > が内部で API→SetTextAlign を利用していたための不具合でした。 > MyObject.Drawの内部を直したいのですが開発者不在のためとりあえず、 > > procedure TCustomplPrev.TextOutRT(X1,Y1:Integer;Text:String); > var > X,Y: Integer; > CAdjust: Integer; > begin > > //yoshikawas > SetTextAlign(FCanvas.Handle,TA_LEFT or TA_TOP); > > CAdjust:=GetTextCAdjust(FCanvas,Text); > X:=X1-CAdjust-FCanvas.TextWidth(Text); > Y:=Y1; > FCanvas.Brush.Style:=bsClear; > FCanvas.TextOut(X,Y,Text); > end; > > としてTextOut..を変更して利用してみます。 > ありがとうございました。 > > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link