OpenOffice.org Basicでガントチャート
OpenOffice.org Basicを使ってガントチャート作成用マクロ ガントチャートforOOoを開発する手順を紹介していきます。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
getControl - 自作ダイアログにボタンを配置する

自作ダイアログの利用で作成したダイアログにボタンを配置してみます。

IDEでダイアログ編集画面を表示し、「コントロール」アイコンをクリックします。すると、コントロールの一覧が表示されるので、コマンドボタンアイコンをクリックして、ダイアログ上に配置するとボタンが追加されます。
ここで、このボタンをダブルクリックするとプロパティを編集できるようになるので、名前を「btnOK」とします。

完成したダイアログは下図となります。


自作ダイアログの利用で説明したようにコードは「mdlSample」に書きますが、多少改造してみます。

mdlSample
Private oDialog As Object
Private btnOK As Object
 
Sub Show
    
    oDialog = createUnoDialog(DialogLibraries.Standard.dlgSample)
    Initialize
    
    btnOK.Label = "OK"
    
    With oDialog
        .execute
        .dispose
    End With
    
End Sub
 
Sub Initialize
    btnOK = oDialog.getControl("btnOK")
End Sub

内容を説明します。
まず、ダイアログとボタン用の変数を関数の外で宣言する事で、モジュール内の全関数で使用できるグローバル変数とします。
Initialize関数を作成し、ダイアログの設定を行うコードをこちらに集約します。今回は「btnOK」というコントロールを「btnOK」という変数に割り当てる処理を書きました。こうする事で、VBAと同じようにモジュール内でボタンへのアクセスが容易になります。
Show関数にInitialize関数を追加し、ボタンへのアクセスが容易になったことを示す例として、ボタンの表示名を変更する命令を追加してみました。

Module1にて、mdlSample.Showというコードを実行するとダイアログが表示され、ボタンの表示名が「OK」に変わっているのがわかります。

ちなみにVBAでボタンの名称を変更するコードは

btnOK.Caption = "OK"
となります。似てませんか?通常のOOoBasicコードで同様の事をする場合は
oDialog.getControl("btnOK").Label = "OK"
となりますが、これから多くのコントロールを配置していく時に多少不便を感じると思います。人それぞれ好みもあるだろうから、前述の手法が必ず正しいとは言いませんが、VBAに慣れ親しんだ人には見やすいのではないかと思います。

また、表示した時のボタン表示名が「OK(A)」となっていると思います。これはAlt + Aでこのボタンにアクセスできるようになっている事を示しますが、意図しないもので気に入らない人もいるでしょう。これを「OK」としたい、もしくは「OK」としたい場合は下記のようにします

REM Alt+Oでアクセスしたい場合
btnOK.Label = "~OK"
REM OKのみの場合
btnOK.Label = "OK" & "~" & chr(13)
スポンサーサイト

テーマ:OpenOffice.org - ジャンル:コンピュータ

コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://shinob.blog42.fc2.com/tb.php/34-0a963665
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
COPYRIGHT(C) 2004 POWERD BY FC2 ALLRIGHT RESERVED.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。