Metasequoia BBS

| New message | Normal | Tree |
Status
Tag
Keyword
[4011] MQStationPlugin::WindowCloseが効かない / tamachan
[Request] Response
今コマンドプラグインを作っているのですが、コマンドボタンの押し状態が解除されません。
WindowClose()を呼んでもボタンの押し込み状態のままです。

ソース(☓ボタン、またはINボタンを押してください):
http://code.google.com/p/goz-metaseq/source/browse/
サンプルx64プラグイン(☓ボタン、またはINボタンを押してください):
http://goz-metaseq.googlecode.com/git/GoMetaseq/GoMetaseq64-alpha1.dll
2014-01-09 18:43
[4021] Re: MQStationPlugin::WindowCloseが効かない / Administrator
WindowClose()はStationプラグインのための関数で、Commandプラグインでは用いません。

Commandプラグインで操作用ウィンドウを作る場合、Metasquoia4で最も推奨される方法は
Activate()でTRUEが来たときに例えばTestWindowがMQWindowを継承するクラスとして
TestWindow *win = new TestWindow(MQWindow::GetSystemWidgetID(MQSystemWidget::OptionPanel));
のようにオプションパネルを参照するMQWindowを作成し、そこにボタンなどを作成し、
FALSEが来たらそのウィンドウをdeleteするというものになります。

ウィジェットを用いずに独自に直接WindowsAPIで作成する場合、ウィンドウスタイルからWS_SYSMENUを外して
×ボタンは表示せずにそのウィンドウを閉じられないようにするのが正解になります。
2014-01-10 18:50
[4025] Re: Re: MQStationPlugin::WindowCloseが効かない / tamachan
Tag has been changed from [Bug report] to [Request].
押し状態を解除するAPIかMQSendMessageのメッセージを新設してもらえないでしょうか?(閉じられないウィンドウは邪魔であまり好きじゃないです)
あとボタン絡みの違う問題なのですが、ZBrushからメタセコイアへGoZで転送したのを、メタセコ側のコマンドプラグインの定期タイマーで検知して、コマンドボタンをチカチカ(来ましたよー的に)させたいです。ボタン点滅APIもできれば新設して欲しいです。それが無理ならばコマンドボタンの文字列を書き換えるAPIでもいいので欲しいです。

# 将来的のバージョンではMQWindowを使うつもりですが、定期タイマーなどが面倒そうだったので今回は手慣れたWTLを使いました。
2014-01-11 00:35
[4038] Re: Re: Re: MQStationPlugin::WindowCloseが効かない / Administrator
Commandプラグインはマウスによって操作するためのモードを切り替えて使用するため、
解除という概念自体がありません。
お使いの目的でしたらStationプラグインで必要に応じてウィンドウを開閉するか、Objectプラグイン呼び出し時に転送する形で実装してください。
2014-01-14 09:49