• ベストアンサー

クリスタルレポートのプレビュー画面を常に手前に表示しておく

VB6.0 SP5 で クリスタルレポートの帳票を 作っています。 今、プレビュー画面が開いているFormのうしろに回り込んでしまうという現象が起きていて、これを防ぎたいのですが、どなたか良い方法を知りませんでしょうか?

  • GBSGBS
  • お礼率36% (370/1012)

質問者が選んだベストアンサー

  • ベストアンサー
  • Futosi
  • ベストアンサー率46% (23/50)
回答No.2

VB6.0ではuser32.dllのAPIを使う必要があります。 Declare Function SetWindowPos Lib "user32.dll" (ByVal A As Long, ByVal B As Long, ByVal C As Long, ByVal D As Long, ByVal E As Long, ByVal F As Long, ByVal G As Long) As Long これを標準モジュールの文頭に貼り付けてください。 要は7個のLong引数を持った関数です。 あとは、常に手前に表示したいもののハンドルをAに代入してこれを呼び出します。 デザイン時のオブジェクトなのでハンドルはhWndプロパティで簡単に出ますね。 以下はFrmReportフォーム(フォームオブジェクト)を最前面に持っていく処理です。 Re = SetWindowPos(FrmReport.hWnd, -1, 0, 0, 0, 0, 1 or 2) 解除したいときは以下を実行します。 Re = SetWindowPos(FrmReport.hWnd, -2, 0, 0, 0, 0, 1 or 2) B以降を触ると様々な効果がありますが、それはAPIを勉強すればすぐに分かりますね。 ただ使うだけならこれで十分です。

GBSGBS
質問者

お礼

丁寧な回答ありがとうございます! 早速、試してみます!

その他の回答 (2)

  • Futosi
  • ベストアンサー率46% (23/50)
回答No.3

補足です。 下のURLのものでよかったら参考にしてください。 クリレポのプレビュー画面のハンドルも分からないようですね。 触ったことがないのでよく分かりませんが、クリレポのプレビューを 呼び出す処理を教えて頂ければ、ハンドルの取得方法を探してみますよ。 呼び出す処理に必要なもの ●使用しているコンポーネント (Crystal Analysis Common Controls 1.0を呼び出したら6つのオブジェクトが 出てきたのですが、どれを使用したらプレビューが出るか) ●そのコンポーネントで最低限の(簡単な)プレビューを表示する方法

参考URL:
http://www.bh.wakwak.com/~doji/topmost.zip
  • mfuku
  • ベストアンサー率50% (173/345)
回答No.1

プレビュー画面を表示したあとに、 プレビュー画面のフォーム名.SetFocus あるいは プレビュー画面のフォーム名.ZOrder 0 とすればOKです。 例) frmPreview.Show frmPreview.Setfocus

GBSGBS
質問者

補足

回答ありがとうございます。 プレビュー画面のフォーム名が分からないのですが・・? VBのフォームではなく、クリスタルレポート自身の プレビュー画面なのですが、その場合フォーム名は 何になるのでしょう? また プレビュー画面のフォーム名.SetFocus あるいは プレビュー画面のフォーム名.ZOrder 0 は、どこに記述すればよいのでしょうか?

