Как в диалоге зделать октивным edit
От: Timur_S  
Дата: 23.10.02 11:01
Оценка:
Как в диалоге зделать октивным edit и установить курсор в начало edit.
Re: Как в диалоге зделать октивным edit
От: Syd Россия  
Дата: 23.10.02 11:09
Оценка:
Здравствуйте Timur_S, Вы писали:

TS>Как в диалоге зделать октивным edit и установить курсор в начало edit.



BOOL YourDlgClass::OnInitDialog() 
{
...
GetDlgItem(IDC_YOUR_EDITCONTROL)->SetFocus();
...
return FALSE;//a не TRUE так как на один из контролов установлен фокус.
}
I'm just talking about having fun
Re[2]: Как в диалоге зделать октивным edit
От: Timur_S  
Дата: 23.10.02 11:22
Оценка:
Здравствуйте Syd, Вы писали:

Syd>Здравствуйте Timur_S, Вы писали:


TS>>Как в диалоге зделать октивным edit и установить курсор в начало edit.


Syd>

Syd>
Syd>BOOL YourDlgClass::OnInitDialog() 
Syd>{
Syd>...
GetDlgItem(IDC_YOUR_EDITCONTROL)->>SetFocus();
Syd>...
Syd>return FALSE;//a не TRUE так как на один из контролов установлен фокус.
Syd>}
Syd>


Не устанавливается. У меня CPropertyPage одно из диалогов, я прописа в OnInitDialog.
Re[3]: Как в диалоге зделать октивным edit
От: Syd Россия  
Дата: 23.10.02 15:55
Оценка:
Здравствуйте Timur_S, Вы писали:

Syd>>

Syd>>
Syd>>BOOL YourDlgClass::OnInitDialog() 
Syd>>{
Syd>>...
GetDlgItem(IDC_YOUR_EDITCONTROL)->>>SetFocus();
Syd>>...
Syd>>return FALSE;//a не TRUE так как на один из контролов установлен фокус.
Syd>>}
Syd>>


TS>Не устанавливается. У меня CPropertyPage одно из диалогов, я прописа в OnInitDialog.


Работает если прописать этот код в OnInitDialog основного диалога


BOOL CSettingsSheet::OnInitDialog() //CSettingsSheet потомок CPropertySheet и содержит страницы свойств
{
    BOOL bResult = CPropertySheet::OnInitDialog();
    
    // TODO: Add your specialized code here
    CPropertyPage* pPage = GetActivePage();
  
    
    (pPage->GetDlgItem(IDC_YOUR_EDITCONTROL))->SetFocus();
    return bResult;
}
I'm just talking about having fun
Re[4]: Как в диалоге зделать октивным edit
От: Timur_S  
Дата: 24.10.02 10:23
Оценка:
Здравствуйте Syd, Вы писали:

Syd>Здравствуйте Timur_S, Вы писали:


Syd>>>

Syd>>>
Syd>>>BOOL YourDlgClass::OnInitDialog() 
Syd>>>{
Syd>>>...
GetDlgItem(IDC_YOUR_EDITCONTROL)->>>>SetFocus();
Syd>>>...
Syd>>>return FALSE;//a не TRUE так как на один из контролов установлен фокус.
Syd>>>}
Syd>>>


TS>>Не устанавливается. У меня CPropertyPage одно из диалогов, я прописа в OnInitDialog.


Syd>Работает если прописать этот код в OnInitDialog основного диалога


Syd>

Syd>
Syd>BOOL CSettingsSheet::OnInitDialog() //CSettingsSheet потомок CPropertySheet и содержит страницы свойств
Syd>{
Syd>    BOOL bResult = CPropertySheet::OnInitDialog();
Syd>    
Syd>    // TODO: Add your specialized code here
Syd>    CPropertyPage* pPage = GetActivePage();
Syd>  
Syd>    
Syd>    (pPage->GetDlgItem(IDC_YOUR_EDITCONTROL))->SetFocus();
Syd>    return bResult;
Syd>}

Syd>


Проверил: Выдает ошибку что память неможет выть "read".
Кинь свой работующий проект мне на mail если есть.
Re: Как в диалоге зделать октивным edit
От: kmn Украина  
Дата: 24.10.02 10:37
Оценка:
Здравствуйте Timur_S, Вы писали:

TS>Как в диалоге зделать октивным edit и установить курсор в начало edit.


если тебе необходимо установить фокус при инициализации то:

в редакторе ресурсов открой шаблон диалога и нажми "Ctrl-D" и установи порядок обхода
контролов. если требуемый EDIT будет первым (из активных элементов) то он и будет в фокусе.

OnInitDialog трогать не надо

в динамики это делается как
MFC:

GotoDlgCtrl(GetDlgItem(IDC_MYEDIT));

или см WM_NEXTDLGCTL
Re[2]: Как в диалоге зделать октивным edit
От: Syd Россия  
Дата: 24.10.02 11:16
Оценка:
Здравствуйте kmn, Вы писали:

kmn>Здравствуйте Timur_S, Вы писали:


TS>>Как в диалоге зделать октивным edit и установить курсор в начало edit.


kmn>если тебе необходимо установить фокус при инициализации то:


kmn>в редакторе ресурсов открой шаблон диалога и нажми "Ctrl-D" и установи порядок обхода

kmn>контролов. если требуемый EDIT будет первым (из активных элементов) то он и будет в фокусе.

kmn>OnInitDialog трогать не надо


kmn>в динамики это делается как

kmn>MFC:

kmn>GotoDlgCtrl(GetDlgItem(IDC_MYEDIT));


kmn>или см WM_NEXTDLGCTL


Можно и так.
Только при этом текст в контроле будет выделен.
I'm just talking about having fun
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.