RSS Forums RSS
Please support our C++ advertiser: Programming Forums
Views: 2093 | Replies: 3
Reply
Join Date: Jul 2005
Posts: 6
Reputation: BenPage is an unknown quantity at this point 
Rep Power: 0
Solved Threads: 0
BenPage BenPage is offline Offline
Newbie Poster

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

  #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?
AddThis Social Bookmark Button
Reply With Quote  
Join Date: Jul 2005
Location: Iceland
Posts: 104
Reputation: Alvein is an unknown quantity at this point 
Rep Power: 4
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

  #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  
Join Date: Jul 2005
Posts: 6
Reputation: BenPage is an unknown quantity at this point 
Rep Power: 0
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?

  #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:

void CMyEditControl::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
	// TODO: Add your message handler code here and/or call default

	char pressedKey;
	pressedKey = char(nChar); 
	short keystate;

	switch(nChar)
	{
	case VK_SHIFT:
		// do whatever
                case VK_LEFT:
                         // do whatever
	}

}

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  
Join Date: Jul 2005
Location: Iceland
Posts: 104
Reputation: Alvein is an unknown quantity at this point 
Rep Power: 4
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?

  #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  
Reply

Only community members can participate in forum threads. You must register or log in to contribute.

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)

 

Thread Tools Display Modes
Forums | Blogs | Tutorials | Code Snippets | Whitepapers | RSS Feeds | Advertising
All times are GMT -4. The time now is 11:58 pm.
Newsletter Archive - Sitemap - Privacy Statement - Acceptable Use Policy - Contact Us
Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC