« TJS2 スクリプトでの吉里吉里2と吉里吉里Zの判別方法 | メイン | 10月のマンスリービルド »

2013年10月02日

吉里吉里Z 開発:: ツールチップの仕様変更

    

Layer.hint で表示されるもの。
吉里吉里内ではヒントと呼ばれている。
VCL のツールチップはコモンコントロールのツールチップとは別実装で振る舞いが違うこととタッチ操作ではツールチップ自体表示されないと言うことから一時ツールチップ機能は無効にしていたものの、なくすのはまずいかと悩んで放置していたままになっていた。
どうするか再考し、少し仕様を変えて実装した。

仕様としては以下

ヒントを設定し、カーソルが一定時間停止しヒント表示タイミングになると Window.onHintChanged(text:string,x:int,y:int,isshow:bool) イベントが発生する。
カーソル停止時間は、property:Window.hintDelay で指定可能。
デフォルトは 500 (msec) 。
この値は元々の値と同じはず。
従来は固定値だったものを変更可能にした。
ヒントを描画するレイヤーには property:Layer.ignoreHintSensing を有効にして、ヒント表示を無視させる。

これで onHintChanged で isshow が true の時、ヒントを最前面レイヤーに描画し、ヒントレイヤーはマウスメッセージは無視されるように設定すれば従来と同じような表示が出来る。
isshow が false でイベントが来たら非表示にする。

従来は、標準の味気ない表示のみだったが、レイヤーに任意に描画可能としたことで、文字のみではなく画像などを用いて表示も可能となるので、良いのではないかと思うが、互換性を維持しようとしたら少し TJS2 スクリプトを記述する必要がある。

この仕様で互換性とれるし、表示変更できるので問題ない?

追記:
互換性を取るための TJS2 スクリプトは公開予定。
テストのためにほぼ互換のものは作成済み。
色とフォントが少し違うので、その辺りはもう少し VCL を追って調査し、ほぼ同じにする予定。



投稿者 Takenori : 2013年10月02日 03:34




comments powered by Disqus
Total : Today : Yesterday : なかのひと