「コールバック理由」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「コールバックの理由 変数 $reason で返されるコールバックの理由は、アクションが起こった理由を示す。 その値はどの種類の...」)
 
編集の要約なし
 
(同じ利用者による、間の4版が非表示)
1行目: 1行目:
コールバックの理由
action_tile で返されるコールバックの理由


変数 $reason で返されるコールバックの理由は、アクションが起こった理由を示す。
変数 $reason で返されるコールバックの理由は、アクションが起こった理由を示す。
その値はどの種類のアクションにも設定されるが、アクションが edit_box、list_box、image_button、slider タイルに関連するときだけ検査する必要がある。
その値はどの種類のアクションにも設定されるが、アクションが [[edit_box]]、[[list_box]]、[[image_button]]、[[slider]] タイルに関連するときだけ検査する必要がある。


次の表は、理由コードの一覧。
次の表は、コールバックの理由コードの一覧。
 
* コード ・・・ 説 明
コールバックの理由コード
# コード ・・・ 説 明
* 1 ・・・ これはほとんどのアクション タイルの値で、ユーザがタイルを選択したことを示す。(そのタイルが既定で、プラットフォームがアクセラレータ キーを認識する場合は、[Enter] を押してタイルを選択した可能性がある)。
* 1 ・・・ これはほとんどのアクション タイルの値で、ユーザがタイルを選択したことを示す。(そのタイルが既定で、プラットフォームがアクセラレータ キーを認識する場合は、[Enter] を押してタイルを選択した可能性がある)。
* 2 ・・・ 編集ボックス。ユーザが編集ボックスを終了したが、最終的な選択をしていないことを示す。
* 2 ・・・ 編集ボックス。ユーザが編集ボックスを終了したが、最終的な選択をしていないことを示す。
22行目: 18行目:


* コード 3 - スライダ
* コード 3 - スライダ
** ユーザがインジケータをドラッグする(またはそれに相当するアクションを行う)ことによりスライダの値を変更したが、最終的な選択をしていないことを示す。これがスライダのコールバックの理由である場合、アプリケーションは関連する変数の値を更新するのではなく、スライダのステータスを表示する文字を更新する必要がある。詳細は[[slider|スライダ]]を参照。コード例については[[スライダを処理する]]を参照。  
** ユーザがインジケータをドラッグする(またはそれに相当するアクションを行う)ことによりスライダの値を変更したが、最終的な選択をしていないことを示す。これがスライダのコールバックの理由である場合、アプリケーションは関連する変数の値を更新するのではなく、スライダのステータスを表示する文字を更新する必要がある。詳細は[[Slider (autolisp)|スライダ]]を参照。コード例については[[スライダを処理する]]を参照。  


* コード 4 - リスト ボックス
* コード 4 - リスト ボックス
** ユーザがリスト ボックスをダブルクリックしたことを示す。ダブルクリックの意味は、アプリケーション側で定義できます。ダイアログ ボックスの主な目的がリスト項目を選択することである場合、ダブルクリックによって選択を行ってから、ダイアログ ボックスを終了させるようにする (この場合、list_box タイルの is_default 属性を true にしなければならない)。 リスト ボックスがダイアログ ボックスの主タイルでない場合、ダブルクリックは選択を行う(コード 1)のと同じ扱いにする必要がある。
** ユーザがリスト ボックスをダブルクリックしたことを示す。ダブルクリックの意味は、アプリケーション側で定義できる。ダイアログ ボックスの主な目的がリスト項目を選択することである場合、ダブルクリックによって選択を行ってから、ダイアログ ボックスを終了させるようにする (この場合、list_box タイルの is_default 属性を true にしなければならない)。 リスト ボックスがダイアログ ボックスの主タイルでない場合、ダブルクリックは選択を行う(コード 1)のと同じ扱いにする必要がある。
ユーザが複数の項目を選択できるリスト ボックス(multiple_select = true)は、ダブルクリックをサポートできない。
ユーザが複数の項目を選択できるリスト ボックス(multiple_select = true)は、ダブルクリックをサポートできない。


