ورود

View Full Version : Dialog or MDI for GUI and text Editor



mochenoo
پنج شنبه 08 بهمن 1388, 14:25 عصر
با سلام
اولا من در برنامه نویسی ویندوز تازه کار هستم. پس، از سوالم تعجب نکنید.
من در حال نوشتن یک نرم افزار به عنوان GUI برای کنترل یک سخت افزار هستم. من به دلایل خاصی MFC را انتخاب کرده ام. این نرم افزار از کلاس CDialog به عنوان پایه استفاده کرده و از Dialog های تو در تو به صورت Child و هم زمان تشکیل شده است.
اکنون من نیاز به یک Editor مانند Notepad در این نرم افزار دارم. در نتیجه چند سوال دارم:

1- آیا انتخاب Cdialog درست بوده و یا MDI بهتر بود؟(نرم افزار یک برنامه کنترلی است و نباید Menu و Toolbar داشته باشد.)

2- برای ایجاد Editor آیا می توانم از کلاسهای CDocument,CRicheditview,CWnd که در SDI و MDI وجود دارد و امکانات بیشتری ارائه داده اند(Find & Replayce Dialog و ...) در در این برنامه که بر پایه Dialog است استفاده کنم و اصلا این کار درست و امکان پذیر است؟؟

3- و یا از CRichedit control استفاده کنم و Find&Replayce Dialog ها و غیره را خودم بسازم؟؟
در ضمن من نمای اولیه از نرم افزار را نیر ضمیمه کرده ام که از 8 Dialog تشکیل شده است.دلیل استفاده از چند Dialog این است که با زدن Buttonها Dialog های جدیدی ایجاد شده و قبلی ها Hide باید شوند.

Nima_NF
پنج شنبه 08 بهمن 1388, 16:08 عصر
1- اگر دیالوگ ها از پنجره اصلی جدا نمی شوند، چندان استفاده از MDI ضروری نیست. همان استفاده از حالت child برای سایر دیالوگ ها کافی می تواند باشد. MDI برای مواقعی ضروری هست که پنجره ها جداگانه می توانند حاوی اطلاعات مجزا باشند که مثلا با انتخاب آن ها نیازمند save کردن اطلاعت آن هستید، برای صرفا نمایش کاربردی نیست و برنامه پیچیده تر می شود.

(دقت کنید که در یک برنامه MDI لزوما menu و toolbar نباید وجود داشته باشند، خیلی راحت می توانید آن ها را مخفی یا حذف کنید.)

2- بله می توانید. یک dialog به نوعی یک window هست، یک دیالوگ می تواند هزاران پنجره در خود داشته باشد.

3- مانند قبلی، نظر شما هست. اگر CRicheditview برایتان مناسب نیست، از CRichedit استفاده کنید و خودتان سفارشی editor را بسازید (همانند خیلی از برنامه ها)