PDA

View Full Version : سوال: minimize کردن برنامه و تغییر سایز برنامه



amir91
یک شنبه 25 دی 1390, 11:18 صبح
سلام خدمت دوستان عزیز
1- من یک برنامه دارم میخواهم دکمه ای داشته باشم که برنامه را minimize کنه نه فرمی که باز است
2- سوال دوم در مورد تغییر سایز فرم ابتدای برنامه است که در مانیورهای متفاوت (از نظر سایز) خود تغییر سایز دهد

aromega65
یک شنبه 25 دی 1390, 19:17 عصر
سلام دوست عزیز با جستجو مطلبی که میخوای رو پیدا میکنی قبلا جواب داده شده

amir91
دوشنبه 26 دی 1390, 08:43 صبح
اگر امکان داره آدرس تاپیک مورد نظر را بگید؟

aromega65
دوشنبه 26 دی 1390, 20:40 عصر
سلام اینم تاپیک
http://barnamenevis.org/showthread.php?t=171477

amir91
سه شنبه 27 دی 1390, 09:41 صبح
فکر کنم سوال من را اشتباه متوجه شدید من برنامه زیر را دارم، می خواهم تا برنامه را باز می کنم با هر رزولیشنی فرم ابتدایی خود را تطبیق دهد و ثانیاً می خواهم دکمه مینیمایز روی فرم داشته باشم که تا برنامه کلیک کردم کل برنامه مینیمایز شود نه کل برنامه
http://uploadtak.com/images/uf2vn5dzeuvxixdn6s.zip

emami.sie
سه شنبه 27 دی 1390, 10:38 صبح
سلام
نمونه رو براتون اصلاح کردم
فقط دقت کنید که ماکسیمایز کردن فرم در رویداد on Resize فرم نوشته شده...
موفق باشید
یا علی

amir91
سه شنبه 27 دی 1390, 11:06 صبح
از لطفتون ممنون مشکل مینیمایز حل شد فقط مونده مشکل رزولیشن آیا امکان این مورد وجو دارد دارد . در فایل زیر botten ها پیدا نیست
http://uploadtak.com/images/16d2a7ixfv0qptzv3u.zip

amir91
چهارشنبه 28 دی 1390, 08:40 صبح
کسی می تونه کمک کنه؟؟؟؟؟

emami.sie
پنج شنبه 29 دی 1390, 08:30 صبح
با سلام
آقا بالاخره تونستم یه کاریش بکنم براتون...
راستش بعد کلی جستجو بالاخره یه ماژولی رو دراین زمینه پیدا کردم و نمونه رو براتون اصلاح کردم...
فقط دقت کنید که فرمهایی که می خواید تمام صفحه نشون داده بشن، باید در مقیاس 480*640 طراحی کنید، بعد این ماژول خودش براساس رزولوشن مانیتور های مختلف فرمتون رو مچ می کنه (جالبیش اینه که پس از بزرگ شدن فرم توی سیستمهای با رزولوشن بالا اصلا از کیفیت تکست های موجود در فرم کاسته نمیشه)...

یه نکته جانبی هم بگم که به نظرم یکی از بزرگترین مزایای سایت برنامه نویس هستش و اون هم اینه که من مدتها دنبال یه همچین کاری بودم ولی الان به خاطر اینکه جواب دوستمون رو بدم کلی گشتم تا به نتیجه رسیدم...
موفق باشید
یا علی

abdoreza57
پنج شنبه 29 دی 1390, 12:04 عصر
سلام

لطفا با نمونه 2003 ایجاد کنید ممنون

emami.sie
پنج شنبه 29 دی 1390, 12:24 عصر
سلام
این هم فرمت 2003
یا علی

pedram_ns
پنج شنبه 29 دی 1390, 15:44 عصر
آقای امامی ممنون ولی حداقل طوری میذاشتید که بشه کدهاش رو دید :ناراحت:

