「Windows API」の版間の差分

編集の要約なし
(typo)
 
 
;TEXT() とは何か
 
<code>TEXT("テスト")</code>のように <code>TEXT()</code>とありますが、これは何かというと、単にWindows独自の関数(のようなもの)で、カッコ内にある二重引用符 「"」 と 「"」 で囲まれた文字列を、文字型だと認識される機能のものです。
 
これが必要な理由は、単に、最近のWindowsの開発者が、文法をそう決めたからです。
ネット上には<code>TEXT()</code> の存在意義について、「Unicodeがどうこう」とか「リテラルがどうこう」とか、もっともらしい理屈が転がってますが、しかし本当の理由は マイクロソフト社が単に、<code>TEXT()</code> という記法を採用したというだけに過ぎません。
 
 
たぶん、マイクロソフト社でVisual Studioコンパイラを作っている人にとっては、こういう記法があったほうが、コンパイラ内での二重引用符「"」 と 「"」 の管理の実装がラクなのでしょう。プログラム上では、文字列を使うたびに何度も「"」を使用しますので、この「"」が文字列の始めの「"」か、それとも終わりの「"」なのかを<code>TEXT()</code>という文法を使わずに判別できるコンパイラを製作することは、きっと、メンドウくさいのでしょう(原理的には不可能ではないが)。
 
いっぽう、<code>TEXT()</code>という記法があれば、<code>TEXT(</code>の後に1回目にくる「"」は必ず、文字列の開始をあらわす記号だと分かります。このため、コンパイラを作りやすくなります。
 
 
;コールバック関数
さて、コールバック関数の冒頭の「WndProc」の部分は我々が変更できる関数名ですが、初期設定をウィザードで自動作成したときに、この名前になります。
 
20,150

回編集