Subclassed Editbox Control: Do I need to create 2 subclasses for two edit controls?

Please support our C++ advertiser: Intel Parallel Studio Home
Reply

Join Date: Jul 2005
Posts: 6
Reputation: BenPage is an unknown quantity at this point 
Solved Threads: 0
BenPage BenPage is offline Offline
Newbie Poster

Subclassed Editbox Control: Do I need to create 2 subclasses for two edit controls?

 
0
  #1
Jul 21st, 2005
Hi there.

I am using

Operating System: Windows XP
Project: Visual Studio 2003 C++ MFC Dialog Based Application

I subclassed an edit box control because I want to capture the WM_KEYDOWN messages when a user enters characters in the edit box. I need this because I want to measure the time interval between keystrokes for the phrase (a password in this case) that the user enters in the edit box.

But I want the user to enter the password twice, once in one edit box and again in another. So I created two edit boxes and then to each edit box added a control variable of type the custom edit box subclass I created.

Now the problem is that when a enter a character in either of the edit boxes, the OnKeyDown function of the subclass is called.

How do I know in which edit box did the user type in the key?

Should I rather create two subclasses for the edit boxes, and create a control variable for the one editbox that is of type: the one subclass, and to the other editbox I add a control variable that is of type: the other subclass?
Reply With Quote Quick reply to this message  
Join Date: Jul 2005
Posts: 104
Reputation: Alvein is an unknown quantity at this point 
Solved Threads: 4
Alvein's Avatar
Alvein Alvein is offline Offline
Junior Poster

Re: Subclassed Editbox Control: Do I need to create 2 subclasses for two edit control

 
0
  #2
Jul 21st, 2005
Originally Posted by BenPage
I want the user to enter the password twice, once in one edit box and again in another. So I created two edit boxes and then to each edit box added a control variable of type the custom edit box subclass I created.

Now the problem is that when a enter a character in either of the edit boxes, the OnKeyDown function of the subclass is called.

How do I know in which edit box did the user type in the key?
I barely can understand that thing about "a control variable of type....". Are you implementing what I suggested a few days ago??

In such case, I would compare the passed hWnd with one of the two edit boxes' hWnd's:

(hWnd==GetDlgItem(GetParent(hWnd),IDC_PASSWORD1))
or
(hWnd==GetDlgItem(GetParent(hWnd),IDC_PASSWORD2))

And decide accordingly.
Reply With Quote Quick reply to this message  
Join Date: Jul 2005
Posts: 6
Reputation: BenPage is an unknown quantity at this point 
Solved Threads: 0
BenPage BenPage is offline Offline
Newbie Poster

Re: Subclassed Editbox Control: Do I need to create 2 subclasses for two edit controls?

 
0
  #3
Jul 23rd, 2005
Hi Alvein

I am not processing in the WndProc function where the HWND handle is passed as parameter.

Lets say the class that I created, the custom edit box class, is called CMyEditControl. Then the function that I use to process the event that a key was pressed in the edit box looks like this:

  1. void CMyEditControl::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
  2. {
  3. // TODO: Add your message handler code here and/or call default
  4.  
  5. char pressedKey;
  6. pressedKey = char(nChar);
  7. short keystate;
  8.  
  9. switch(nChar)
  10. {
  11. case VK_SHIFT:
  12. // do whatever
  13. case VK_LEFT:
  14. // do whatever
  15. }
  16.  
  17. }

where CMyEditControl is the custom edit box class I created.

The OnKeyDown is the default name for the event handler( the one that MFC creates for you). How do I get hold of the HWND handle from here (from within this function).

This above function is called when any of the edit boxes generates a WM_KEYDOWN message, I want to know how to know which one it was.
Reply With Quote Quick reply to this message  
Join Date: Jul 2005
Posts: 104
Reputation: Alvein is an unknown quantity at this point 
Solved Threads: 4
Alvein's Avatar
Alvein Alvein is offline Offline
Junior Poster

Re: Subclassed Editbox Control: Do I need to create 2 subclasses for two edit controls?

 
0
  #4
Jul 23rd, 2005
Thinkin aloud....is it possible to include a protected variable in your custom class, and initialize it accordingly in the constructor? that way you could simply check its value in the OnKeyDown() event.
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC