Re: How to force uppercase in a CListCtrl
 
Like Tom pointed out the solution that you have posted will make everything 
typed upper case, and might be ok in your case.
The correct solution is to catch the LVN_BEGINLABELEDIT message of the list 
control and change the style of the edit control.
class CMyListCtrl : public CListCtrl
{
 DECLARE_DYNAMIC(CMyListCtrl)
public:
 CMyListCtrl() {}
 virtual ~CMyListCtrl() {}
protected:
 afx_msg void OnLvnBeginlabeledit(NMHDR *pNMHDR, LRESULT *pResult);
 DECLARE_MESSAGE_MAP()
};
// CMyListCtrl
IMPLEMENT_DYNAMIC(CMyListCtrl, CListCtrl)
BEGIN_MESSAGE_MAP(CMyListCtrl, CListCtrl)
 ON_NOTIFY_REFLECT(LVN_BEGINLABELEDIT, &CMyListCtrl::OnLvnBeginlabeledit)
END_MESSAGE_MAP()
void CMyListCtrl::OnLvnBeginlabeledit(NMHDR *pNMHDR, LRESULT *pResult)
{
 NMLVDISPINFO *pDispInfo = reinterpret_cast<NMLVDISPINFO*>(pNMHDR);
 CEdit *pEdit = GetEditControl();
 ASSERT(pEdit);
 pEdit->ModifyStyle(0,ES_UPPERCASE);
 *pResult = 0;
}
That way you can control this if they are editing a different column or item 
that does not need to be all upper case.
AliR.
"Tom Serface" <tom.nospam@camaswood.com> wrote in message 
news:uvcJHfdjIHA.4396@TK2MSFTNGP04.phx.gbl...
That's great that  you got it working.  This is going to make everything 
uppercase.  Is that what you wanted?  If so, good stuff!  Thanks for 
posting the final solution.  It's always interesting to have threads 
completed.
Tom
"Matt Jacobi" <MattJacobi@discussions.microsoft.com> wrote in message 
news:E0A67451-D88F-4E82-90E1-FF561B012720@microsoft.com...
Tom,
Thanks for your help. By looking at the source code of the edit control 
you
pointed me to, plus some further Googling based on what I saw there, I 
was
able to come up with a solution. All I had to do was override one 
function in
my class.
Here is what I came up with:
BOOL SerialNumberList::PreTranslateMessage(MSG* pMsg) {
   if (pMsg->message == WM_CHAR) {
       pMsg->wParam = toupper(pMsg->wParam);
   }
   return CListCtrl::PreTranslateMessage(pMsg);
}
Thanks again for your help!
-- Matt