C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

プリンター ハンドル

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■103139 / inTopicNo.1)  プリンター ハンドル
  
□投稿者/ furu (229回)-(2024/05/28(Tue) 13:46:47)

分類:[C#] 

VS2022 .Net Framewrok 4.8

Delphiの印刷プログラムをC#に移植しているのですが
印刷でわからないところがあります。

//Delphi7
Printer.BeginDoc;
Escape(Printer.Handle, PASSTHROUGH, xx, yy, zz); //gdi32.dll
Printer.EndDoc;

C#ではPrintDocument.Print()で行って
PrintPageイベントハンドラ内で
gdi32.dllのEscapeを呼ぼうとしたのですが
第1パラメーターのプリンターハンドルは
どこから持ってくればいいのでしょうか?

ちなみにプリンターは連帳用のドットプリンターで
ドライバーはGeneric/Text Onlyです。
引用返信 編集キー/
■103140 / inTopicNo.2)  Re[1]: プリンター ハンドル
□投稿者/ Hongliang (1299回)-(2024/05/28(Tue) 13:58:14)
Escape関数の第1引数はデバイスコンテキストへのハンドルらしいので、
e.Graphics.GetHdc()
が返すIntPtrを渡せばよさそうに思えます。
なお、このハンドルが必要な関数を呼び終えた後は
e.Graphics.ReleaseHdc()
してやる必要があります。
引用返信 編集キー/
■103143 / inTopicNo.3)  Re[2]: プリンター ハンドル
□投稿者/ furu (230回)-(2024/05/28(Tue) 14:56:55)
No103140 (Hongliang さん) に返信
> Escape関数の第1引数はデバイスコンテキストへのハンドルらしいので、
> e.Graphics.GetHdc()
> が返すIntPtrを渡せばよさそうに思えます。
Hongliangさん、ありがとうございます。

うまくいきました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