Difference between revisions of "LCL Messages/ja"

From Free Pascal wiki
Jump to navigationJump to search
m
m
Line 3: Line 3:
 
{{Japanese Menu}}
 
{{Japanese Menu}}
  
Thumb rules:
 
  
 
メッセージはVCLとの互換性のために存在します。
 
メッセージはVCLとの互換性のために存在します。
メッセージはwin32メッセージのように見えますが、パラメータとフラグをサポートしているにすぎません。
+
メッセージはwin32メッセージと同等のように見えますが、パラメータとフラグをサポートしているだけですが、これは、
それらは、サードパーティ製のものも含めて、既存のVCLコントロールに共通的に使われているからです。
+
サードパーティ製のものも含めて、既存のVCLコントロールに共通的に使われているからです。
  
共通的に使われていない、独自に利用するフラグは、インターフェースの実装を難しくします。
+
win32メッセージのように、独自に意味を付けするフラグを利用すると、インターフェースが分かり難くなります。
 
つまり、メッセージを追加する前に十分な思慮が必要です。
 
つまり、メッセージを追加する前に十分な思慮が必要です。
  
多くのメッセージは、読みにくい定数と、ちょっとした値を使い、インターフェースに用いられます。
+
多くのメッセージは、読みにくい定数と、小さな値を使って、インターフェースで利用されています。
Windowsはメッセージの順序を正確に決めることはありません。
+
また、Windowsはメッセージの順序を正確に決めることはありません。
  
(訳注:たとえば、Windows95系(95/98/ME)とNT系(NT,2000,XP)ではメッセージの順序や発生するかどうか自体も異なるものがあります。WindowsはGUI、メッセージについては基本的な仕様はとても複雑でOSの混乱をアプリケーションが収拾しないといけない「おまじない」を入れなくてはいけないことが時々あります。)
+
(訳注:Windows95系(95/98/ME)とNT系(NT,2000,XP)ではメッセージの順序や発生するかどうか自体も異なるものがあります。WindowsはGUI、メッセージについては基本的な仕様はとても複雑で、OSの混乱を互換性のためにアプリケーションが収拾しないといけないことが、Windowsでは時々あります。)
  
 
Lazarusが目標とすることは、すべてのメッセージを、メソッドに置き換えることです。
 
Lazarusが目標とすることは、すべてのメッセージを、メソッドに置き換えることです。
 
たとえば、コントロールはサイズを変更するにあたって、WMSizeのかわりに、DoOnChangeBoundsを使うことができます。
 
たとえば、コントロールはサイズを変更するにあたって、WMSizeのかわりに、DoOnChangeBoundsを使うことができます。
  
現在、LCLがメッセージをインターフェースに送るのは、たいへんまれなケースのみです。
+
現在、LCLがメッセージをインターフェースに送るのは、たいへん限られたケースです。
事実として、VCLの共通な利用のみで使っているくらいです。
+
実際には、VCLの共通な利用で使っています。
  
 +
現在、インターフェースにおいて、たくさんのメッセージを一時的にLCLに送ることがあります。これらは、近いうちに整理されて減らされるべきです。LCLにおいて、よりよい関数を作るなら、メッセージを送ったほうがよいでしょう。この方法のパラメータは、よく定義されており、すべてのインターフェースは同じ方法でメッセージを作成します。
  
At the moment the interfaces send many messages to the LCL. This amount should
 
be reduced in future. Better create a procedure in the LCL, that will send the
 
message. This way the parameters are well defined and all interfaces creates
 
the messages the same way.
 
  
 +
メッセージ:
  
The messages:
+
;Interface -> LCL -> WMSize, WMMove : インターフェースから、LCLコントロールに境界の更新の通知メッセージを送ります。LCLやいくつかのインターフェースのauto aligningやsizingの機能によって、これらのメッセージは、いつもリサイズされた場合に送られるとは限りません。LCLコントロールの境界とインターフェースの境界をを厳密に区別してください。混同してはいけません。
 
 
;Interface -> LCL -> WMSize, WMMove : Send from the interface to tell the LCL control to update its bounds. Because of the auto aligning/sizing features of the LCL and some interfaces, these messages are not sent everytime a HandleObject is resized. So, either trust the LCL bounds OR the interface bounds, but don't mix.
 

Revision as of 09:59, 5 August 2006

English (en) | 日本語 (ja) | slovenčina (sk)

日本語版メニュー
メインページ - Lazarus Documentation日本語版 - 翻訳ノート - 日本語障害情報


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

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

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

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

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

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

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


メッセージ:

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