tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
白抜き文字を印刷したい(VB6.0) ( No.0 )  [親スレッドへ]
日時: 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



 [スレッド一覧へ] [親スレッドへ]