دیالوگ ایجاد می شود اما در برنامه کامپایل شده به آن دسترسی نداریم.
تمرین ششم درس برنامه نویسی پیشرفته
نوشته شده توسط مدیر سایت سه شنبه 26 آبان 1388 ساعت 13:22
در برنامه نمایش تصویر دیدیم که می توان مختصات نقطه ای که تصویر از آنجا نقاشی شود و طول و عرضی که باید اشغال کند را به دلخواه تغییر داد. می خواهیم این پارامترها را از کاربر بگیریم. یعنی دو مختصات x و y که نقطه شروع را تعیین کنند و دو پارامتر طول و عرض که طول و عرض نمایش تصویر را مشخص کنند. برای این منظور یک دیالوگ به برنامه نمایش تصویر اضافه کنید که چهار پارامتر فوق را از کاربر بگیرد (مثلا یک منوی تنظیمات اضافه کنید که با کلیک روی آن دیالوگ فوق باز شود) ضمنا این چهار پارامتر را به صورت باینری در یک فایل با نام settings.bin ذخیره کنید و در اجرای بعدی برنامه آنها را خوانده و اعمال کنید. برای دیدن مثال، ادامه مطلب را ببینید.
مثال: در حالت عادی تصویر به صورت زیر است:

اگر کاربر مقادیر زیر را وارد کند، نمایش تصویر به صورت شکل زیر خواهد شد:
x: 50, y:20, width: 500, height: 500

نکته: همان طور که در تصویر فوق دیده می شود و شما تجربه خواهید کرد تصویر تغییر مقیاس یافته ظاهر خوبی ندارد برای این مشکل می توانید از تابع SetStretchBltMode متعلق به کلاس CDC کمک بگیرید. تحقیق کنید:

-
|*** 2009-11-23 ساعت 11:29:02 *** دانشجولطفا کمی در مورد ایجاد دیالوگ جدید در یک فایل توضیح دهید.
دیالوگ ایجاد می شود اما در برنامه کامپایل شده به آن دسترسی نداریم.
-
|*** 2009-11-23 ساعت 11:31:39 *** دانشجوی دیگر (فعال)( active loدر مورد sAVE کردن فایل باینری کمی راهنمایی فرمائید. دستورات مورد نیاز را نداریم.
ضمنا لطف نموده، کمی زمان تحویل این تمرین را تمدید نمائید. چون یه خورده میان ترمامون زیاده، همشم تو همین هفته و هفته بعد افتاده.
-
|*** 2009-11-23 ساعت 12:55:15 *** مدیر سایت - ذخیره سازی فایل باینریبرای ذخیره کردن فایل کار خاصی لازم نیست. پس از اینکه با دستور fwrite اطلاعات را در فایل نوشتید، از دستور fclose استفاده کنید تا فایل ذخیره شود.
در مورد دیالوگ، در resource های برنامه یک دیالوگ جدید بسازید و سپس روی آن کلیک راست کرده و یک کلاس برای آن ایجاد کنید (Add class) حال در جایی که می خواهید دیالوگ را نشان دهید، یک نمونه از این کلاس ایجاد کرده و با دستور DoModal آن را نمایش دهید.
-
|*** 2009-11-23 ساعت 23:20:02 *** همان دانشجواستاد اگر لطف کنید درمورد این دستورdomodal() بیشتر ازبیش توضیح دهید ممنون
-
|*** 2009-12-29 ساعت 20:56:50 *** رضاسلام استاد.
برای مرتفع کردن erroreزیر چه باید بکنم؟
Error 2 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

