Difference between revisions of "LCL Messages/ja"

From Free Pascal wiki
Jump to navigationJump to search
m
 
m
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{LCL Messages/ja}}
+
{{LCL Messages}}
  
'''This document is for Lazarus developers'''
+
{{Japanese Menu}}
  
Thumb rules:
 
  
Messages exists for VCL compatibility.
+
メッセージはVCLとの互換性のために存在します。
Messages look like win32 messages, but only those parameters and flags are
+
メッセージはwin32メッセージと同等のように見えますが、パラメータとフラグをサポートしているだけですが、これは、
supported, that are commonly used by existing VCL controls (including third
+
サードパーティ製のものも含めて、既存のVCLコントロールに共通的に使われているからです。
part controls).
 
Every supported flag, that is not commonly used, makes implementing the
 
interfaces more difficult. So, think twice, before adding a message.
 
Many messages uses hard to read constants and small values (smallint) which
 
limits the interfaces and windows does not define the exact ordering of
 
messages. Therefore the goal is that every message can be substituted by a
 
method. For example: A control can use DoOnChangeBounds instead of WMSize to
 
react.
 
  
The LCL should send messages to the interface only in rare cases. In fact, only
+
win32メッセージのように、独自に意味を付けするフラグを利用すると、インターフェースが分かり難くなります。
when it is common usage in VCL controls.
+
つまり、メッセージを追加する前に十分な思慮が必要です。
  
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
+
また、Windowsはメッセージの順序を正確に決めることはありません。
message. This way the parameters are well defined and all interfaces creates
 
the messages the same way.
 
  
 +
Lazarusが目標とすることは、すべてのメッセージを、メソッドに置き換えることです。
 +
たとえば、コントロールはサイズを変更するにあたって、WMSizeのかわりに、DoOnChangeBoundsを使うことができます。
  
The messages:
+
現在、LCLがメッセージをインターフェースに送るのは、たいへん限られたケースです。
 +
実際には、VCLの共通な利用で使っています。
  
;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.
+
現在、インターフェースにおいて、たくさんのメッセージを一時的にLCLに送ることがあります。これらは、近いうちに整理されて減らされるべきです。LCLにおいて、よりよい関数を作るなら、メッセージを送ったほうがよいでしょう。この方法のパラメータは、よく定義されており、すべてのインターフェースは同じ方法でメッセージを作成します。
 +
 
 +
 
 +
メッセージ:
 +
 
 +
;Interface -> LCL -> WMSize, WMMove : インターフェースから、LCLコントロールに境界の更新の通知メッセージを送ります。LCLやいくつかのインターフェースのauto aligningやsizingの機能によって、これらのメッセージは、いつもリサイズされた場合に送られるとは限りません。LCLコントロールの境界とインターフェースの境界をを厳密に区別してください。混同してはいけません。
 +
 
 +
(訳注:Windows95系(95/98/ME)とNT系(NT,2000,XP)ではメッセージの順序や発生するかどうか自体も異なるものがあります。WindowsはGUI、メッセージについては基本的な仕様はとても複雑で、OSの混乱を互換性のためにアプリケーションが収拾しないといけないことが、Windowsでは時々あります。)
 +
 
 +
[[Category:LCL/ja]]

Latest revision as of 15:33, 22 December 2013

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

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


メッセージは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では時々あります。)