
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSで設定した帳票の用紙サ...
-
VBA、AシートとBシートを別々の...
-
VBScriptでエクセル印刷モード起動
-
PHPでPDFファイルの直接印刷
-
ファイルのパス指定での印刷方法
-
画面を表示せずに印刷
-
VBAで印刷スプール終了の判定を...
-
プリンターのトレイの数を取得
-
ウェーブレット変換に関して
-
VBAでOutlookを終了させたい Ex...
-
アプリケーションとコンテンツ...
-
IT初心者です 仕事で、vb.netで...
-
VB.NET(2017)で インストーラを...
-
発行元:不明???
-
Windows PowerShellでC言語を実...
-
う~ん…。
-
デザインタブが表示されない
-
エスケープ・シーケンスによる...
-
意味不明の実行時エラーで困っ...
-
C#VB、exeに埋め込んだexeの実行
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
印刷要求順番と印刷出力順番が...
-
印刷ダイアログを表示させない方法
-
印刷ダイアログを表示させたくない
-
vbaでPDFファイルが印刷されない
-
2回以上PDFをコピーや印刷がで...
-
プリンターを指定して印刷するには
-
PHPでPDFファイルの直接印刷
-
クリレポのプリンタ設定について
-
ACCESSで設定した帳票の用紙サ...
-
VBscriptでPDFファイルを直接印...
-
VBAで印刷スプール終了の判定を...
-
Eclipseを使ってソースを印刷し...
-
VB2005から複合機を使い自動FAX...
-
Javaから直接プリンターへ印刷...
-
C++Builder5で画像データを用紙...
-
VBAで印刷の成功判定
-
F-BASICで印刷データをスプール...
-
オートメーションエラー(214741...
-
VBAで不特定枚数印刷をしたいで...
-
EXCELファイルの複数ダウンロー...
おすすめ情報