関連するQ&A

  • クリスタルレポートでプレビュー表示

    VB6とクリスタルレポートを使って、印刷画面を作っているのですが、 VB画面の印刷ボタン押下時に、プレビュー画面を出したいのですが、 出し方がわかりません。 どのようにしたら、プレビュー画面を出すことが出来るのでしょうか。 よろしくお願いします。

  • クリスタルレポートのプレビュー

    こんにちわ。 VB6SP5からクリレポ8.5を出力しています。 プレビュー表示の倍率を任意に指定する方法は あるでしょうか? 100%だと画面をはみ出してしまう帳票なものですから… 教えてください。 宜しくお願いします。

  • VBとクリスタルレポートについて

    VBとクリスタルレポート8を使い帳票を作ったのですが VB側である条件によりクリスタルレポートの接続先を変更したいのですが なんどやってもサーバはまだ開かれていませんと言うメッセージが出てしまいます。 接続はオラクル9接続なのですが分かる方いましたらよろしくお願い致します。 ちなみにプレビューにはCRViewerを使用しているのですがエラーはCRViewerから出ているっぽいのですが・・・・

  • クリスタルレポートが表示されない

    VB5.0からクリスタルレポートを呼び出してプレビューを表示していたのですが、マシンの環境によってか、一瞬表示されるがすぐ閉じてしまいます。 また、今まで表示されていたのに急に上記のようになってしまいました。(開発中に) メモリやリソースが不足しているのでしょうか?

  • クリスタルレポート

    今クリスタルレポートを使っています。 他人の作った帳票のレイアウトとソースがあります。 データベースを選択してやれば、帳票に印刷できるのですが、選択の仕方が 分らず困っております。クリレポのデータベースエクスプローラから選択してやればいいのでしょうか。どなたか詳しい方教えていただけませんでしょうか。 お願い致します。 VBは6.0で、オラクルは8iの8.1.6です。 クリレポは8.5を使用しています。

  • クリスタルレポートで0件時の表示

    おせわになっております。 ここには、初めて質問させていただきます、 よろしくおねがいします。 クリスタルレポート(VB2003付属)で帳票を作成しているのですが DBとクエリはACCESSで行い、表示のみクリスタルレポートを使用 しております。 金額の合計を表示するレポートを作成したのですが、 クアリの結果が0件(該当レコード無し)の場合 クリスタルレポートの表示が空白になってしまいます。 私としては、金額なので0円(¥0)を表示したいのですが 方法がわかりません。 どなたか、教えていただけると、ありがたいです。 よろしく、お願いします。

  • クリスタルレポート8でのFormula??たすけてください。

    開発環境 windows2000 SP3 visualbasic6.0 SP5 crystlreport8.0 今クリスタルレポート8で アクセスのMDBのテーブルの中身を レポートに出力しています。 テーブルの中身には Aグループ Bグループ Cグループ  の3つが全て入っているとして VBからクリスタルレポートを出力する際に ワークテーブルに全レコードが入った状況で クリスタルレポートに出力する際に Aグループだけを出力させたいのですが そのようなことは可能でしょうか? 可能であれば方法を教えて下さいませんでしょうか? Formulaというのをちらっと耳にしたのですが 何のことやら・・・涙 元のワークテーブルに対象のレコードだけを 入れておいて全件出力すればよい話なのですが それは今できない状態です。 よろしくお願いします。

  • アクティブレポートで複数のレポートを表示したい

    VisualBacis6.0で帳票はActiveReportsVer1.5Jを使用しています。 ActiveReportsでレポートを作成してプレビュー画面を出し印刷を行う プログラムを作っています。 そこで複数(1頁もの)のレポートを1つのプレビュー画面で出したい んですがやり方がわかりません。 プレビューで1頁となると1つ目のレポート、2頁目で2つめのレポート と言うふうに出せるのでしょうか?今のところ、1つのプレビューに 対して1つしかレポートが出せないようなので、頁が変わるたびに 1つのレポートに対して編集するというやり方、プレビュー画面を複数 用意する方法など考えています。 説明がわかりにくくてすみません。 やり方はいろいろあると思いますが、どなたか教えていただけないでしょうか? どうぞよろしくお願いします。

  • クリスタルレポートからPDFを作るには?

    VB6.0(SP6),Crystal Report8.5 で開発をしています。 クリスタルレポートからPDFファイルまたはJPEGファイルが作りたいのですが、方法が全然分からず困っています。 何かご存知の方は教えてください。 そもそも8.5ではそういう事が出来るのでしょうか? また、クリスタルレポートからの印刷時、プリンタにAdobePDFを指定すればPDFファイルは作れるのですが、その際、ファイルの保存先を聞くウィンドウが表示されてしまいます。 ユーザ操作なしにPDFを作りたいので、このようなウィンドウを表示させなくする方法をご存知でしたら教えてください。 宜しくお願いします。

  • クリスタルレポートについて

    VB.NETで作成していて、SQLから抽出したデータをグローバル配列変数に持っています この内部配列に持っているデータをクリスタルレポートに印刷するにはどのようにすれば可能でしょうか? それとクリスタルレポートの作成方法や進め方マニュアルやお勧めWebサイトなんてのはあるのでしょうか? 初めてなのでヘルプをみても使い方が判りづらいので よろしくお願い致します

専門家に質問してみよう