問題タブ [taskdialog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
249 参照

winapi - TaskDialog の幅の指定

関数を介してタスクダイアログを使用していTaskDialogIndirectます。

cxWidthダイアログの幅が構造体のフィールドで指定した幅のちょうど 2 倍であることを除いて、すべてが期待どおりに機能しますTASKDIALOGCONFIG

関連コード:

ドキュメントによると、これはcxWidthダイアログ単位の幅です。

上記のコードでは、ダイアログの幅が 150 ではなく 300 ピクセルになっています。これは、1 つの水平ダイアログ ユニットが 2 であることを意味し、非常に小さいように見えます。

タスク ダイアログの幅を明示的に指定したい場合、どうすればよいですか? この場合、1 つの水平ダイアログ ユニットが常に 2 であるという事実に頼ることはできないと思います。

0 投票する
1 に答える
168 参照

multithreading - Delphi でタスク ダイアログが閉じられた理由を特定する

私の Delphi アプリケーションの一部は、別のプログラムからの情報にアクセスします。実行には時間がかかり、他のプログラムが応答しない場合があるため、コードのその部分を別のスレッドで実行します。

バックグラウンド スレッドの進行状況をユーザーに知らせるために、スレッドの開始後に TaskDialog を実行します。TaskDialog へのポインターをスレッドに渡し、スレッドが TaskDialog と同期してスレッドの進行に合わせて更新できるようにします。スレッドが終了したら、次を使用して TaskDialog に終了メッセージを送信しますPostMessage(CurrentTaskDialog.Handle, WM_CLOSE, 0, 0);

これまでのところすべてが機能していますが、ユーザーが TaskDialog の [キャンセル] ボタンをクリックした場合 (TaskDialog の唯一のボタンです)、プロセスをキャンセルしたいと考えています。私はそれを行う方法を理解できません。ユーザーがボタンをクリックしても、TaskDialog が終了メッセージを受信して​​も、ModalResultは常にmrCancelです。スレッドで別のを割り当てようとModalResultしましたが、それでも として評価されmrCancelます。

これを達成する方法はありますか?