Vb6.0で作成したアプリケーションで印刷を行っていたのですがVista環境下で印刷した所、アンダーラインが出力されなず困っています。Printer.FontUnderLine = Trueの状態で、下記の"文字列"を印刷。Printer.Print "文字列";→XPまで問題なし。Vistaで対応出来るように上記の内容を下記のロジックに変更した所半角文字ではアンダーラインが印刷出来る様になったのですが全角文字でアンダーラインが印刷されず困って居ます。TextOut Printer.hDC, X, Y, "文字列", 文字長誰か分かる方いらっしゃらないですか?
> Printer.FontUnderLine = True本当ですね。初めて知りました。ちょっと試しただけで、詳しくは解りませんが、Vista に入っているフォントをプリンターオブジェクトがサポートしていないみたいですね。(従って、API 関数を使って印刷しても同じく印刷されません)縦書きフォントや他の市販のフォントでは、アンダーラインも取り消し線も印刷されます。(API を使用しなくても普通の状態で)(Vista の MS ゴシック等ではだめです。 お試し下さい)サポート技術情報も検索して見たのですが、見つかりませんね。下記当たりが影響しているとは思うのだけど。http://www.atmarkit.co.jp/news/200605/17/vista.htmlRichTextBox1.SelPrint (.hdc) でなら、印刷できるのでやはり、プリンターオブジェクトが JIS2004 のフォントをサポートしていないのかな。?
> サポート技術情報も検索して見たのですが、見つかりませんね。一晩がかりでやっとそれらしき物が見つかりました。日本語の下線付き文字は、 Windows Vista の下線を使わないで印刷されますhttp://support.microsoft.com/kb/936176/ja上記によると、この問題は、Windows Vista Service Pack 1 に最初に修正されました。との事だそうです。という事で、2時間掛けて、Windows Vista Service Pack 1 にアップグレードして試して見ましたら、見事に(でもないか)アンダーラインが印刷されました。
> > サポート技術情報も検索して見たのですが、見つかりませんね。> > 一晩がかりでやっとそれらしき物が見つかりました。レスありがとうございます。というか…一晩も掛けて;早速SP1を適用して試してみたいと思います。にしてもVistaには振り回されっぱなしだなぁ…もう嫌になってきました orz|||
> 早速SP1を適用して試してみたいと思います。SP1 の環境で作成したソフトをノーマルの環境の Vista で動作させた場合はどうなるのか試していませんので、解れば教えて下さい。(Vista 環境が1台しかないので、他の方法等ももう試せないので)
無事Sp1適用で、アンダーラインの出力が出来ました〜 >ω<> SP1 の環境で作成したソフトをノーマルの環境の Vista で動作させた場合は> どうなるのか試していませんので、解れば教えて下さい。> (Vista 環境が1台しかないので、他の方法等ももう試せないので)残念ながら、私の所の環境もVistaは、動作チェック用の1端末のみしか無いのですよねぇ…というか、誰も使いたがらない(苦笑時間の空いた時にでも、VMW辺りで幾つか環境作ってテスト出来れば、やってみたいと思います。