Sign in Join
Wiki copytemporary

LCL Messages/ja

English · Slovenčina · 日本語

メッセージはVCLとの互換性のために存在します。 メッセージはwin32メッセージと同等のように見えますが、パラメータとフラグをサポートしているだけですが、これは、 サードパーティ製のものも含めて、既存のVCLコントロールに共通的に使われているからです。

win32メッセージのように、独自に意味を付けするフラグを利用すると、インターフェースが分かり難くなります。 つまり、メッセージを追加する前に十分な思慮が必要です。

多くのメッセージは、読みにくい定数と、小さな値を使って、インターフェースで利用されています。 また、Windowsはメッセージの順序を正確に決めることはありません。

Lazarusが目標とすることは、すべてのメッセージを、メソッドに置き換えることです。 たとえば、コントロールはサイズを変更するにあたって、WMSizeのかわりに、DoOnChangeBoundsを使うことができます。

現在、LCLがメッセージをインターフェースに送るのは、たいへん限られたケースです。 実際には、VCLの共通な利用で使っています。

現在、インターフェースにおいて、たくさんのメッセージを一時的にLCLに送ることがあります。これらは、近いうちに整理されて減らされるべきです。LCLにおいて、よりよい関数を作るなら、メッセージを送ったほうがよいでしょう。この方法のパラメータは、よく定義されており、すべてのインターフェースは同じ方法でメッセージを作成します。

メッセージ:

Interface -> LCL -> WMSize, WMMove
インターフェースから、LCLコントロールに境界の更新の通知メッセージを送ります。LCLやいくつかのインターフェースのauto aligningやsizingの機能によって、これらのメッセージは、いつもリサイズされた場合に送られるとは限りません。LCLコントロールの境界とインターフェースの境界をを厳密に区別してください。混同してはいけません。

(訳注:Windows95系(95/98/ME)とNT系(NT,2000,XP)ではメッセージの順序や発生するかどうか自体も異なるものがあります。WindowsはGUI、メッセージについては基本的な仕様はとても複雑で、OSの混乱を互換性のためにアプリケーションが収拾しないといけないことが、Windowsでは時々あります。)


From the Free Pascal wiki, page "LCL Messages/ja", as it stood on 2013-12-22 after a change by Yuichiro Takahashi, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Edited on wiki.freepascal.org by 2 people, 2006–2013

From the official wiki's backup of 26 May 2024: who edited this page there, and when. Edits made there after that date were not recorded, and the earlier versions are not shown here; the main page says why.

WhenWhoWhat changed
Saeka-jp (minor)
Saeka-jp (minor)
Saeka-jp (minor)
Saeka-jp (minor)
Saeka-jp (minor)
Yuichiro Takahashi (minor)

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.