• 締切済み

vc++2008の進行状況ダイアログ表示に関して

現在VC++2008にて開発を行っております、C++初心者の者です。 モーダルダイアログを表示し、 そのダイアログの値を利用・表示した進行状況ダイアログを表示したいと考えています。 ・進行状況ダイアログに表示する値  現在作成ファイル数 / 総制作ファイル数  (プログレスバーの表示は考えていません。) ・現在、進行状況ダイアログはモーダレスダイアログを表示し、表示している値をforループ内で変更するような処理にしていますが、ダイアログには何も表示していません。 どのような処理にすればよろしいでしょうか。 宜しくお願いします。

  • 7u7
  • お礼率75% (63/83)

みんなの回答

回答No.2

C++/CLIなら下記参照。BackgroundWorkerによるサンプル。

参考URL:
http://cid-07c558f8e11e708f.skydrive.live.com/self.aspx/WillBeRemovedSoon/Progress.zip
  • akimikayu
  • ベストアンサー率25% (14/55)
回答No.1

モーダルダイアログというのはどういうものか理解してますか。 モーダルダイアログとは、一度開いたダイアログを閉じるまでは、他の操作をできなくするタイプのダイアログのことを言います。 この点から、もう一度どういった方法があるか考えてみましょう。

7u7
質問者

お礼

akimikayu様、ご返答ありがとうございます。 最初にモーダルダイアログを表示していますが、 OKボタン押下で進行状況ダイアログを表示するような処理をしようと考えていました。

