PRB: Editing Labels in a TreeView Gives WM_COMMAND|IDOK Errors

ID: Q130692

The information in this article applies to:

SYMPTOMS

WM_COMMAND|IDOK errors are received while editing labels in a TreeView control.

CAUSE

While editing labels in a TreeView control, the edit control created by the TreeView control can, and usually does, have an identifier of 1. This identifier is the same as IDOK. This can cause the parent window or dialog box to receive WM_COMMAND messages with an identifier of 1. Then the TreeView control passes on the EN_UPDATE and EN_CHANGE notifications from the edit control to the TreeView's parent.

This was a design decision made to meet system requirements and cannot be changed. If the parent window is going to perform some action in response to a command with an identifier of 1, this problem can occur. This problem is especially significant in dialog boxes that use the standard IDOK for a command button control.

RESOLUTION

Avoid using command and control identifiers with an identifier of 1 (IDOK). To be safe, the application should not use any identifiers less than 100 when used in conjunction with a TreeView control.

Another way to avoid this problem is to check the notification codes in the WM_COMMAND messages. Then respond only to the proper notification codes such as BN_CLICKED.

STATUS

This behavior is by design.

Additional query words:

Keywords          : kbCtrl kbNTOS351 kbNTOS400 kbTreeView kbGrpUser kbWinOS95 kbWinOS98 
Issue type        : kbprb

Last Reviewed: January 2, 1999