Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 887
  • Last Modified:

How to move cursor to end of an edit control

I am trying to move the cursor to the end of text in an edit control programmatically.

The user clicks a button outside of the edit control, (which causes the control to lose focus) and upon that action I am calling the edit control's SetFocus() function which places the cursor at the beginning of the control. How do I get it to place the cursor at the end of any text in the control?

Thanks.
0
rascal
Asked:
rascal
1 Solution
 
bbousquetCommented:
You might want to take a look at the following (works for a single line edit box - for multi-line, you'll have to tweak it):

CEdit m_yourEditControl;

int nLen = m_yourEditControl.LineLength();
m_yourEditControl.SetSel(nLen, nLen, TRUE);

[It should work - but I haven't actually compiled this - I'm writing it from memory]
0
 
SamHobbsCommented:
I think I found something in an MFC or SDK sample program that appeared to do what you are asking but I do not rmemmber for sure where. I think it was in a sample communications program that was maintaining a log of activity like Hyperterminal does. If you ask me to I will see if I can find it and if I find it I will post which sample it is as an answer.
0
 
jianliuerCommented:
CEdit* pEdit = ((CEdit*)GetDlgItem(IDC_YOUR_EDIT));
CString txt;
pEdit->GetWindowText(txt);
pEdit->SetSel(txt.GetLength(),txt.GetLength(),TRUE);

Good Luck!
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
rascalAuthor Commented:
Thank you. bbousquet I would also like to give you points but there does not appear to be a way???? Please let me know how and I will give you 100 pts as well.

Thanks to all.
0
 
Vinayak KumbarSr Program ManagerCommented:
Hi,

Well, I doubt on that. But I have not checked it. If it works it is fine. Otherwise do the following thing.

m_ctrlEdit.SetSel(m_strEdit.GetLength()-2, m_strEdit.GetLength()-1, FALSE);

Here m_ctrlEdit is the member variable for the edit control of CEdit type.
Here m_strEdit is the member variable for the edit control of CString type.

Hope that solves ur prob.

VinExpert
0
 
bbousquetCommented:
Just create a new question in this category and label it 'points for bbousquet'. i'll answer it and you'll be able to give me the points too.
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now