با سلام به همگی دوستان
یه سوال برام پیش اومده و انم اینه که چجوری با برنامه نویسی
می شه به خواصی یه کنترل دست پیدا کرد
مثلآ من برای اینکه بیام و متن یک ادیت باکس رو تغییر بدم باید
بیام از تابع SetWindowText استفاده کنم یا راه بهتری هم داره
مثل وی بی
با تشکر
خسرو جان سلام
کلا توی ++VC دو راه برای تبادل اطلاعات بین کنترل و برنامه وجود داره :
1 - خواص و توابع خود کلاس کنترل ها که تقریبا ضعیف هستند . اون توابع بیشتر همون حالت های کلی توابع API هستند .
2- استفاده از مکانیسمی توی MFC با نام DDX که قدرت بالایی رو داره و تقریبا یک چیزی تو مایه های VB رو واست میسازه .
اگه تو MFC برنامه مینویسی DDX بهترین راهه ( بحثش خیلی مفصله ! ) ولی واسه برنامه های غیر MFC با همون API باید خواص رو کنترل کنی .
خیلی ممنون
باید روش کار کنم
من یه کتاب وی سی رو تقریبآ به طور کامل خوندم ولی یه چیز رو
هیچ جاش نگفته و اون اینه که
چه موقع از پروژه MFC Application استفاده می کنیم و چه موقع از
از Win32 Application استفاده می کنیم
واصلآ وقتی MFC Application اینهمه امکانات داره چه ضرورتی داره از Win32
Application استفاده کنیم
با تشکر
نقل قول: من یه کتاب وی سی رو تقریبآ به طور کامل خوندم ولی یه چیز رو
هیچ جاش نگفته و اون اینه که
چه موقع از پروژه MFC Application استفاده می کنیم و چه موقع از
از Win32 Application استفاده می کنیم
واصلآ وقتی MFC Application اینهمه امکانات داره چه ضرورتی داره از Win32
Application استفاده کنیم
گفتم که تو ایران مرجع درست حسابی زیاد پیدا نمیشه چون یه عده از ایرانی جماعت ، مثل بقیه کاراشون ، هر چیز که در فهمشون نباشه سانسور می کنن !
حالا چه وقت از MFC استفاده کنی و چه وقت استفاده نکنی بستگی به موقعیت خودت داره .
برنامه هایی که با MFC نوشته میشن نیاز به DLL های خاص MFC دارند تا بتونند رو کامپیوتر های دیگه اجرا بشن چون برنامه به حالت داینامیک بهشون لینک میشه ! اگه هم شما لینک شدن رو static کنی ، اگر چه نیازی به DLL های MFC نیست ، ولی حجم برنامه ات بالا میره چون تمام کد توابع DLL اونوقت باید توی فایل Exe کپی بشه !
بعضی وقتها شما به کنترل بیشتری نیاز داری و دوست داری که برنامه ات با ویندوز و پیغام ها بطور بدون واسطه در ارتباط باشه ، اون موقع است که استفاده از MFC رو باید کنار بگذاری و خودت دست بکار بشی و کد ها و حلقه پردازش پیغام ها و .... رو خودت بنویسی . مثالش بازی های کامپیوتری یا نرم افزارهای تمام گرافیکی هست که نیاز به کنترل بیشتری دارند و از MFC استفاده نمی کنند ! نکته بعدی هم اینه که اگه شما مستقیما برای ویندوز برنامه بنویسی ، دیگه نمیتونی از قدرت های شی گرایی ++C استفاده کامل رو ببری مگه اینکه خودت بخوای یک کتابخونه مثل MFC بسازی که کار خیلی سختیه !
در این حال ، اگر چه برنامه نویسی با MFC سخت نیست ولی بسیار راحت هم نیست و نیاز به تجربه و دانش بالای ++C و شناخت کامل از ساختمان MFC framework داره .
ممد جان خیلی خیلی ممنون
الان یه چیزایی دستگیرم شد
می گم این DDX به طور کل جدا از برنامه نویسیش چه مفهومی داره
یه تعریف کلی ازش اگه ممکنه برام بگو ؟
با تشکر
تعریف کلی DDX : DDX یا Dynamic Data Exchange مکانیزمی در کتابخونه یا فریم ورک MFC هست که به شما اجازه میده بین کنترل ها و داده های برنامه تبادل اطلاعات داشته باشید . مثال : ما میخوایم یک textbox با متن قابل کنترل داشته باشیم .با کمک DDX یک متغیر در کلاس خودمون تعریف میکنیم مثلا از نوع string و بعد اون متغیر بطور اتوماتیک و از طریق روابط و ساختمان MFC به یک متن کنترل Textbox نسبت میدیم ! حالا هر تغییر در اون متغیر بطور داینامیک در مقدار داخل کنترل Text تاثیر میگذاره و در واقع شما از شر مشکلات تبادل اطلاعات بطور مستقیم خلاص میشی . کلاسهای MFC همه کارها رو رله می کنن !
دستت درد نکنه خیلی ممنون
نقل قول: کلاسهای MFC همه کارها رو رله می کنن !
ایول اینو خوب اومدی
امیدوارم کردی
سلام
فکر کنم این مربوط به همین که گفتید باشه
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_ddx_fieldtext.asp