« 2004年1月 | トップページ | 2004年4月 »

2004.02.18

cocoaの座標系

少し前に macosx-dev-jp のメーリングリストで話題になったが、
cocoa では座標系の原点が左下になっている。そのためいろいろと
混乱を起こした。

状況によって一部項目を隠すためにウィンドウのサイズを変更する
処理を追加したところウィンドウを小さくすると位置が下がってし
まう。高さを変えているのが原因で左下に原点があるのでそれを考
慮して補正が必要。サイズを変えた分だけ上に移動することでOK。

中のコントロールの位置は InterfaceBuilder の登録時に Size パ
ネルの設定でした部分をバネ表示にすることで上からの距離固定に
できる。ウィンドウについても同じような設定できればいいが個別
に設定しないと駄目。


| | コメント (0) | トラックバック (0)

2004.02.11

Cocoaフレームワークでの失敗1

久々の書き込みとなってしまった。

早速失敗したのでそのことについてメモしておこう。

今作っているソフトはユーザーインターフェースがちょっと特殊な
ので色々と厄介ごとがある。
一番困るのはマウスのクリックに先行入力(と読んでいいのか?)
ができること。ボタンクリック後は1秒間操作禁止の必要ありなの
でどう対応するか?

昔ハイパーカードでやったように上から大きな透明ボタンをかぶせ
ておく方法を試みるがうまくいかない。ところが透明ボタンを表示
していてもしたのボタンにイベントがわたってしまう。

いろいろと試してみたが、インターフェイスビルダーで作った時の
前後関係は実際のクリックを受け取る順序と一致していないようだ。

macosx-dev メーリングリストでの助言のおかげでボタンのサブクラ
ス化により解決できそうと教えてもらう。それをベースに対処がで
きた。

取りあえず目先の問題は解決したが、イベント処理の順序について
は少し勉強が必要。


| | コメント (0) | トラックバック (0)

« 2004年1月 | トップページ | 2004年4月 »