ビジュアライゼーションでのダイアログの呼び出し
ビジュアライゼーションのユーザー入力を構成して、ビジュアライゼーションをダイアログとして開くことができます。たとえば、ユーザーがボタンをクリックすると、ダイアログが開き、値の入力を求められます。ダイアログはユーザー入力を取得するために使用され、(モーダルの場合)ダイアログ外の入力をブロックできます。
の視覚化のみ ダイアログ 視覚化タイプはダイアログとして開くことができます。で視覚化タイプを構成します プロパティ 視覚化オブジェクトのダイアログ。
要件:メインの視覚化とダイアログがプロジェクトに存在します。
を使用して、メインの視覚化のユーザー入力を構成します。 OpenDialog ダイアログのアクション。
ダイアログオープニングが設定されます。
ダイアログの要素のユーザー入力を構成します。 CloseDialog アクション。
ヒント:非モーダルダイアログの場合、ダイアログの外側で閉じるようにユーザー入力を構成することもできます。
ダイアログを閉じるように設定されています。
ヒント
独自のダイアログを作成する代わりに、ライブラリのダイアログを使用できます。たとえば、 VisuDialogs
ライブラリはプロジェクトに統合されており、含まれているダイアログを使用できます VisuDialogs.Login
また VisuDialogs.FileOpenSave
。
の中に デバイス 表示し、オブジェクトを選択し、コンテキストメニューを開いて、をクリックします 。
クリック 視覚化 タブ。
を選択 ダイアログ オプションをクリックしてクリックします わかった ダイアログを閉じます。
視覚化には ダイアログ 視覚化タイプであり、そのように呼び出すことができます。
ダイアログ呼び出しの場合、ユーザーは通常、ダイアログを開いて入力を求めるボタンをクリックします。
次の例では、ダイアログがカレンダーとして表示され、日付を入力できます。
要件:プロジェクトには視覚化が含まれています visMain
と dlgCalender
。
から視覚化タイプを設定します
dlgCalender
ダイアログに。長方形をビジュアライゼーションにドラッグします
visMain
。を構成します
テキスト付きのプロパティDue date: %t[yyyy-MM-dd]
。を構成します
とのプロパティPLC_PRG.dateDue
。ボタンをビジュアライゼーションにドラッグします。
を構成します
テキスト付きのプロパティOpen dialog
。を構成します ダイアログを開く とのアクション
のプロパティdlgCalender
。ダイアログを開くためのユーザー入力が構成されます。
ダブルクリック
dlgCalender
ダイアログ。ドラッグ 日付ピッカー 視覚化エディタへの要素。
を構成します
とのプロパティDue date: %t[yyyy-MM-dd]
。を構成します
とのプロパティPLC_PRG.dateCalender
。要素が構成されます。
ボタンを視覚化エディタにドラッグします。
を構成します
とのプロパティOK
。を構成します ダイアログを閉じる とのアクション
のプロパティdlgCalender, Result: OK
。別の構成 STコードを実行する とのアクション
のプロパティPLC_PRG.dateDue := PLC_PRG.dateCalendar;
。ダイアログを閉じるためのユーザー入力が構成されます。
別のボタンを視覚化エディタにドラッグします。
を構成します
とのプロパティCancel
。を構成します ダイアログを閉じる とのアクション
のプロパティdlgCalender, Result: Cancel
。ダイアログをキャンセルするためのユーザー入力が構成されます。
アプリケーションをコンパイル、ダウンロード、および起動します。
変数宣言
PROGRAM PLC_PRG VAR dateDue : DATE := DATE#2000-01-01; dateCalendar : DATE; END_VAR
アプリケーションコードまたはアプリケーションからダイアログを開くことができます。簡単にアクセスするには、 VisuUtils
図書館。開いたとき VisuUtils
ライブラリマネージャーでは、ライブラリの内容をスキャンして、ライブラリのドキュメントにアクセスできます。
機能ブロックを使用してダイアログを開閉することができます FbOpenDialog
、 FbOpenDialogExtended
、 と FbCloseDialog
図書館から VisuUtils
。ダイアログが開いているか閉じている場合 グローバルに、次にパラメータ itfClientFilter := VU.Globals.AllClients
機能ブロックが呼び出されたときに設定する必要があります。次に、ビジュアライゼーションマネージャの下に設定されているすべての表示バリアントでダイアログが同時に表示または非表示になります。
ヒント
の CODESYS V3.5 SP10以前では、内部ダイアログマネージャの機能を使用することによってのみ、ダイアログへのプログラムによるアクセスを実装できました。 V3.5 SP11以降では、 VisuUtils
図書館。
このサンプルプロジェクトでは、「」のインターフェイスを介してプログラムでダイアログにアクセスします。Visu Utils
」ライブラリ。ここでは、ダイアログを開いたり、ダイアログにパラメーターを渡したりする方法がどのように実装されているかを確認できます