ערכתי לאחרונה בתאריך 03.02.11 בשעה 23:58 בברכה, Dotan
שלום לכולם במהלך היומיים האחרונים שברתי את הראש בניסיון לפתור משהו, ולא הצלחתי אפילו להתקרב לפתרון :/
יש לי פקד CEdit רגיל, שהוגדר בDesinger להגדרה של ES_RIGHT (או WS_EX_RIGHT, זה לא משנה כ"כ) ככה שהוא מיושר לימין והטקסט נכתב מימין לשמאל.
במהלך ריצת התכנית אני מעוניין לשנות את כיוון הכתיבה לשמאל, כלומר שינוי של הStyle ל-ES_LEFT (או WS_EX_LEFT) - זה לא משפיע על כלום והפקד לא משתנה.
ניסיתי עם SetWindowLong / ModifySyle ואפילו לשלוח הודעה לפקד עם SendMessage.
בסופו של דבר אחרי קריאה ארוכה מצאתי בMSDN רשומה על זה - לא ניתן לשנות את הSTYLE הזה בזמן ריצה!
אני מחפש פתרון יצירתי לבעיה הזו, עלו 2 פתרונות אצלי:
1. למחוק את הפקד ולצייר אותו מחדש עם הגדרה של ES_LEFT - זה יפעל אבל לא בא בחשבון כי זה בעייתי בתכנית שלי.
2. לשלוח הודעות של Ctrl+Shift ובכך לשנות את כיון הכתיבה.
3. להוסיף מאפיין של ES_MULTILINE, ואז ניתן לשנות את הכיוון ע"י עריכה של הSTYLE, אבל אני צריך CEdit שהוא רק שורה אחת, לא רוצה MultiLine - ולא ניתן לבטל MULTILINE בזמן ריצה!
הפתרון הראשון יורד מהפרק והפתרון השני הוא האופציה האחרונה שלי לגמרי - זה ממש פתרון לא נחמד :/
יש למישהו אולי רעיון / הברקות / פתרונות?
תודה רבה .