باسلام
برای بدست آوردن رزولیشن صفحه نمایش کاربران برنامه و تنظیم سایز اشیاء متناسب با آن چه روشی را پیشنهاد می کنید ؟
Printable View
باسلام
برای بدست آوردن رزولیشن صفحه نمایش کاربران برنامه و تنظیم سایز اشیاء متناسب با آن چه روشی را پیشنهاد می کنید ؟
بهترین کار طراحی اشیاء در یک رزولیشن و سپس در هنگام لود شدن نرم افزار با استفاده از توابع API تغییر رزولیشن کامپیوتری که برنامه رو باز میکنه به رزولیشن زمان طراحی و در هنگام خروج باز گشت به رزولیشنی که قبلا بوده همانند اون چیزی که در Game ها اتفاق می افته...
دانلود نمونه برنامه
درپایان من این برنامه رو از خود این سایت دانلود کردم فکر میکنم شاپرک جان زحمت کشیده بودن مهندس تاپیک تکراری با قیچی سانسور مواجه میشه فرقی نمی کنه کیه ها:قهقهه:
مهندس جام ممنونم ولی به چشمم نخورد .
حالا هم اگه شما دستور بدی و لینکشو بهم بگی خودم قیچیش می کنم .
ضمنا در مورد تغییر رزولیشن خیلی مطلب دیدم البته بیشتر تو VB اما به نظرم کار جالبی نیست که ما موقع بالا اومدن برناممون رزولیشن کاربر بیچاره رو تغییر بدیم این اصلا User freindly نیست چون ممکنه در طول روز به طور متناوب از برنامه ما استفاده کنه و بخواد اونو تو Task نگه داره اونوقت باید یا از رزولیشن دلخواه خودش صرف نظر کنه یا از برنامه ما .
ولی اگه برنامه طوری طراحی بشه ( حالا نه صد در صد ) که با رزولیشن های متفاوت تغییر سایز بده بهتره .
اگه نمونه ای فقط برای بدست آوردن رزولیشن دارید ممنون می شم .
کسی که نظری نداد یک راهی به نظرم رسید که جواب داد به این صورت که هنگام اجرای برنامه فرم اول که اندازه ثابتی داره رو مورد بررسی قرار بدیم و ببینیم در هر رزولیشن عدد left و Top اون چقدر هست به این صورت می تونیم رزولیشن صفحه رو بدست بیاریم .
منم همین مشکل رو دارم ممکنه بیشتر توضیح بدین یعنی اون فرمی که تو استارت آپ باز میشه رو باید چک کنیم؟
بله همینطوره در قیمت onload اون فرم با نوشتن این کد ساده میشه رزولیشن رو تشخیص دادSelect Case Form.WindowLeft
Case Is > 6000
Msgbox "Resulation = 1024"
Case 4500 To 6000
Msgbox "Resulation = 800"
Case Is < 4500
Msgbox "Resulation = 640"
End Select
در VB از این میشه استفاده کرد :
ResWidth = Screen.Width \ Screen.TwipsPerPixelX
ResHeight = Screen.Height \ Screen.TwipsPerPixelY
ScreenRes = ResWidth & "x" & ResHeight
MsgBox (ScreenRes)
ولی تو اکسس Screen پیدا نکردم
شما چیزی معادلش سراغ دارید ؟
روش شما درسته من روش Vb رو گفتم .
بدلیل اینکه فرم های وبی داری Hwnd خودشون هستن ولی در اکسس کل برنامه دارای یک Hwnd هستش برای اینکار باید از کد معادل زیر برای Screen استفاده کنین.
Screen.ActiveForm
جالبه .... پس اکسس یک hwnd داره !
ببخشید مهندس جون منظورمو خوب نگفتم
اینی که شما گفتید درسته اما چطور میشه ازش برای بدست آوردن رزولیشن استفاده کرد چون Width و Height مربوط به فرم اکتیو رو می ده نه رزولیشن صفحه نمایشو .
شرمنده من فقط با اون پست خواستم بگم که دنبال Screen نگردین تو API چیزی برای رزولشن نداریم؟
سنبله کار اضیض ،در حر ثورط 640 نشون میده :(
اگه کد نویسیتون هم مثل جمله بالا باشه ( 3 تا غلط املائی ) همون 640 هم که داده خیلی عالیه .
:قهقهه:
به نکات زیر توجه بفرمایید :
1- مقدار فضای دیتل فرم و size پنجره فرم رو به کمترین مقدار کاهش بدید.
2- Autoresize غیر فعال باشه .
3- Autocenter فعال باشه .
حالا دوباره بعد از هر بار تغییر رزولیشن امتحان کنید حتما جواب میده .
من نمی دونم درست متوجه شدم یا نه اما این فایل رو ببینید
البته من تا جایی که یادم میاد از یکی از مباحث فروم خودمون دانلودش کردم
yes dorost shodنقل قول:
نوشته شده توسط سنبله کار
دمت گرم :تشویق::تشویق::تشویق: