Thread Rating:
  • 399 Vote(s) - 2.76 Average
  • 1
  • 2
  • 3
  • 4
  • 5
オブジェクトの選択
09-16-2011, 02:30 PM, (This post was last modified: 09-16-2011, 03:08 PM by umemura.)
#1
オブジェクトの選択
VBox 内の複数のFrameをマウスで選択させたいと思っています。
スケジューラーなどにあるタイムラインのようなイメージです。

DiscreteGraphicSelectionFrame を利用すれば簡単に実装できること思いますが、
マウスの範囲選択線を表示させないようにすることは可能でしょうか。

また、選択されたFrameは、GraphicSelectableDrawStyleで指定できる mask や、 invert ではなく、
特定の色(青色を想定)に塗りつぶしたいです。
もちろん、この色は、選択を解除されたら、元の色(白色を想定)に戻したいです。

よい方法があれば教えてください。
09-16-2011, 02:52 PM, (This post was last modified: 09-16-2011, 02:53 PM by nmyzk.)
#2
RE: オブジェクトの選択

以前ちょっとした検証で似たようなものを作ってみようとしたのですが、
イベントのハンドリングが想像以上に複雑で挫折しました。。。

そのうちVer8でマウスジェスチャーが実装されると聞き、
それで出来るようになるかと思ったのですが、
OS依存のためXPなどでは出来ないようですね。


開発中途で申し訳ないのですが、
参考までに途中まで作成したサンプルを添付します。
もしお役に立つのであればご参照ください。


Attached Files
.zip   start.zip (Size: 5.12 KB / Downloads: 586)
09-16-2011, 06:12 PM,
#3
RE: オブジェクトの選択
overdraw-selection メソッドのオーバーライドをすることでマウスの選択線を消すことができました。

Code:
{define-class public CustomDiscreteGraphicSelectionFrame {inherits DiscreteGraphicSelectionFrame}
  
  {constructor public {default ...}
        {construct-super ...}
  }
  {method public {overdraw-selection g:Graphic, gc:Renderer2d}:void
    {if g != self then
        {super.overdraw-selection g, gc}
    }
  }
}

nmyzk さんのコードも別途参考にさせていただきます。
ありがとうございました。

Forum Jump:


Users browsing this thread:
1 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('280')