当前位置:编程学习 > C#/ASP.NET >>

为EDIT控件设置焦点

请问:
我在在窗体显示时,我想初始化焦点在EDIT控件上,
为什么用GetDlgItem(IDC_EDIT1)->SetFocus();不行? --------------------编程问答-------------------- GetDlgItem()返回值不是一个CEdit,改成(CEdit*)GetDlgItem(IDC_EDIT1)->SetFocus();
应该可以。 --------------------编程问答-------------------- 不行的,我觉得好像少了些什么! --------------------编程问答-------------------- up!!! --------------------编程问答-------------------- OnInitDialog(..)
{
   CDialog::OnInitDialog();
   GetDlgItem(IDC_EDIT1)->SetFocus();
   return FALSE;///这里
} --------------------编程问答-------------------- 不对了!  比如说,我现在建了一个多文档类,在文档类打开之前先调用了登录DIALOG 

CDialogLogin dlg;
if(dlg.DoModal() == IDCANCEL)
{
return FALSE;
}


怎么让这个 DIALOG 打开的时候就把光标设到一个EDIT 上。。。楼上的做法肯定不行的。。。。 --------------------编程问答-------------------- 在CDialogLogin  的 OnInitDialog(..)  里加 (edit *)GetDlgItem(IDC_EDIT1)->SetFocus();

不好使,编译没有问题的。 --------------------编程问答-------------------- #include "MyDialog.h"

BOOL CMyDialog::OnInitDialog()
{
  CDialog::OnInitDialog();
  
  // TODO: Add extra initialization.
  m_cMyEdit.SetWindowText("My Name"); // Initialize control values.
  m_cMyList.ShowWindow(SW_HIDE);      // Show or hide a control, etc.

  return TRUE;  // Return TRUE unless you set the focus to a control.
                // EXCEPTION: OCX Property Pages should return FALSE
}

摘自 msdn
--------------------编程问答-------------------- 你 这个做法不是隐藏了以个控件了吗?  我不想隐藏控件,只想把光标设到输入名字的EDIT上,不用鼠标点击,可以直接输入。。
--------------------编程问答-------------------- 我只是让你看
 return TRUE;  // Return TRUE unless you set the focus to a control.
我按msdn的提示作已经达到你的要求
--------------------编程问答-------------------- 原来如此。。。。为啥呢? --------------------编程问答-------------------- virtual BOOL OnInitDialog( ); 
Return Value
Specifies whether the application has set the input focus to one of the controls in the dialog box. If OnInitDialog returns nonzero, Windows sets the input focus to the first control in the dialog box. The application returns zero only if it has explicitly set the input focus to a control in the dialog box
--------------------编程问答-------------------- 要是LZ只想设个焦点在edit上,直接设个TAB顺序行了,费那些老劲干嘛啊 --------------------编程问答-------------------- 一直想不通,今天通了,呵呵。
补充:.NET技术 ,  VC.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,