最後に、ボタン操作時の動作を作成します。Initialize関数中にて、btnOKへActionListenerを割り当てているので、これに対応した関数を作成すると共に、ActionListenerで示したように各コントロール用の処理としてbtnOK_actionPerformed関数も合わせて定義します。
まず、追加するコードを下記に示します。
mdlEditPerson
Private Sub btnOK_actionPerformed getValues flgUpdate = True oDialog.endExecute End Sub Private Sub dlgEditPersonActionListener_actionPerformed(oEvent) Select Case oEvent.Source.getModel().Name Case "btnOK" btnOK_actionPerformed Case Else End Select End Sub Private Sub dlgEditPersonActionListener_disposing: End Sub
各関数の説明をします。
- Sub btnOK_actionPerformed
コントロールの値をデータに記録し、データが変更されたことを認識するためのフラグをTrueにしてからダイアログを閉じます。 - Sub dlgEditCategoryActionListener_actionPerformed(oEvent As ActionEvent)
引数のActionEventオブジェクトから実行元のコントロール名を取得し、各コントロール毎の処理に振り分けます。ここでは、1つしかないので、奇異に感じられるかもしれませんが今度のダイアログと書式を合わせるためにあえて処理を分けてあります。 - Sub dlgEditCategoryActionListener_disposing
ダイアログを終了時、ActionListenerを破棄するタイミングで実行される関数ですがこのダイアログでは必要ないので空白のままとます。但し、ActionListenerは必ずこの関数を実行しようとしますので、空白のままでも宣言しておかないとエラーになります。
以上で分類編集ダイアログの完成です。
このダイアログの動作確認をするために、仮のデータを1つ入力して以下のマクロを実行してみます。表示されたダイアログで値を変更し、設定後正しく変更内容が反映されているか確認してみて下さい。
mdlMain
Sub Test Initialize mdlPerson.LoadAll If mdlEditPerson.Show(1) Then mdlPerson.SaveAll End Sub
テーマ:OpenOffice.org - ジャンル:コンピュータ
この記事にトラックバックする(FC2ブログユーザー)