emami.sie
شنبه 01 بهمن 1390, 08:03 صبح
سلام جناب Pedram_ns
ببینید شما می تونید با پایین نگه داشتن دکمه Shift کیبورد و زدن همزمان open (در ورژن 2003) و و رفتن به options (در پایین منوبار اکسس 2007 (البته در صورتی که در قسمت Macro setting برنامتون گزینه Disable all macro with notification رو انتخاب کرده باشید)) و پایین نگه داشتن Shift و تیک زدن Enable This Content و بعد open، وارد محیط Design اکسس بشید و تغییراتتون رو اعمال کنید....
اگه مشکلی بود من در خدمتتون هستم...
یا علی

Younestalebi
پنج شنبه 31 فروردین 1391, 23:26 عصر
فقط دقت کنید که فرمهایی که می خواید تمام صفحه نشون داده بشن، باید در مقیاس 480*640 طراحی کنید،

چطور باید با این مقیاس طراحی کنیم آیا باید تنظیمات ویندوز را تغییر بدهیم یا روی فرم ها کار خاصی باید انجام بدیم

emami.sie
شنبه 02 اردیبهشت 1391, 09:37 صبح
چطور باید با این مقیاس طراحی کنیم آیا باید تنظیمات ویندوز را تغییر بدهیم یا روی فرم ها کار خاصی باید انجام بدیم

سلام
ببينيد فقط كافيه سايز فرمهاتون رو به صورت زير تغيير بديد...
عرض فرم (width): سانتيمتر 14.29 و ارتفاع فرم (Hight): سانتيمتر 8.31
اين اندازه ها مقياس 640*480 هستش
موفق باشيد
يا علي

G.hemati
شنبه 14 اردیبهشت 1392, 01:10 صبح
با سلام خدمت اساتید محترم
من وقتی برنامم رو در مانیتورهای with (کشیده) استفاده میکنم در سمت راست مانیتور یه فضای خالی ایجاد میشه و تمامی کنترلهای فرم در سمت دیگر قرار میگیره (تصویر زیر)


برای رفع مشکل من از روش و ماژول فوق استفاده کردم ولی به نتیجه نرسیدم و کنترلهای موجود در فرمم کاملاً به هم ریخته

در لینگ زیر و پست شماره 21 دوست عزیزمون در برنامش از ماژولی استفاده کردن که در انواع مانیتورها مشکل Resize رو حل میکنه . از دوستان اگه کسی توانایی دسترسی به این ماژول رو داره ممنون میشم برای استفاده ما در اکسس 2003 قرار بده

http://barnamenevis.org/showthread.php?345914-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%AD%D8%B3%D8%A7%D8%A8%D8%AF%D8%A7%D8%B1%DB%8C-%D8%AA%D8%AD%D8%AA-%D8%A7%DA%A9%D8%B3%D8%B3

در ضمن نمونه ای که از ماژول فوق استفاده کردم رو نیز ضمیمه کردم

ممنون و سپاسگذار

hamid-nice
شنبه 14 اردیبهشت 1392, 12:32 عصر
lاین مشکل من هم هست ولی هنوز از ماژولی که دوستمون emami.sie گذاشتند رو تست نکردم که ببینم جواب می ده یا نه؟ شاید خودشان بیایند جوابی ارائه کنند

ولی فایلی که لینکش را گذاشتید در پست 15 آن لینک دوم را بروید و در پنجره باز شده در قسمت access sample یک فایل برای resize قرار دادند با همان فرمتی که می خواهید ببینید جواب می دهد یا نه ؟
لینک مستقیم آن فایل هم در زیر هست :
http://hedesh.persiangig.com/Access_Sample/

در ضمن تا اونجایی که من بررسی کردم همان است که جناب emami.sie در بالا قرار دادند
در ضمن نمی دونم چرا شما هنوز با access2003 کار میکنید access 2010 به بالا قابلیتهایی داره که 2007 هم نداره مثلا رنگ دادن به Botton ها که در زیبا سازی آنها بسیار موثره

G.hemati
شنبه 14 اردیبهشت 1392, 22:20 عصر
ممنونم دوست عزیز


