No.2ベストアンサー
- 回答日時:
>画面も印刷ダイアログボックスも表示することなく印刷を行うことは可能なのでしょうか?
可能です。実現方法としてはダメな例ですが...MFCアプリケーションのSDIでしたら
BOOL CPrintDView::OnPreparePrinting(CPrintInfo* pInfo)
{
// デフォルトの CEditView の印刷準備
pInfo->m_bDirect = TRUE;■追加
return CEditView::OnPreparePrinting(pInfo);
}
BOOL CPrintDApp::InitInstance()
{
...省略
m_pMainWnd->ShowWindow(SW_HIDE);■括弧内修正
m_pMainWnd->UpdateWindow();
m_pMainWnd->SendMessage(WM_COMMAND,ID_FILE_PRINT);■追加
...省略
}
というようにたったの2行追加と1行修正で実現できます(ただ一瞬画面表示があったりプログラムが終了できなかったりと問題はありますが)。
何を印刷したいかにもよりますが、この手のことをするときはMFCよりもSDKかATLでベタに書いてしまった方が楽です(と言ってもMFCでもSDKでもやることは同じですが)。プリントアウトは画面への描画と同じでDCへ書き出すだけですので。
この回答への補足
nitscapeさんの方法で解決できました。
hyde19さんの方法は今後のために知っておいた方がいいと思ったので
ただいま勉強中です。
お二人のおかげで解決&スキルアップすることができました。
丁寧な説明を本当にありがとうございました。
No.1
- 回答日時:
可能です。
画面の表示に関するプログラムを作ってみても、通常そのまま画面にパーツを描画するのは、最初のうちだけです。
画面描画用のメモリを確保(関数を置く)して、そこにパーツを書き込んで行き、パーツが揃ったところで画面に表示させます。これを繰り返す方が、1つ1つ画面に表示させるより、プログラムの動作が速くなるからです。
ということは、メモリの中身を画面に表示する必要性はなく、そのまま印刷機へ出力すれば良い訳です。
モニタに出力するか、紙に出力するかの違いでしかありません。
連続印刷ユーティリティなどファイルを指定して印刷だけをするものもありますしね。
この回答への補足
hyde19さん
回答ありがとうございます!
こんなに早く回答をいただけるとは思ってませんでした。
本当に感謝しています。
画面描画用のメモリを確保?
なんとなくイメージはわかるのですが具体的には???です・・・。
すいません、勉強不足で。
とりあえず画面描画用のメモリを確保というのを調べてみます。
それでもわからなかった場合は申し訳ないのですが
また質問させてください。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Ubuntu22.04、nanoエディタの使い方について 2 2022/10/24 19:50
- PDF 画像調整してスクショし保存した画像をPC画面と同画質で印刷する方法 1 2022/03/31 19:09
- その他(IT・Webサービス) 画像調整してスクショし保存した画像をPC画面と同画質で印刷する方法 3 2022/03/31 19:11
- Visual Basic(VBA) VBAで不特定枚数印刷をしたいです。 4 2022/08/02 07:30
- Excel(エクセル) エクセルの罫線が印刷できない 4 2023/02/04 10:48
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- PDF 画像調整してスクショし保存した画像を印刷する方法 1 2022/03/31 18:42
- その他(Microsoft Office) Excelのマクロについて教えてください。 1 2022/03/25 10:03
- Excel(エクセル) エクセルでキーリストからデータを取り出して1枚1枚印刷するには? 11 2022/06/27 09:52
- Excel(エクセル) セルによって印刷するシートを変える方法 EXCEL-VBA 2 2022/08/01 20:48
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
印刷ダイアログを表示させない方法
-
印刷要求順番と印刷出力順番が...
-
印刷ダイアログを表示させたくない
-
プリンターを指定して印刷するには
-
VBAで印刷スプール終了の判定を...
-
VB6上から印刷ダイアログを表示...
-
A4の2枚をA3の1枚にする編集方法?
-
VBAで印刷の成功判定
-
ご存知の方がいましたら教えて...
-
C++/CLIで印刷する画像が表示さ...
-
EXCELファイルの複数ダウンロー...
-
ActiveReportsを使って[印刷ダ...
-
Eclipseを使ってソースを印刷し...
-
帳票作成、どうしてますか?
-
C++Builder5で画像データを用紙...
-
Accessフォームで全レコードを...
-
ACCESSで設定した帳票の用紙サ...
-
印刷について
-
アクセス 印刷 ツートンカラー
-
VBからのプリンタ制御について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
印刷要求順番と印刷出力順番が...
-
印刷ダイアログを表示させない方法
-
ActiveReportsを使って[印刷ダ...
-
印刷ダイアログを表示させたくない
-
プリンターを指定して印刷するには
-
PDFファイルを印刷し終了するには
-
vbaでPDFファイルが印刷されない
-
VBscriptでPDFファイルを直接印...
-
VBからのプリンタ制御について
-
ACCESSで設定した帳票の用紙サ...
-
イベントプロシージャ 印刷が...
-
EXCELファイルの複数ダウンロー...
-
phpでの自動印刷
-
VBSでExcelファイル印刷時のプ...
-
VBAにて指定したセルをプルダウ...
-
VBAで印刷スプール終了の判定を...
-
プリンタの印刷ジョブを削除し...
-
PHPでPDFファイルの直接印刷
-
A4の2枚をA3の1枚にする編集方法?
-
VBでExcel印刷する時のプリンタ...
おすすめ情報