Previous: 今日登場する重要なイベント構造体のメンバー
Up: Xウィンドウ・プログラミング
第5回 ウィンドウのプログラミング・スタイル
Previous Page: 今日登場する重要なイベント構造体のメンバー
Next Page: Xウィンドウ実習
第6回 マウスからイベントを受け取る
今日のプログラムには、ButtonPress とか、 ButtonPressMaskとか、
やたらと長い言葉が出てきてまごつくかもしれません。
これらのマクロはインクルード・ファイルの中で
#define文を使って定義されています。
Xlibでプログラムを作るときには、
特別な意味を持つ約束です。 while( True ) の True もマクロです。
実際には数値の1ですが、
「無限ループだ」という意味をわかりやすくするために、
わざと言葉による表現を使っているのです。
プログラムを書いた人の意図をはっきりさせ、
他の人が見ても理解し易いようにするのは非常に重要なことです。
なお、マクロ定義には単純な数値だけではなく、
簡単な計算の手順も登録することができます。
そのようなマクロは、引数の与え方など見かけ上は関数のように取り扱えます。
既に登場した DefaultRootWindow()などがその例です。
今日登場する重要なマクロ定義イベント・マスク ButtonPressMask ……… マウス・ボタンのクリックを受け取る イベントのタイプ ButtonPress ……… マウス・ボタンが押された(クリック) その他 True ……… 常に正しい条件(無限ループを作る)