در ضمن تا اونجایی که من بررسی کردم همان است که جناب emami.sie در بالا قرار دادنددرست میفرمایین همان ماژولی است که جناب emami.sie استفاده کردن و نتیجه به شکل زیر پاسخ میدهد (همانطور که عنایت میفرمایین تمامی کنترلها به هم ریخته و بعضی ها از صفحه خارج شده)

در ضمن نمی دونم چرا شما هنوز با access2003 کار میکنید access 2010 به بالا قابلیتهایی داره که 2007 هم نداره مثلا رنگ دادن به Botton ها که در زیبا سازی آنها بسیار موثره یه مدت با 2007 کار کردم ولی یه جورایی با 2003 راحتتر بودم ، اون رو ادامه دادم . 2010 رو هم زیاد تست نکردم ولی در کل به نظر من خروجی مهمه و برای بدست اوردن خروجی مناسب مهم نیست که چه ابزاری به کار میگیری ، مهم آن است که چگونه به کار میگیری

hamid-nice
شنبه 14 اردیبهشت 1392, 23:41 عصر
با سلام
دوست گرامی
من رو نمونه شما کارکردم
1-دیدم که شما اصلا ماژول ایشان را وارد نکرده اید
2- تنظیات width , ... فرمتون کاملا فرق می کنه مثل نمونه آقای امامی در پست تنظیم کنید
3- در قسمت onload , ... هم همینطور
4- اعداد heght=4.0549 , width=5.7257 فرمتون را دقیقا همین تنظیم کنید
انشالله جواب میگیرید
من نمونه شما را البته با تغییرات و اختلال در فرمتون ضمیمه کردم فقط جهت اینکه ببینید که قابل تنظیم هست شما نمونتون را مرتب کنید و جواب را اعلام فرمایید

با تشکر

alirezabahrami
یک شنبه 15 اردیبهشت 1392, 00:17 صبح
با سلام خدمت اساتید محترم
من وقتی برنامم رو در مانیتورهای with (کشیده) استفاده میکنم در سمت راست مانیتور یه فضای خالی ایجاد میشه و تمامی کنترلهای فرم در سمت دیگر قرار میگیره (تصویر زیر)


برای رفع مشکل من از روش و ماژول فوق استفاده کردم ولی به نتیجه نرسیدم و کنترلهای موجود در فرمم کاملاً به هم ریخته

در لینگ زیر و پست شماره 21 دوست عزیزمون در برنامش از ماژولی استفاده کردن که در انواع مانیتورها مشکل Resize رو حل میکنه . از دوستان اگه کسی توانایی دسترسی به این ماژول رو داره ممنون میشم برای استفاده ما در اکسس 2003 قرار بده

http://barnamenevis.org/showthread.php?345914-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%D8%AD%D8%B3%D8%A7%D8%A8%D8%AF%D8%A7%D8%B1%DB%8C-%D8%AA%D8%AD%D8%AA-%D8%A7%DA%A9%D8%B3%D8%B3

در ضمن نمونه ای که از ماژول فوق استفاده کردم رو نیز ضمیمه کردم

ممنون و سپاسگذار
سلام
مقدار 96 را در ثابت Private Const DESIGN_PIXELS As Long = 96 به 60 تغییر دهید(قسمت ماژول عمومی)
در ضمنReSizeForm Me را قبل از DoCmd.Maximize
در رویداد Form_Open بکار ببرید!
موفق باشید

G.hemati
یک شنبه 15 اردیبهشت 1392, 00:21 صبح
با سلام
من از این قاعده پیروی کردم

ببينيد فقط كافيه سايز فرمهاتون رو به صورت زير تغيير بديد...
عرض فرم (width): سانتيمتر 14.29 و ارتفاع فرم (Hight): سانتيمتر 8.31
اين اندازه ها مقياس 640*480 هستش
موفق باشيد
يا علي در ضمن من در بعضی از فرمهام کنترلهای زیادی رو باید جابدم که ابعاد heght=4.0549 , width=5.7257 بسیار کوچک است
در ضمن تصویر خروجی نمونه ای که پیوست فرمودین به شکل زیر است

