keichanぶろぐ

目次

Blog 利用状況

ニュース

FF XI

Profile

初音ミク

iKnow!

記事カテゴリ

書庫

日記カテゴリ

3ds Max で .NET ~カレンダーコントロールを貼り付けてみる~

今回は MAXScript リファレンスにのっとってフォームにカレンダーコントロールを貼り付けてみます。



rollout dotNETsample ".NET Sample" width:200 height:220
(
 -- カレンダークラスを作成
 dotNetControl calendar "MonthCalendar" width:180 height:200
 
 
 -- カレンダーの MouseDownイベントハンドラ
 on calendar MouseDown sender val do
 (
  if val.Button == (dotNetClass "MouseButtons").Left do
  (
   format "in mousedown handler: sender: %\n" sender
   format "in mousedown handler: arg: %\n" val
  )
 )
 
 -- 起動時に処理する物
 on dotNETsample open do
 (
  calendar.ForeColor = calendar.ForeColor.Pink -- 前景色をピンク
 )
)
createDialog dotNETsample



今回のサンプルではダイアログに表示させるので、rollout() と createDialog を使用しています。

rollout は一画面を構成するクラスであると解釈していただければ問題ありません。

内部にコントロールインスタンス生成、イベントハンドラ等の処理が記述できます。

今回は dotNETsample ロールアウトのオープン時にカレンダーコントロールの前景をピンクに、

calendar コントロールでクリックされた時に引数 sender, val の型情報をリスナーに出力しています。



<<出力結果>>
in mousedown handler: sender: dotNetControl:calendar:System.Windows.Forms.MonthCalendar
in mousedown handler: arg: dotNetObject:System.Windows.Forms.MouseEventArgs



はい。ちゃんと出てます。


また、イベントハンドラの引数は省略できます。
on calendar MouseDown do ()  -- 引数を一切使用しない場合
on calendar MouseDown val do () -- EventArgsパラメータだけ使用したい場合
on calendar MouseDown sender val do () -- SenderObjectとEventArgsパラメータを使用したい場合

上記3パターンで記述することが可能なので、状況に応じて使いわけると判りやすくていいかもしれません。

 

つづく...

投稿日時 : 2007年8月27日 18:01

コメントを追加

No comments posted yet.
タイトル
名前
URL
コメント