- 日時: 2008/02/11 20:53
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[印刷関係][][] * * キーワード:カラー印刷,反転,FontTransparent,ForeColor,Font,Color,XOR * *********************************************************************************** 記事No : 11220 投稿日 : 2008/01/23(Wed) 15:20 元質問 : どり
VB6.0SP6,XPsp2です Printで白抜き文字を印字したいのです(黒い四角形の中に白い文字を印字)
以前の環境(VB5.0,NT4.0,モノクロプリンタ)では以下のようにできたのです が、プリンタの機種が変わったからなのかできなくなりました。 (文字の色は黒のまま反転してくれません)
with printer .ColorMode = vbPRCMColor .drawmode=13 .Print "あ"; .DrawMode = vbXorPen 'XORで反転させる .FillColor = vbBlack .Line -Step(-.TextWidth("あ"), .TextHeight("あ")), vbBlack, BF end with
Colormodeをモノクロにしてもdrawmodeを変えても駄目でした。いい方法ないでしょうか よろしくお願いします
Microsoft XPS Document Writer、某カラープリンタ共に同じ結果でした
----------------------------------------------------------------------------------- 回答者 : 魔界の仮面弁士 記事No : 11231 投稿日 : 2008/01/23(Wed) 21:20 ----------------------------------------------------------------------------------- Option Explicit
'元のコード(Xor描画)を活かした例 Private Sub Command1_Click() Cls BackColor = vbWhite
DrawMode = vbCopyPen '13 Print "あ"; DrawMode = vbXorPen FillColor = vbBlack
'こっちだとNG(どりさん自身のコード) Line -Step(-TextWidth("あ"), TextHeight("あ")), vbBlack, BF
'こっちならOK(大吉末吉さんの修正案) 'Line -Step(-TextWidth("あ"), TextHeight("あ")), vbWhite, BF End Sub
'花ちゃんさんの修正案(文字を後描き) Private Sub Command2_Click() Cls
DrawMode = vbCopyPen Line (TextWidth("あ"), TextHeight("あ"))-(0, 0), vbBlack, BF FontTransparent = True ForeColor = vbWhite Print "あ"; End Sub
|