سلام
اقا من برنامه هامو وقتي طراحي ميكنم رزولوشن مانيتور روي 1024×768 اخه با كمتر اين نميتونم
حالا مشكلم اينه كه وقتي برنامه رو روي سيستم ديگه با رزولوشن پايين تر اجرا مي كنيم نصف صفحه ديده نميشه
ممنون (اقا نستا و سولجر عزيز چشمم به شماست)
سلام
اقا من برنامه هامو وقتي طراحي ميكنم رزولوشن مانيتور روي 1024×768 اخه با كمتر اين نميتونم
حالا مشكلم اينه كه وقتي برنامه رو روي سيستم ديگه با رزولوشن پايين تر اجرا مي كنيم نصف صفحه ديده نميشه
ممنون (اقا نستا و سولجر عزيز چشمم به شماست)
برادر عزیز
را حل این مشکل اینه که شما باید برای اجرای پنجره برنامه خودتون درصد تنظیم کنید که در هر نوع سایزی از روزلیشن
تمام صفحه رو پر کنه
عزيز ممنونم جواب دادي
اما واضح تر بگي ممنون ميشم يه مثال هم بزن
سلام
این رو بزار توی قسمت OnCreate
var
DevMode: TDeviceMode;
begin
EnumDisplaySettings(nil, 0, DevMode);
DevMode.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
DevMode.dmPelsWidth := هر چه قدر که برنامه ات نیاز داره;
DevMode.dmPelsHeight := هر چه قدر که برنامه ات نیاز داره;
ChangeDisplaySettings(DevMode, 0);
end;
البته اینو بگم این صفحه رو به مقداری که گذاشتی می بره.
و باید بعد از خروج برنامه ات به حالت اول برگردونی.
مثلآ باید دو متغیر بزاری که قبل از تغییر صفحه اندازه صفحه رو ذخیره کنه.
و در قسمت OnClose باید به حالتی که در دو متغیر ذخیره کردی ببره.
یعنی برنامه یا بازی که اجرا شد به اندازه نیاز رزولیشن رو ببره و در
هنگام خارج شدن به حالت اول برگردونده بشده.
امید وارم که دقیق موضوعی رو که گفتم متوجه شده باشی.
موفق باشی
اما بهتره بگم این به روش تغییر رزولیشن است.
اگه روش دیگه ای بدون تغییر رزولیشن نیاز داشتی
در خدمت شما هستم
پيشنهاد من اينه كه اندازه صفحه اصلي برنامت خيلي بزرگ نباشه.
چون از مشخصات يك برنامه فراگير حداقل اينه كه تو همه كامپيوترها قابل اجرا باشه.
اگه يكي كارت گرافيك 2 مگابايتي داشته باشه (معمولا تو شركتهايي كه فقط كار حسابداريشون با كامپيوتره ميبيني)
اون وقت برنامت براي اون قشر بي ارزش ميشه.
ميتوني اجزای صفحه رو بر اساس فاصله از هم طراحی کنی و در این صورت هیچ وقت اجزای فرم از تصویر خارج نمی شوند.نوشته شده توسط مرد مباح
مثلا" دکمه ای که از انتهای راست صفحه 5 پیکسل فاصله دارد:
;button1.left = form.width - button.width -5
سلام
می تونی هم یه کار خیلی خیلی خیلی ساده
تمام کپوننت های فرم رو انتخاب کنی
و قسمت : Anchors
تمامی آنها را خاموش(False) کنی
اگر درست نشد بهتره akLeft , AkTop فالس کنی
و akRight , akBottom رو ترو کنی
بستگی به طراحی فرم داره هر دو رو امتحان کن.
كاملا با نظر شما موافقم.نوشته شده توسط codemaster
ولي اين كار يك دانش برنامه نويسي قوي ميخواد .
و اگه صفحه به صورت فشرده ايجاد شده باشه امكان اين كار نيست.
ميتو.ني از صفحه هاي چند تايي استفاده كني.
يك چيزي مشابه بازي كه در لينك زير خودم گذاشتم.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
البته تاكيد من روي تعداد صفحاتش در اندازهاي بسيار كم و تعداد كامپوننتهاي زياد براي كار اين بازيه.
سلام
اگر پروبرتي : Anchors
تمامی آنها را فالس کنی
درست مي شه تمام صفحه رو پر ميكنه
اقا خيلي ممنون كه راهنمايي كردين
امروزامتحان ميكنم
البته به يك نكته اشاره كنم واون اينكه من مثلا قبل از طرح اين سوال اندازه ي فرمم رو در رزولوشن 800×600 تنظيم كردم تا در سيستم هايي كه بيشتر از اونو پشتيباني نميكنه مشكل نداشته باشه . اما وقتي رزولوشن مانيتورم رو به 1024×768 برگردوندم همه عناصر به سمت چپ برنامه چسبيدند . جاگيريشون بهم نخوردها . فقط همه در اندازه كوچيكتر سمت چپ برنامه قرار گرفتند
حالا ميرم با ابن Anchors ور ميرم ببينم چيميشه
بازم ممنون كه جواب دادين
يا حق
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)