c++ קליטת Int מEditBox - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

c++ קליטת Int מEditBox


omer1595

Recommended Posts

ניסיתי לקלוט מתוך editbox משתנה מסוג Int בעזרת הפונקציה: GetDlgItemInt אבל משום מה הקליטה נכשלת לי כל פעם!

       int h,w;
BOOL flag1;
xStart = GetDlgItemInt(hwnd,17,&flag1,false);
if(flag1==NULL) MessageBox(hwnd,NULL,NULL,NULL);
yStart = GetDlgItemInt(hwnd,18,NULL,false);
h = GetDlgItemInt(hwnd,19,NULL,false);
w = GetDlgItemInt(hwnd,20,NULL,false);

כל פעם קופץ לי הMessageBox שאומר שהקליטה נכשלה, ובנוסף הערכים שמקבלים המשתנים שווים ל0.

יש למישהו רעיון איך ניתן לתקן את זה?

תודה מראש :)

קישור לתוכן
שתף באתרים אחרים

מאיפה כל המספרים 17-20?

תשתמש ב-GetLastError כדי לבדוק מה הבעיה.

חוץ מזה, flag1 הוא BOOL, אל תשווה אותו ל-NULL אלא ל-TRUE/FALSE.

המספרים האלו אלה האידיים של הeditbox של כל מקום שאני מכניס אליו, לדוגמא:

       xTBox = CreateWindow (TEXT("edit"), TEXT(""),
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_NUMBER,
70, 480,
150, 20,
hwnd,(HMENU) 17,
((LPCREATESTRUCT) lParam) -> hInstance, NULL) ;

ותיקנתי אצלי אחר כך את ההשוואה, זה עדיין לא הצליח - זה קולט אפסים במקום את המספר שזה אמור לקלוט.

ואיך אני משתמש בGetLastError?

תודה רבה :)

קישור לתוכן
שתף באתרים אחרים

אל תשתמש ב"מספרי קסם". תגדיר קבועים עם שמות אינפורמטיביים ותשתמש בהם.

לגבי GetLastError, שתי תוצאות ראשונות בגוגל. הדרך הכי פשוטה היא פשוט להציג את התוצאה המספרית של הפונקציה ואז לחפש בטבלה שכאן.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...