- このトピックは空です。
-
投稿者投稿
-
2021年6月29日 11:15 AM #59
村上
ゲスト現在、WR2.0からWR3.0へ移行中なのですがプレビューで表示はできるようになったのですが印刷ボタンで印刷と押下しても印刷されないのですがどこか記述に問題があるのでしょうか。
記述:WRRSetPrinterSelectMode(hReport, WRP_MDPREVIEW)、 WRVOpenPreview(hPreview, WR_PREVIEWMODE_OVERLAP)、 WRVReportPrint(hPreview, hReport)2021年6月29日 11:15 AM #60星野@SoftWing
ゲストお世話になっております、ソフトウィング星野です。
プレビューウィンドウからの印刷が行えないとの事ですが、
お手数ではありますが、開発言語をお教えいただけますでしょうか?以上です、よろしくお願いいたします。
2021年6月29日 11:15 AM #61村上
ゲスト投稿の件はWR3AXCL1で記述すると出力できましたWRVOpenPreview関数などで出力はできないのでしょうか。又、プレビュー画面で印刷後、プレビュー画面を自動的に閉じる事は可能でしょうか。
2021年6月29日 11:15 AM #62星野@SoftWing
ゲストお世話になっております、ソフトウィング星野です。
WRVOpenPreview関数などのAPI関数を利用してプレビューを表示した場合のプレビュー印刷を行う方法ですが、
まず、WingReportからのイベントを受け取って処理する関数を宣言していただいて、宣言していただいた関数をWRSetWEventProc関数にてセットしていただく必要があります。次に、プレビュー印刷を行った後にプレビュー画面のクローズを行う処理についてですが、OCX(WR3AXCL)を使用する場合は、PreviewPrintBtnClickイベント内の印刷処理後にクローズの処理を記述していただければと思います。
API関数を使用する場合は、先ほど宣言していただいたイベント処理関数のプレビュー印刷処理終了後にクローズの処理を記述していただくような形となります。以下にイベント処理関数のサンプルを記述いたします。ご参考にしていただければ幸いです。
‘ここからイベント処理関数のサンプルです。
Public Function EventProcess(ByVal lngHandle As Long, ByVal lngEventID As Long, ByVal lngParam1 As Long, ByVal lngParam2 As Long) As LongDim lnResult As Long
Dim lnVal1 As LongSelect Case lngEventID
Case WEVENT_PREVIEW_PRINTOUT
MsgBox “プレビュー印刷ダイアログにおいて【OK】ボタンが選択された場合にCallされます。”, vbOKOnly + vbInformation
Case WEVENT_PREVIEW_NEXTPAGE
MsgBox “プレビューウィンドウの次ページボタンが選択された場合にCallされます。”, vbOKOnly + vbInformation
Case WEVENT_PREVIEW_PREVPAGE
MsgBox “プレビューウィンドウの前ページボタンが選択された場合にCallされます。”, vbOKOnly + vbInformation
Case WEVENT_PREVIEW_TOPPAGE
MsgBox “プレビューウィンドウの先頭ページボタンが選択された場合にCallされます。”, vbOKOnly + vbInformation
Case WEVENT_PREVIEW_LASTPAGE
MsgBox “プレビューウィンドウの最終ページボタンが選択された場合にCallされます。”, vbOKOnly + vbInformation
Case WEVENT_PREVIEW_CANCEL
MsgBox “プレビュー印刷ウィンドウ上のキャンセルボタンが選択された時にCallされます。”, vbOKOnly + vbInformation
Case WEVENT_PREVIEW_PRINTBUTTONCLICK
MsgBox “プレビューウィンドウの印刷ボタンが選択された時にCallされます。”, vbOKOnly + vbInformation
Case WEVENT_PREVIEW_PREVIEWCLOSE
MsgBox “プレビューウィンドウが閉じられた後にCallされます。”, vbOKOnly + vbInformation
Case WEVENT_PREVIEW_PREVIEWQUERYCLOSE
MsgBox “プレビューウィンドウが閉じられる前にCallされます。”, vbOKOnly + vbInformation
Case WEVENT_PREVIEW_PREVIEWMOUSERCLICK
MsgBox “プレビューウィンドウ上でマウス右ボタンがクリックされた時に発生します。”, vbOKOnly + vbInformation
Case WEVENT_PREVIEW_PREVIEWVIEWCHANGE
MsgBox “プレビューの表示方法が変更された時にCallされます。”, vbOKOnly + vbInformation
Case WEVENT_PREVIEW_PREVIEWMOUSELCLICK
MsgBox “プレビューウィンドウ上でマウス左ボタンがクリックされた時に発生します。”, vbOKOnly + vbInformation
Case WEVENT_PRINTER_PRINTCANCEL
MsgBox “印刷ウィンドウ上のキャンセルボタンを選択した時に発生します。”, vbOKOnly + vbInformation
Case Else
MsgBox “未定義のイベント” & ” が発生しました。”, vbOKOnly + vbInformation
End Select
End Function
‘ここまで上記の関数はイベントを受け取るとそれに対応したメッセージボックスが表示されるような形になっております。
以下WRSetWEventProc関数使用例です。
‘ここから
If Not CBool(WRSetWEventProc(AddressOf EventProcess)) Then
MsgBox “WRSetEventProcに失敗”, vbOKOnly + vbExclamation
GoTo LastError
End If
‘ここまで以上です、よろしくお願い致します。
2021年6月29日 11:16 AM #63村上
ゲストご回答有難う御座いました。
又、OCXを使用した際の画面クローズの件で再度質問なのですが
WR3AXCL1_PreviewPrintイベント内にPreview.ClosePreviewと
記述していてプレビュー画面は消えるのですがOCXを置いている
画面とは別の画面を開いている(複数画面)時にプレビュー画面
が消えた後に別画面が裏側に隠れてしまうのですが防ぐ方法はありますでしょうか。2021年6月29日 11:16 AM #64星野@SoftWing
ゲストお世話になっております、ソフトウィング星野です。
クローズ後のフォーカスが意図しない画面へ移ってしまうのを防ぎたいとの事ですが、
PreviewWndCloseイベント内(クローズ後に発生するイベント)にてアクティブにしたいフォームに対しSetFocusメソッドを行っていただければと思います。以上です、よろしくお願いいたします。
2021年6月29日 11:16 AM #65村上
ゲスト解決しました。有難う御座いました。
-
投稿者投稿
- フォーラム「旧サポート掲示板」には新規投稿および返信を追加できません。