לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #7  
ישן 28-05-2009, 00:45
  Dragonion Dragonion אינו מחובר  
 
חבר מתאריך: 22.08.08
הודעות: 310
בתגובה להודעה מספר 6 שנכתבה על ידי zivbr שמתחילה ב "זה לא עובד לך כי שינית את..."

וואלה איזה אהבל יצאתי.

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

מה שאני מנסה להכין ברגע זה זאת ספרייה קטנה של User Interface (וכן אני יודע שיש כבר ספריות) בשביל Windows.
העניין הוא שלהכין חלונות (כפתורים, תיבות טקסט וכדומה) זה נורא קל, אבל אני מעדיף שהספרייה, או לצורך העניין - המחלקה - גם תקח על עצמה אחריות על רוב הEvents.

בוא נאמר ש"הכנתי" כפתור עם קוד 5, מה שאומר שכל פעם שלוחצים עליו ה Callback מקבל את ה5 הזה - אני רוצה שהמחלקה תקבל את זה ותקרא לפונקצייה שהמשתמש מגדיר עם הקוד שהיא קיבלה.

הדוגמא של הכפתור היא למעשה לא ממש יעילה, כי מה שהמשתמש יכתוב במילא יהיה כמעט אותו דבר, אבל יש דברים אחרים (שלא ממש חשוב לכתוב עליהם כרגע) שהמשתמש בכלל לא צריך לדעת עליהם והמחלקה יכולה לעשות אותם אוטומתית, אז לא בא לי (בתור המשתמש) לכתוב אותם בעצמי.

יש לך אולי איזה רעיון איך לעשות את זה?
תודה על העזרה בכל מקרה.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 29-05-2009, 00:38
  Dragonion Dragonion אינו מחובר  
 
חבר מתאריך: 22.08.08
הודעות: 310
בתגובה להודעה מספר 9 שנכתבה על ידי טוארג שמתחילה ב "[font=Verdana]במקרים כאלה..."

בסוף הלכתי על Set/GetWindowLong, פשוט מכיוון שמצאתי את הדף הזה (השתמשתי בקוד הזה מתוך הדף), ואת השני לא ממש הבנתי.

עכשיו יש לי בעיה חדשה.

הUI שלי מיוצג בתור חלון מרכזי, ובתוכו (ברשימה מקושרת) יש לי את כל החלונות ה pre-defined של Windows.
Button, Edit, Static וכולה.

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

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

מאיזו שהיא סיבה זה לא פועל.

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

קוד PHP:
 struct UIObject
{
    
HWND Handle;
    
// more info about the window
    
    
UIObjectnext;
};

class 
UI
{
    public:
        
        
// called from the window procedure callback function
        
UIObjectGetUIObject(HWND Hwnd)
        {
            if(
root->Handle == Hwnd) return root;
            
            
UIObjectroot;
            while(
o->next != NULL)
            {
                
o->next;
                if(
o->Handle == Hwnd) return o;
            }
            
            return 
NULL;
        }
    
    private:
        
        
UIObjectroot;
}; 


תודה עוד פעם על העזרה

נערך לאחרונה ע"י Dragonion בתאריך 29-05-2009 בשעה 00:40.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 14:58

הדף נוצר ב 0.07 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר