Bug in CListCtrl::OnEndLabelEdit() ?
Serge Wautier -- serge.wautier@ontonet.be
Monday, February 10, 1997
Environment: MSVC 4.1 / Win95
Hi All,
Is this a bug or am i in a (too) special case ?
Processing of the edition of a label in a list control :
CListCtrl::OnEndLabelEdit() (LVN_ENDLABELEDIT) :
If want to check if edition was user-canceled . The doc says :
"Windows 95: You can determine if editing is being canceled by checking the
pDispInfo->lpszText member; if it is NULL, the user is canceling editing."
That's true : it is NULL whe nthe user cancels edition.
The problem is that if the user does not modify the text and strikes ENTER
(accept the default text), pDispInfo->lpszText is NULL as well !
You might think that if the user doesn't change the text, it's the same as
cancelling the edition. Probably yes in some cases. But not in mine :
I've got items that exist but are unnamed by default (Label is 'unnamed').
When the user enters edition of the label, i change the text from 'unnamed'
to a default name based on the item's properties. The user is very likely
to accept this default name... Except that in that case, CListCtrl tells me
that the user canceled edition !
Any hint welcome.
Serge Wautier,
Techno Trade s.a.
Belgium
serge.wautier@ontonet.be
http://www.tbox.fr
Doncho Angelov -- alian@plovdiv.techno-link.com
Thursday, February 13, 1997
Hi Serge !
You could 'patch' this situation by checking if the label of the node is =
'unnamed'. Then, you must know that the user has pressed Enter as well. =
Or, if you like bigger patches, you could handle OnKeyDown and to set =
everytime one variable BOOL bLastKeyWasEnter to true or false according =
to the situation and then to handle this in your OnEndLabelEdit. Sorry, =
I don't know if the situation you face is bug or whatever, but you could =
try this solution...
Doncho
----------
From: Serge Wautier[SMTP:serge.wautier@ontonet.be]
Sent: Monday, February 10, 1997 6:24 PM
To: mfc list
Subject: Bug in CListCtrl::OnEndLabelEdit() ?
Environment: MSVC 4.1 / Win95
Hi All,
Is this a bug or am i in a (too) special case ?
Processing of the edition of a label in a list control :
CListCtrl::OnEndLabelEdit() (LVN_ENDLABELEDIT) :
If want to check if edition was user-canceled . The doc says :
"Windows 95: You can determine if editing is being canceled by checking =
the
pDispInfo->lpszText member; if it is NULL, the user is canceling =
editing."
That's true : it is NULL whe nthe user cancels edition.
The problem is that if the user does not modify the text and strikes =
ENTER
(accept the default text), pDispInfo->lpszText is NULL as well !
You might think that if the user doesn't change the text, it's the same =
as
cancelling the edition. Probably yes in some cases. But not in mine :
I've got items that exist but are unnamed by default (Label is =
'unnamed').
When the user enters edition of the label, i change the text from =
'unnamed'
to a default name based on the item's properties. The user is very =
likely
to accept this default name... Except that in that case, CListCtrl tells =
me
that the user canceled edition !
Any hint welcome.
Serge Wautier,
Techno Trade s.a.
Belgium
serge.wautier@ontonet.be
http://www.tbox.fr
Become an MFC-L member
| Вернуться в корень Архива
|