G.hemati
یک شنبه 15 اردیبهشت 1392, 00:37 صبح
با سلام استاد گرامی

سلام
مقدار 96 را در ثابت Private Const DESIGN_PIXELS As Long = 96 به 60 تغییر دهید(قسمت ماژول عمومی)
در ضمنReSizeForm Me را قبل از DoCmd.Maximize
در رویداد Form_Open بکار ببرید!
موفق باشید من موارد شما رو انجام دادم و خروجی به شکل زیر شد

alirezabahrami
یک شنبه 15 اردیبهشت 1392, 01:28 صبح
با سلام استاد گرامی
من موارد شما رو انجام دادم و خروجی به شکل زیر شد
سلام
این دفعه از یک روش دیگر استفاده کن!
روزولیشن را در حالت های مختلف تغییربده و برنامه را اجرا کن
نمونه برنامه اصلاح شده خودت را از ضمیمه دانلود و ملاحظه کن!
موفق باشید

G.hemati
یک شنبه 15 اردیبهشت 1392, 15:17 عصر
بسیار عال بود استاد

ممنون بابت زحمتی که کشیدی . فقط برای بهتر و حرفه ای تر شدن ، در فایل ضمیمه یه ماژولی به کار رفته که در هنگام اجرای برنامه با روزولیشن دلخواه برنامه اجرا میشه (مثلاً همون 1024 معروف) و در هنگام بسته شدن برنامه ، سیستم به تنظیمات و روزولیشن قبلی برمیگرده . مثل یکسری از بازی و برنامه

اگه بشه این قسمت کار رو به ماژول و روش خودتون اضافه کنین عالی میشه . من هر چقدر سعی کردن نتونستم جواب بگیرم

alirezabahrami
یک شنبه 15 اردیبهشت 1392, 23:51 عصر
بسیار عال بود استاد

ممنون بابت زحمتی که کشیدی . فقط برای بهتر و حرفه ای تر شدن ، در فایل ضمیمه یه ماژولی به کار رفته که در هنگام اجرای برنامه با روزولیشن دلخواه برنامه اجرا میشه (مثلاً همون 1024 معروف) و در هنگام بسته شدن برنامه ، سیستم به تنظیمات و روزولیشن قبلی برمیگرده . مثل یکسری از بازی و برنامه

اگه بشه این قسمت کار رو به ماژول و روش خودتون اضافه کنین عالی میشه . من هر چقدر سعی کردن نتونستم جواب بگیرم
سلام
در فایل ضمیمه مورد خاصی برای برگشت روزولیشن به حالت قبل ندیدم، اما دو راه برای اینکار وجود دارد که فقط به آنها اشاره ای میکنم انشاءالله دوستان عزیزخود بدنبال انجام این دو راه باشند.
یک راه اینکه در هنگام بالا آمدن فرم استارت آپ از طریق تابع GetScreenResolution روزولیشن رااز طریق تابع SaveSetting در رجیستری ذخیره و با فراخوانی آن از طریق تابع GetSetting درهنگام خروج از برنامه روزولیشن را به حالت اولیه (ذخیره شده) برمی گردانیم.
دوم اینکه همین کار را از طریق ذخیره روزولیشن در یک فایل تکست در کنار برنامه و فراخوانی آن در هنگام خروج از برنامه انجام دهیم.
تذکر: ایجاد فایل تکست و ذخیره روزولیشن در آن و همچنین فراخوانی آن در درون برنامه انجام میشود.
موفق باشید

G.hemati
سه شنبه 17 اردیبهشت 1392, 23:36 عصر
با سلام


یک راه اینکه در هنگام بالا آمدن فرم استارت آپ از طریق تابع GetScreenResolution روزولیشن رااز طریق تابع SaveSetting در رجیستری ذخیره و با فراخوانی آن از طریق تابع GetSetting درهنگام خروج از برنامه روزولیشن را به حالت اولیه (ذخیره شده) برمی گردانیم.
دوم اینکه همین کار را از طریق ذخیره روزولیشن در یک فایل تکست در کنار برنامه و فراخوانی آن در هنگام خروج از برنامه انجام دهیم. متاسفانه موفق به انجام این روشها نشدم

