2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Magicのズームイベントに変数割当が必要なのはなぜ

Last updated at Posted at 2025-07-11

Magicを始めてからずっと疑問だった点がようやく腹落ちしたので、覚書がてら投稿しておく。

※今年入った新人くんから「QiitaにMagicの記事少なすぎじゃないですか」と言われたので、本数を増やしてみようみたいな気持ちがなくもない。

やりたいこと

  1. オンライン画面に、ボタンを配置。
  2. ボタンを押したら、ズームイベントを発行。

これを実現するためには、以下のステップを踏む必要がある。

  1. フォームにボタンを配置
  2. ボタン用の変数を割当
  3. コントロール名を設定
  4. イベントに「ズーム」を設定

ずっと疑問に思っていたのが、どうして「2. ボタン用の変数を割当」の手順が必要なのか、ということ。

だってボタンに「ズーム」イベントは割り当ててあるし、コントロール名があるんだから特定もできるはず。
にもかかわらず、ボタンを押してもイベントは発行されないのである。うんともすんとも言わないのである。

そもそも「ズーム」って何よ

恐らくはMagicでできてるシステム、カジュアルに「ズーム」が使用されていることが多いと思うんだけど、
(n=2なので経験は少ないが、でもMOSやらGetting Startedやらでも出てくるから一般的なんだろう)
そもそも「ズーム」ってなんなのか。
HELPを見てみましょう…

2_help_zoom.jpg

違う、そうじゃない。
いや、そうなんかもしれないけど、もっと具体的にこうさあ、、、、

と喚いていたら、ベテランMagicianの先輩方から知見を得られた。

それらを経て解釈した「ズーム」イベントについての個人的見解は、
「パーク」しているコントロール上で、「ダブルクリック」や「F5」キー押下をしたときに起きるイベントの総称 である。

重要なのは、「パークしている」という部分。
私も今日まで知らなかったが、変数を割り当てていないボタンにはなんと、パークしないのである!!
…もしかしてみんな知ってた?

まとめ

最初の問いに戻る。
どうして「ズーム」イベントを割り当てたボタンには、「変数」も割り当てないといけないのか。

  1. 「ズーム」は「パーク」しているコントロールに対してクリック/F5等のアクションしたときにおこるイベント
  2. 「変数」の付いていないボタンにはカーソルがパークしない
  3. パークしないコントロール上では「ズーム」イベントが発行されない から

余談

「パーク」もMagician方言らしい。一般的には「フォーカス」っていうらしいですね。
え、私Magic村出身なんですけど、都会の人はパークって言わないんですか?

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?