Top > OOoBasic > Dialog > Example12

色選択ダイアログ Edit

OOo の色選択ダイアログを OOo Basic などから OOo API を介して使用することが出来ません。代わりになるようなダイアログを作成してみます。色情報は user/config/Standard.soc から取得します。

Example12.png

fileColorPicker.odt

主に以下の内容を利用しています。

使い方 Edit

関数として定義してあるので、他の subroutine から呼び出します。

 'ok: colorvalue, cancel: -1
Function ColorTable() As Long

OK ボタンが押された場合、RGB ランタイム関数で long 型として色を返します。また、Cancel ボタンが押されたときは -1 を戻します。

説明 Edit

ちょっとだけ説明。

com.sun.star.xml.sax.Parser サービスを利用して Standard.soc ファイルを読み込んでいますが、ファイルを読み終わるまで項目数が分かりません。OOo Basic では配列に値を追加するような関数が無いので困ります。ReDim Preserve を利用することになりますが実行速度が非常に低下します。

今回はある程度数が分かっているため (初期では 95 程度の色数) 配列を最初は 90 (91) として定義、色数が 90 を超えたときから上記 ReDim を利用します。そうしないとかなり遅いです。


Attach file: fileExample12.png 432 download [Information] fileColorPicker.odt 1225 download [Information]

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes