ورود

View Full Version : IDC_EDIT سوال



kiuhnmgtrdcv
جمعه 06 شهریور 1388, 16:09 عصر
چطور میتونم از یه تکس باکس به اسم idc_edit1 متنی بگیرم و در afxMessageBox نشان بدهم ؟

من از این کد استفاده کردم ولی نمیدونم چرا این error میگیره


error C2665: 'AfxMessageBox' : none of the 2 overloads could convert all the argument



char valOfEdit[100];
GetDlgItemText( IDC_EDIT1, LPTSTR(valOfEdit), 100 );
AfxMessageBox(valOfEdit);

و اگر بخواهم همین کار با message mapping با class wizard انجام بدم باید چی کار کنم ؟
خیلی ممنون

A_Salimi
جمعه 06 شهریور 1388, 17:04 عصر
1-یک متغیر کنترلی به کادر ویرایش نسبت بده
2-با GetSafeHwnd هندلش رو بگیر
3-با GetWindowText تکست کادر ویرایش رو بگیر
4-با AfxMessageBox مقدارش رو نشون بده.

مثال :



HWND hw=m_myedit.GetSafeHwnd();


TCHAR txt[250];
::GetWindowText(hw,txt,250);
CString msg(txt);
AfxMessageBox(msg);

kiuhnmgtrdcv
جمعه 06 شهریور 1388, 18:10 عصر
ممنون از پاسختون
مشکلم حل شد

AfxMessageBox(LPCTSTR(valOfEdit));
ولی نمیدونم اگر درون تکس باکس مقدار عددی مثلا از نوع عدد بود یعنی میشه "123" چطور این مقدار به int تبدیل کنم

A_Salimi
جمعه 06 شهریور 1388, 18:27 عصر
خوب این که کاری نداره .از تابع itoa استفاده کن.

kiuhnmgtrdcv
جمعه 06 شهریور 1388, 20:09 عصر
مرسی


CString String("10");
int i = atoi(String);