![]() |
Win32 API | Передача данных диалоговым окном программе
Народ всем привет!! Пишу на MSVC++ , в принципе сабж (точнее хочу передать из поля редактирования IDC_EDIT), перепробовал все, облазил весь MSDN все безуспешно, помогите ПЖЛ.
|
Ммм. А как насчёт, например
Код:
lResult = SendMessage( // returns LRESULT in lResult lParam - Pointer to a null-terminated string that is the window text. Вам только надо правильно указать hWndControl Это как вариант. Или я не совсем понял вопроса? |
Возможно я не правильно описал ситуацию, постараюсь лутше
1. Есть модальное диалоговое окно. 2. В нем есть элементы управления типа таких как editcontrol, checkbox и т.п. (в часности editcontrol). 3. Туда вводится какая то строка и при нажатии кнопки OK надо получить данные из этого editcontrol. Пробовал GetDlgItemText(IDC_EDIT1,mytext,80), так ни чего не получается... |
hasherfrog
только посылать не WM_SETTEXT, а WM_GETTEXT lehha Не пойму в чем проблема... Есть как минимум 2 способа: 1: [code] LRESULT CALLBACK !Ваша_диалоговая_функция!(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { ...... case WM_COMMAND: if (LOWORD(wParam) == IDOK) { HWND editCtrlHandle = FindWindowEx(hDlg,0,"EDIT",0); // это в случае с одним editbox'ом char* buf[1001]; SendMessage(editCtrlHandle,WM_GETTEXT,1001,(LPARAM)buf); MessageBox(hDlg,(LPCTSTR)buf,"Куль",0); return TRUE; } break; ....... } return FALSE; } 2: всё то же самое, только Код:
.............. |
Savant
Я всегда писал консольные приложения, так что первый раз столкнулся с этим, в принципе я делал все тоже саме, но почему то у меня не передовались параметры, вот кусок моей функции в чем тут беда??? Код:
void CMainWnd::GetEdit() Код:
void CMainWnd::GetEdit() |
lehha
Во втором куске для полноты явно нехватает :: перед GetDlgItemText, т.е. Код:
... Добавлено: Да, вполне возможно что диалог удаляется... Цитата:
|
Savant
Спасибо за наводку :) Поступил чуть по другому сначала всетаки определил класс диалогового окна, а потом по пройденой схеме ну и создал обработку OnOK() Код:
class CDialogData : public CDialog Код:
void CMainWnd::DialogData() |
Время: 07:18. |
Время: 07:18.
© OSzone.net 2001-