「Windows API」の版間の差分

→‎文字表示の命令: TEXT()とありますが、これは何かというと、単にWindows独自の関数(のようなもの)で、カッコ内を文字列だと認識される機能のものです。 これが必要な理由は、単に、最近のWindowsの開発者が、文法をそう決めたからです。
(→‎文字表示の命令: TEXT()とありますが、これは何かというと、単にWindows独自の関数(のようなもの)で、カッコ内を文字列だと認識される機能のものです。 これが必要な理由は、単に、最近のWindowsの開発者が、文法をそう決めたからです。)
 
なお、TextOut関数は改行を表現できません。改行したい場合は、DrawText関数に改行の機能があります。
 
 
 
<code>TEXT("テスト")</code>のように <code>TEXT()</code>とありますが、これは何かというと、単にWindows独自の関数(のようなもの)で、カッコ内を文字列だと認識される機能のものです。
 
これが必要な理由は、単に、最近のWindowsの開発者が、文法をそう決めたからです。
 
なので、2001年ぐらいの古いWin32APIの技術書を読むと、<code>TEXT()</code> が使われていない書籍もあります(例えば CQ出版社『Win32 API 完全マスター』山本潔 著、2001年3月1日初版、2006年8月1日第8版、41ページのコード「リスト2.2」「定番 hello のプログラム」など)。過去のWin32APIでは、この<code>TEXT()</code>という記法を採用してなかった時代もあります。
 
 
しかし、現在のWin32APIでは、文字列を宣言する際には <code>TEXT()</code> を使わないとコンパイルエラーになる仕様になっているので、
<code>TEXT()</code> を使ってください。
 
 
ネット上には<code>TEXT()</code> の存在意義について、「Unicodeがどうこう」とか「リテラルがどうこう」とか、もっともらしい理屈が転がってますが、しかし本当の理由は マイクロソフト社が単に、<code>TEXT()</code> という記法を採用したというだけに過ぎません。
 
 
 
 
詳しくは、マイクロソフトの公式サイトを参照してください。 [https://msdn.microsoft.com/ja-jp/library/0we9x30h.aspx?f=255&MSPPError=-2147217396 msdn]
 
 
== 図形を塗りつぶすには? ==
20,150

回編集