VBA FORM

yael800

New member
VBA FORM

היי, אני צריכה עזרה ב RESIZE של הפקדים שנמצאים בחלק של ה Detail בטופס. בארוע של שינוי גודל הטופס - לשנות (הרחבה או כיווץ) של הפקדים באיזור זה.. עזרה חישובים :) המון תודה מראש. כלומר, אם ה גובה של החלון גדל ב 10 אז הגובה של הפקד בו יהיה + 10. מצאתי את הקוד הבא, אבל אני לא מבינה למה דווקא 4.9167 ...
Private Sub Form_Resize() Me.Width = Me.InsideWidth - 0.25 * 1440 Detail.Height = Me.InsideHeight - 0.25 * 1440 If (Me.Width / 1440) <= 10 Then ImgEdit1.Width = 4.9167 * 1440 Else ImgEdit1.Width = Me.Width - 5.0833 * 1440 If (Detail.Height / 1440) <= 7.5 Then ImgEdit1.Height = 7.3333 * 1440 Else ImgEdit1.Height = Detail.Height - 0.1667 * 1440 ImgEdit1.FitTo 1 End Sub​
 

טרמפיסט

New member
הקוד חייב להיות מובן יותר

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

yael800

New member
השאלה שלי היא אחרת בעצם:

איך אני יכולה לתפוס את ה
Private Sub Form_Resize() Me.Width Detail.Height​
החדש במתודה הזו. אני משום מה מקבלת את הערך הקודם..אבל הרי יצרתי שינוי בגודל מעצם העובדה שהגעתי למתודה הזו לא? אז למה אני מקבלת את הערכים הקודמים?
 

טרמפיסט

New member
ניחוש

האירוע קופץ מייד עם ביצוע שינוי הגודל ע"י המשתמש; נסי לתת DoEvents בשורה הראשונה ורק אז כתבי את שאר הקוד הרצוי: זה אולי יתן שהות לטופס לשנות את גודלו ורק אז לפנות אל הקוד הרלוונטי.
 
למעלה