関連するQ&A

  • サーバー側の処理の進行状況を表示させる方法について

    どこで質問するべきか迷ったのですがここで質問させていただきます。 はじめて簡単なWebサービスを作っています。作っていて疑問に思ったのことがあったので質問します。 よくWebサービスでユーザーのアクションに対して「保存中です」や「処理中です」のダイアログ等で知らせたり、またその時にプログレスバーなどで処理の進行状況など表示してくれる場合もあると思います。 その実現方法についてどんな方法があるのかという質問です。 サーバー上でphpのプログラムを動かすという前提で考えています。 Ajaxで結果をそのページに表示させるという場合で考えてみました。 私が思いつく方法はユーザーのアクションがあった時に「処理中です」等のダイアログを表示させてjQueryでサーバーのphpを呼び出し、処理が終ったらダイアログを閉じて、結果を表示させるという方法です。 初歩的なことであれですが、そもそもphpの処理が終るのが長い時、jQueryはphpの処理がちゃんと終わってから結果を受け取るのでしょうか? 問題はどうやってphpの進行状態をどうやって受け取るかということだと思うのですが、この実現方法は可能で正しいですか? また、進行状況を表示(現在何%くらいの処理なのか等)プログレスバーで表示させる場合の実現方法が思いつきませんでした。 こちらも呼び出したphpの状況をどうやって受け取るかということだと思うのですが、phpが処理の途中で別ファイルに状況を書き出してそれを一定間隔でjavaScriptが調べにアクセスするとかですか?確実に違うと思いますが。 わかる方回答よろしくお願いします。

  • VC++2008 の中断/再開ボタンについて

    MFCにて開発しております。 forループにて処理を走らせております。 処理時間が長いので、 進行状況ダイアログをモーダレスダイアログにて表示しております。 進行状況ダイアログには中断ボタンが存在し、 中断ボタン押下で処理が一時中断すし、「再開」ボタンへと名称が変わる。 再開ボタンを押下することで、引き続き処理が走る という処理にしたいと考えております。 この中断ボタンの処理ですが、WaitForSingleObject関数を使用しようかと考えておりますが、 どうもMSDNやネットで検索しても、使い方が良くわかりません。 DWORD WaitForSingleObject( HANDLE hHandle, // オブジェクトのハンドル DWORD dwMilliseconds // タイムアウト時間 ); この「HANDLE hHandle」にはどういった形のものを使えば良いのでしょうか。 (HANDLE自体を調べましたが良く意味がわかりませんでした・・・) もしよろしければご教授頂けたら幸いです。

  • vegas 18 進行状況ダイアログに関して

    VEGAS Pro 18.0 OS:windows11 レンダリング時に表示される進行状況ダイアログが表示されなくなりました。 つい先ほどまで表示されていましたが、なんの拍子にか突然表示されなくなり、その後パソコンの再起動、キャッシュの消去、ProgramDataにあるvegas関連のファイルの削除と本体の再インストールなどは試しましたが、解決には至りませんでした。 補足:進行状況ダイアログが表示されていなくてもレンダリング自体は正常に行われているようで、タイムライン左下の進行状況バーとプレビュー画面は進行状況に応じて動いていること、また仕上がった動画も再生可能で編集通りの仕上がりになっていることは確認済み 直前にソフトのフリーズへの対処としてタスクマネージャーからタスクの終了をしたりしましたが、それ自体は普段も頻繁にしているようなことで、これまでこのような状態になったことはありません。 誤操作で進行状況ダイアログが非表示化されてしまっているのかとも思いましたが、設定を見てみたりヘルプで検索してみたりしてもレンダリング開始時からの進行状況ダイアログの表示/非表示の項目は見つけられませんでした。 助言いただけると助かります。 ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。

  • C#で別のフォームのprogress barを操作

    C#で進行状況を表示するプログレスバーを操作したいのですが、 form1にあるプログレスバーをform2から操作しようとすると プログレスバーの値は増えるのですが視覚的に進行状況が進みません。 どのようにすれば他のフォームから値だけではなく進行状況も操作できるのでしょうか? 開発環境:VC# 2005,Windows XP

  • VC++6.0 ダイアログの追加について

    現在,VC++6.0でSDIのプログラムを開発しています. このプログラムのメニューからダイアログを表示させるプログラムを開発したのですが,別のプラグラマーが開発したダイアログベースのプログラムを組み込むことは可能でしようか? また,将来的にダイアログを2つ出してその間で数値のやり取りをさせたいのですが,可能でしょうか? もし可能でしたら教えてください.よろしくお願いします.

  • MFCを使わないで、プログレスバーを表示したい。

    複数のファイルで構成されているフォルダがあって、そのフォルダのコピーを作成する処理を行うとします。 その処理の進行状況を、ダイアログボックス上に貼り付けたプログレスバーコントロールで表示したい と思っているのですが、MFCを使用しない例はネットなどで検索しても見つけることができません。 例えば、フォルダの容量の「現在○○%コピーしました。」とか、それが無理なら全体の何ファイル目を処理 しているかなどを、プログレスバーで表示することは可能ですか。 数値的な表示が無理なら、現在処理中かどうかを表示するだけでも構いません。 ご教授の程、よろしくお願いいたします。 環境:VC++6.0, WIN32 API

  • Accessフォームに進行状況ダイアログを表示したい

    Access2000を使用しています。 DAOでデータ引き当て処理を行なっている最中、進行状況ダイアログ を表示すれば時間の目安が付きやすいと思うのですが、やり方が分か りません。Accessでフォームに表示するのは難しいのでしょうか? ご存知の方、方法もふくめて宜しくお願いいたします。

  • 進行状況表示のウィンドウ

    進行状況表示のウィンドウ ソフトの中である程度時間のかかる処理をしている間、ソフトが固まったように見えるのを防ぐために、進行状況を表示する小さなダイアログボックスを作ろうと思いました。 そして、新しいウィンドウを作る方法は、ダイアログのリソースを作っておいてDialogBox()関数でそれを呼び出すか、ウィンドウクラスを登録してCreateWindow()関数でウィンドウを作る方法と二通りあると思いますが、どちらが向いていますか?? 作るウィンドウには進行状況の%表示とキャンセルボタンを作るだけのモーダルなもので、「時間のかかる処理」は_beginthreadex()関数で別スレッドを立てて行う予定です。 環境は、Visual C++ 2008 のWin32アプリです。

  • ExcelVBA 進行状況ダイアログ

    VISTA Excel2007です。 ある作業のVBAを作成して動かしています。 結構時間が掛るので進行状況をダイアログで表示をしたいのですがどうすればいいのかお教えください。

  • ダイアログボックスの表示

    VC++6.0 MFCでプログラミングをしています。 ボタンを押すことによるダイアログの表示ではなく、ループ中である条件を満たしたときにダイアログボックスを表示したいのですが、ループの中でどのように命令すればよいのでしょうか?

専門家に質問してみよう