ユーザーは、TVS_EDITLABELS スタイルを持つツリー コントロール (CTreeCtrl) 内の項目のラベルを直接編集できます。 ユーザーは、フォーカスがある項目のラベルをクリックして編集を開始します。 アプリケーションは 、EditLabel メンバー関数を使用して編集を開始します。 ツリー コントロールは、編集の開始時およびキャンセルまたは完了時に通知を送信します。 編集が完了したら、必要に応じてアイテムのラベルを更新する必要があります。
ラベルの編集が開始されると、ツリー コントロールは TVN_BEGINLABELEDIT 通知メッセージを送信します。 この通知を処理することで、一部のラベルの編集を許可したり、他のラベルの編集を禁止したりできます。 0 を返す場合は編集が可能で、0 以外の値を返しても編集できません。
ラベルの編集が取り消されるか完了すると、ツリー コントロールは TVN_ENDLABELEDIT 通知メッセージを送信します。
lParam パラメーターは、NMTVDISPINFO 構造体のアドレスです。 アイテム メンバーは、 アイテム を識別し、編集されたテキストを含む TVITEM 構造体です。 必要に応じて、編集された文字列を検証した後で、アイテムのラベルを更新する必要があります。 編集が取り消された場合、の TV_ITEM
メンバーは 0 です。
ラベルの編集中は、通常、 TVN_BEGINLABELEDIT 通知メッセージに応答して、 GetEditControl メンバー関数を使用してラベル編集に使用される編集コントロールへのポインターを取得できます。 編集コントロールの SetLimitText メンバー関数を呼び出して、ユーザーが編集コントロールに入力またはサブクラス化して無効な文字をインターセプトして破棄できるテキストの量を制限できます。 ただし、編集コントロールは、TVN_BEGINLABELEDIT送信後にのみ表示されることに注意してください。