שאלה ב MFC

  • פותח הנושא lend
  • פורסם בתאריך

lend

New member
שאלה ב MFC

האם וכיצד ניתן לעשות RESTORE לחלון שהוא MINIMIZED בלי לקחת את הפוקוס (ACTIVATE) ? תודה!!!
 

lend

New member
פירוט נוסף...

יש לי חלון והוא MINIMIZED. אני רוצה להקפיץ אותו אבל לא לקחת את הפוקוס. אני משתמש ב ShowWindow עם SW_SHOWNOACTIVATE אבל הוא לוקח את הפוקוס. אם החלון לא MINIMIZED אז הכל תקין. תודה שוב.
 

voguemaster

New member
הממ

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

lend

New member
את ההקפצה עצמה אני עושה ע"י

שינויים ב Z ORDER. אבל אם החלון במצב MINIMIZED אני כנראה צריך להוציא אותו קודם מהמצב הזה ורק אז השינויים ב Z ORDER יקפיצו את החלון. הבעיה היא שכדי להוציא את החלון ממצב MINIMIZED אני משתמש ב ShowWindow עם פרמטר SW_SHOWNOACTIVATE ובכל זאת החלון מקבל ACTIVATE.
 

ihovav

New member
למה שלא תעשה ככה ?

תיקח את ה HANDLE של החלון האקטיבי (אני לא זוכר את הפונ´ אבל יש כזו - שמחזירה את החלון האקטיבי), תעשה RESTORE ואז תעשה את החלון שהיה אקטיבי - לאקטיבי שוב - זו אמנם דרך עקיפה, אבל היא תעבוד...
 

lend

New member
הצעה טובה ועובדת, אבל

לא מתאימה לי כי אם יש למשל TEXT בחלון האקטיבי הוא יהפוך להיות SELECTED (כחול) וכל הקשה נוספת על המקלדת תמחוק אותו.
 

lend

New member
SetActiveWindow לחלון שלי? אבל

זה בדיוק מה שאני לא רוצה, לקחת את הפוקוס. אני צריך לחזור ממצב MINIMIZED מבלי לקחת פוקוס.
 

lend

New member
קודם כל תודה. נראה ש...

SetWindowPos לא מצליח להוציא את החלון ממצב MINIMIZED.
 

gilad_no

New member
תחפש את החלון הפעיל

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

נסה לבצע את הדברים הבאים: 1. מזער את כל החלונות מלבד אחד. 2. כעת, כל עוד CTRL לחוץ, נסה להגדיל חזרה את אחד החלונות ב-TASKBAR. אתה תראה כי הוא גדל מבלי לקבל פוקוס. הוא נשאר מאחורי החלון שכבר פתוח. אז אולי זה טריק, אבל שווה לנסות: שלח הודעת "לחצן שמאלי למטה" לחלון הממוזער, בצירוף דגל של CTRL...
 

appTrap

New member
אין לי ממש מושג בwindows אבל

אם זכרוני לא מטעה אותי, נראה לי שאפשר "לתפוס" את ה handle של ה desktop ואז להיתפקס על ה desktop כמו על כל חלון אחר.
 
למעלה