• ベストアンサー

テキストボックスをアクティブにするには?

環境 WIN98 VC++6.0 MFC SDIにて よろしくお願いいたします。 ダイアログにテキストボックスが貼りつけており、ダイアログが表示されるときには、文字が表示されるようにしています。 この時、ダイアログをアクティブにし、 1.文字全体のバックを青色にアクティブにする 2.あるいは、文字の最後にカーソルを持っていく この2つの方法が知りたいのですが、ご存知の方お教えください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#5537
noname#5537
回答No.1

いずれも,CEdit::SetSel で出来ます。 ただしフォーカスがあたっていないと選択範囲や カーソルが見えないので,その場合は, CWnd::SetFocus でフォーカスを当ててください。

VitaminBB
質問者

お礼

回答ありがとうございます。 こんな感じで行けました。 CInput* pInput = (CInput*)GetParent(); // CInputは親ダイアログのクラス pInput->m_InputData=m_moji pInput->ShowWindow(SW_SHOW); pInput->UpdateData(FALSE); CEdit* edit1 = (CEdit*)(pInput->GetDlgItem(IDC_EDIT1)); edit1->SetFocus();//テキスボックスをアクティブに //カーソルを文字の最後に持って行く edit1->SetSel(pInput->m_InputData.GetLength(), pInput->m_InputData.GetLength(), FALSE); または edit1->SetSel(0, -1); //全文字選択

関連するQ&A