ولی در نمونه ای که در پست 24 ضمیمه است حاوی کد زیر در محیط کدنویس فرم میباشد و در داخل ماژول نیست به نظرم شاید این قطعه کد کار همان بازگشت به روزولیشن قبل سیستم میشود .


Sub changeres(a1, a2)
Dim typDevM As typDevMODE
Dim lngResult As Long
Dim intAns As Integer
' Retrieve info about the current graphics mode
' on the current display device.
lngResult = EnumDisplaySettings(0, 0, typDevM)
' Set the new resolution. Don't change the color
' depth so a restart is not necessary.
With typDevM
.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
.dmPelsWidth = a1 'ScreenWidth (640,800,1024, etc)
.dmPelsHeight = a2 'ScreenHeight (480,600,768, etc)
End With
' Change the display settings to the specified graphics mode.
lngResult = ChangeDisplaySettings(typDevM, CDS_TEST)
End Sub

عالی میشود اگر یکی از اساتید زحمت تکمیل کردن این نمونه رو بکشن . مطمئنا دوستانی که برنامه هاشون در محیط چند کاربره استفاده میشه با این مشکل رو برو هستن

alirezabahrami
چهارشنبه 18 اردیبهشت 1392, 19:38 عصر
با سلام

متاسفانه موفق به انجام این روشها نشدم

عالی میشود اگر یکی از اساتید زحمت تکمیل کردن این نمونه رو بکشن . مطمئنا دوستانی که برنامه هاشون در محیط چند کاربره استفاده میشه با این مشکل رو برو هستن
سلام
نمونه ضميمه به روش ذخيره رزوليشن در يك فايل تكست كه به هنگام باز شدن فرم در كنار برنامه ايجاد ميشود تهيه گرديده كه انشاءالله مورد توجه دوستان قرار بگيرد.
رزوليشن مانيتور خود را در حالتهاي مختلف تغيير داده و اقدام به اجراي برنامه نمائيد!
ضمناً اگر نمونه مورد پسند دوستاني كه اقدام به دانلود مي نمايند قرار گرفت كم لطفي نكنند و با فشار دادن دكمه تشكر نظر مثبت خودشان را اعلام نمايند . و اگر هم ايرادي در آن مشاهده مي نمايند باز هم اعلام بفرمايند تا اصلاح لازم صورت گيرد.
اينكه عرض كردم دوستان با فشار دادن دكمه تشكر نظر مثبت خودشان را اعلام نمايند، سوءتفاهم پيش نيايد؛ بنده نياز به جمع كردن تشكر ندارم ، صرفاً دوست دارم بدانم كه كاري كه ارائه نموده ام تا چه حد مورد توجه قرار گرفته است.
مطمئناً اين نمونه براي خيلي از دوستان به استثناء دوستان حرفه اي كاربردي مي باشد.


موفق باشيد

G.hemati
چهارشنبه 18 اردیبهشت 1392, 20:23 عصر
بسیار عالی بود استاد گرامی ممنون بابت پیگیری و زحمتی که کشیدین

جسارتاً یه سئوال فقط جهت اطلاع و کنجکاوی :

آیا میشه کل ماژولهای موجود در نمونه رو در یه ماژول جمع آوری و استفاده کرد ؟

alirezabahrami
چهارشنبه 18 اردیبهشت 1392, 20:43 عصر
بسیار عالی بود استاد گرامی ممنون بابت پیگیری و زحمتی که کشیدین

جسارتاً یه سئوال فقط جهت اطلاع و کنجکاوی :

آیا میشه کل ماژولهای موجود در نمونه رو در یه ماژول جمع آوری و استفاده کرد ؟
سلام
مشكلي نداره ، فقط در ابتداي هر ماژول يك توضيحي مختصري در خصوص كاربرد آنها وارد كن تا بعداً محل ابهامي برايت باقي نماند.
موفق باشيد