COMMONDIALOG

COMMONDIALOG

אם אני רוצה להדפיס משהו אני מפעיל את ה COMMONDIALOG וזה מדפיס הכל טוב ויפה וזה כשלוחצים על OK , הבעיה היא שגם כשאני לוחץ על CANCEL הוא גם שולח פקודת הדפסה , מה הסינטקס של התנאי ?
 
תגובה

נניח שה- CommonDialog שלך הוא cdgColor. אז:
Private Sub Command1_Click() cdgColor.ShowColor If cdgColor.CancelError = True Then Exit Sub Else Me.BackColor = cdgColor.Color End If End Sub​
בהצלחה, <blockquote>רון</blockquote>
 
ניסיתי וזה לא עובד..

CommonDialog1.ShowPrinter If CommonDialog1.CancelError = True Then Exit Sub Else Me.PrintForm End If ועשיתי עוד כמה ניסיונות ולא עובד , או שהוא מדפיס בCANCEL או ב OK או שלא מדפיס בכלל
 
טוב, מסתבר שהפתרון מורכב יותר

העניין הוא כזה: המאפיין CancelError קובע אם תתרחש שגיאת ריצה כאשר המשתמש ילחץ על Cancel, ולא כפי שבדוגמה שנתתי קודם (שאיכשהו עבדה, אבל היא מוטעית. אופס.). לכן הפתרון יהיה:
CommonDialog1.CancelError = True On Error GoTo EH CommonDialog1.ShowPrinter Me.PrintForm Exit Sub EH: If Err.Number = cdlCancel Then MsgBox "user clicked ´cancel´!" End If​
הפעם גם אני למדתי משהו תוך כדי... אגב, כל הפתרון היה ב- MSDN. רון
 
למעלה