投稿日 | : 2005/12/27(Tue) 17:11 |
投稿者 | : たすく |
URL | : |
タイトル | : VB6での回転文字列の印刷 |
お世話になっております。タスクと申します。
現在VB6 SP6にてアプリケーションを開発しております。
その機能の中に、グラフの表示/印刷があり、Lineメソッドなどを利用して
自前描画を行っております。
グラフの中にY軸のタイトルは反時計回り90度回転させて描画する部分があり、
コレについてはWEBで調べてCreateFont等を利用することで実現できると分かり
Pictureについては期待通りの描画が行われます。
ですが、印刷すると回転せずに描画されてしまいます。
なお、ハードコピーによる印字は許容されておりません。
処理としては以下の様に行っております。
※ rfDevにPictureかPrinterがわたってきます。
尚、切り出して整形しただけなので、サイズ計算などの処理は省いております。
Public Sub drawYTitle(ByRef rfDev As Object)
Dim hLastObjct As Long
Dim hFont As Long
hFont = CreateFont(18, 0, 900, 900, 0, False, False, False, SHIFTJIS_CHARSET, _
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, _
DEFAULT_PITCH Or FF_DONTCARE, "MS ゴシック")
hLastObjct = SelectObject(rfDev.hdc, hFont)
Call TextOut(rfDev.hdc, 0, 0, vbTwips, vbPixels), _
g_stGraphEnv.strYTitle, LenB(StrConv(g_stGraphEnv.strYTitle,
vbFromUnicode)))
Call SelectObject(rfDev.hdc, hLastObjct)
Call DeleteObject(hFont)
End Sub
尚、色々なプリンタにて試してみましたが、どれも旨くいきませんでした。
何方か原因が分かる方、アドバイスを宜しく御願いいたします。