* コード 4 - イメージ ボタン
* コード 4 - イメージ ボタン
** ユーザがイメージ ボタンをダブルクリックしたことを示す。ダブルクリックの意味は、アプリケーション側で定義できます。多くの場合、1 回のクリックでボタンが選択されるようにすることが適切だが、場合によっては 1 回のクリック(またはキーボードのアクション)でボタンをハイライト表示し、その後の[Enter]またはダブルクリックでそれを選択させる方がよいこともある。
** ユーザがイメージ ボタンをダブルクリックしたことを示す。ダブルクリックの意味は、アプリケーション側で定義できる。多くの場合、1 回のクリックでボタンが選択されるようにすることが適切だが、場合によっては 1 回のクリック(またはキーボードのアクション)でボタンをハイライト表示し、その後の [Enter] またはダブルクリックでそれを選択させる方がよいこともある。
 
[[Category:DCL]]

2022年5月6日 (金) 16:27時点における最新版

action_tile で返されるコールバックの理由

変数 $reason で返されるコールバックの理由は、アクションが起こった理由を示す。 その値はどの種類のアクションにも設定されるが、アクションが edit_boxlist_boximage_buttonslider タイルに関連するときだけ検査する必要がある。

次の表は、コールバックの理由コードの一覧。

  • コード ・・・ 説 明
  • 1 ・・・ これはほとんどのアクション タイルの値で、ユーザがタイルを選択したことを示す。(そのタイルが既定で、プラットフォームがアクセラレータ キーを認識する場合は、[Enter] を押してタイルを選択した可能性がある)。
  • 2 ・・・ 編集ボックス。ユーザが編集ボックスを終了したが、最終的な選択をしていないことを示す。
  • 3 ・・・ スライダ。ユーザがインジケータをドラッグしてスライダの値を変更したが、最終的な選択をしていないことを示す。
  • 4 ・・・ リスト ボックスとイメージ ボタン。このコールバック理由は必ずコード 1 の後に続く。通常は直前の選択を「確定する」ことを意味する。直前の選択を取り消すとユーザが混乱するので、絶対に避けるべきである。


コード 2、3、4 の詳細

  • コード 2 - 編集ボックス
    • ユーザが[Tab]を押すことにより、または別のタイルを選択することにより編集ボックスを終了したが、最終的な選択をしていないことを示す。 これが編集ボックスのコールバックの理由である場合、アプリケーションは関連する変数の値を更新するのではなく、編集ボックス内の値の有効性をチェックする必要がある。
  • コード 3 - スライダ
    • ユーザがインジケータをドラッグする(またはそれに相当するアクションを行う)ことによりスライダの値を変更したが、最終的な選択をしていないことを示す。これがスライダのコールバックの理由である場合、アプリケーションは関連する変数の値を更新するのではなく、スライダのステータスを表示する文字を更新する必要がある。詳細はスライダを参照。コード例についてはスライダを処理するを参照。
  • コード 4 - リスト ボックス
    • ユーザがリスト ボックスをダブルクリックしたことを示す。ダブルクリックの意味は、アプリケーション側で定義できる。ダイアログ ボックスの主な目的がリスト項目を選択することである場合、ダブルクリックによって選択を行ってから、ダイアログ ボックスを終了させるようにする (この場合、list_box タイルの is_default 属性を true にしなければならない)。 リスト ボックスがダイアログ ボックスの主タイルでない場合、ダブルクリックは選択を行う(コード 1)のと同じ扱いにする必要がある。

ユーザが複数の項目を選択できるリスト ボックス(multiple_select = true)は、ダブルクリックをサポートできない。

  • コード 4 - イメージ ボタン
    • ユーザがイメージ ボタンをダブルクリックしたことを示す。ダブルクリックの意味は、アプリケーション側で定義できる。多くの場合、1 回のクリックでボタンが選択されるようにすることが適切だが、場合によっては 1 回のクリック(またはキーボードのアクション)でボタンをハイライト表示し、その後の [Enter] またはダブルクリックでそれを選択させる方がよいこともある。