> > 画面のハードコピーを印刷するPGを作成していますが > > 白紙しか印刷できません > > dc = GetDC(0) > > pdc = Printer.hDC > > StartDoc pdc, docInfo > > StartPage pdc > > rc = BitBlt(pdc, 0,0, 500, 500, dc, 0, 0, vbSrcCopy) > > ここのrcが0となってしまいます > > EndPage pdc > > EndDoc pdc > > うちではうまく行くますよ。 > > VBのVerは?OSは? > dc,pdcはちゃんと取れてる? > docInfoは何を設定してる? > このコードに間に別のコードが入ってない?(特にPrinterオブジェクトを > 参照するコード)
dc, pdc は取れています あと、docInfoの内容は docInfo.cbSize = len(docInfo) docInfo.lpszDocName = "テスト" docInfo.lpszOutPut = vbNullString としています
docInfo を設定している部分は、pdc = Printer.hDcのあとに記述しています
> あとは、StartDocいかを > Printer.Print = " " > rc = BitBlt(pdc, 0,0, 500, 500, dc, 0, 0, SRCCOPY) > Call Printer.EndDoc > としてみるとか。 > > プリンタドライバを最新にしてむるとか。 プリンタは最近買ったものなので、ドライバは最新と思われます あと、現在BitBltを行っている部分を Rectangle関数を利用すると四角形が印刷されます
|