VectorWorksSDK 備忘録

VectorWorksのSDK を弄っていると、ドキュメントを見つけにくかったり、 そもそもどこにも書かれてなかったり、訳の判らない挙動に無駄に悩まされたり、 などという無駄なことに労力を使わされて疲れるばかりなので 同じことで何回も悩まなくて済むようにという自分用備忘録です。
Try&Errorで個人的にこうじゃないかと思ったことを書いてるので正確さは全く保証しません。
なにか間違いがありましたらご指摘いただけると幸いです。

Index


Toolパレットにツール名を表示する

リソースファイル(.qtrファイル)に、'Undo'というリソース名の STR# リソースを追加し、その1番目にツール名を書くとパレットにツール名が表示される。 リソースIDは何でも良い。リソースの用意のみで、コードではなにもしなくてよい。


GS_AddTxtBtnModeは使わない

 GS_AddTxtBtnModeには、他のモードグループの後にこれを置くとplugin_mainからのモードイベント処理で 適切なモードグループが渡されないというバグがある。例えば GS_AddRadioMode でラジオボタンを置き その次に GS_AddTxtBtnMode でボタンを置くと、何故かどちらのボタンを押してもモードグループに1が 渡されてきて区別が付かない。逆に、GS_AddTxtBunMode でボタンを配置した後に GS_AddRadioModeでラジオボタンを置くと、 1番目のボタンを押すとモードグループが1、2番目のラジオボタンを押すとモードグループが2、と 正しい値が返ってくる。

 正しい解決方法は GS_AddTxtBtnMode を使わないことだ。VectorWorks純正ツールのモードバーを見ると テキストボタンを使ってるツールは一つもない。代わりにアイコンを用意してGS_AddButtonModeを使うべし。

モードバーに ToolTipsを表示する

リソースファイル(.qtrファイル)に、モードバー上に並ぶボタンの数だけ TEXTリソースを用意する。 TEXTリソースの中身はツール全体のToolTipの ResouceID=128 のTEXTリソースと同じく1行目に見出し、 1行あけて3行目に詳しい記述を書く。
モードバー上に並ぶボタンの数だけTEXTリソースを作ったら左から順に 200、201、202、・・・ と200から始まるリソースIDを割り振る。
リソースの用意のみで、コードでは何もしなくてよい。
copyright©2008 dendrocopos All rights reserved.