2 שאלות חשובות יותר משלכם!

-Nael-

New member
2 שאלות חשובות יותר משלכם! ../images/Emo62.gif

שאלה 1: אני עושה פקד, איך אני משנה את האפשרויות של הפקד? כלומר למשל command1.caption איך אני עושה שיהיה דבר כזה? שאלה 2: נגיד אני עושה פקד של שעון לדוגמה, label1.caption = time אז כשאני שם תפקד על הפורום השעון מתחיל כבר לעבוד על הפורום עצמו! איך אני עושה שהשעון יתחיל לעבוד רק מתי שמריצים את התוכנה? תודה, תודה, תודה, תודה, תודה!
 
תגובה והערה

קודם כל, קצת צניעות ונימוס לא יזיקו. השאלות שלך אינן יותר חשובות או פחות חשובות משאלות אחרות בפורום, וזה כל היופי כאן. לא נראה לי שתקבל הרבה תגובות אם תמשיך בגישה הזו... ולעניין: אני מבין שאתה מפתח לך פקד משלך. כדי להוסיף לפקד שלך מאפיינים (מעבר למאפיינים הקיימים, שנוספו באופן אוטומטי ע"י מה שנקרא Extender ), תצטרך להיכנס לקו של הפקד, ולרשום מאפיינים בסגנון Property Let/Set/Get . למשל, אם הפקד שלך מכיל תווית שנקראת lblMessage, אז תוכל להוסיף את הקוד:
Public Property Get Caption() As String Caption = lblMessage.Caption End Property Public Property Let Caption(ByVal NewCaption As String) lblMessage.Caption = NewCaption PropertyChanged "Caption" End Property​
לגבי השאלה השניה, באופן כללי הפקד אמור להתחיל לעבוד כבר כשאתה שם אותו בטופס עצמו. אולי תרצה באותו אופן להוסיף מאפיין בשם Enabled שבעזרתו תקבע אם הפקד שלך יפעל או לא. הקוד לכך יהיה מן הסתם:
Public Property Get Enabled() As Boolean Enabled = tmrShowTime.Enabled End Property Property Let Enabled(ByVal NewValue As Boolean) tmrShowTime.Enabled = NewValue PropertyChanged "Enabled" End Property​
עכשיו, אם אתה אכן תיישם את מה שכתבתי כאן, זה אולי יעבוד עבור ה- Design, אבל ברגע שתריץ את הטופס, כל מה שהגדרת במאפיינים שהוספת ייעלם ויחזור לברירת המחדל. לכן תצטרך להעזר בארועים הבאים:
Private Sub UserControl_WriteProperties... With PropBag .WriteProperty "Caption", lblMessage.Caption .WriteProperty "Enabled", tmrShowTime.Enabled End With End Sub Private Sub UserControl_ReadProperties... With PropBag lblMessage.Caption = .ReadProperty("Caption", "") tmrShowTime.Enabled = .ReadProperty("Enabled", True) End With End Sub​
ברור שהנושא לא הובהר עד הסוף, לכן אני ממליץ שתבדוק את הנושא ואת הארועים למיניהם בעזרה או באתרי VB באינטרנט. בהצלחה, רון
 
למעלה