PDA

View Full Version : هم ترازی عناصر فرم



Batman
چهارشنبه 13 آذر 1387, 12:03 عصر
با سلام
لطفا عکسی رو که گذاشتم ببینید
دو تا label و دو تا edit
چجوری میتونم زمانیکه فرم رو fullscreen میکنم دو تا edit در همون سطری که قرار گرفتن مرتب بشن.یعنی اول label1 و بعد edit1 نصف سطر رو پر کنه و بعد label2 قرار بگیره و باقیمانده سطر با edit2 پر بشه
امیدوارم که تونسته باشم منظورم رو برسونم

Pr0grammer
چهارشنبه 13 آذر 1387, 12:09 عصر
اگه درست متوجه شده باشم؛ باید در پروپرتی Anchors گزینه های : akTop، akLeft، akBotton، akRight رو تغییر بدی!

مثلاً : akRight و akTop رو True و بقیه رو False کنی یا ....

mafazel
چهارشنبه 13 آذر 1387, 12:44 عصر
اگر من درست متوجه شده باشم فقط Label1 , Edit2 رو اتوماتیک میتونید تنظیم کنید بقیه رو دستی (با برنامه نویسی که در زمان اجرا اعمال می شوند).
در یک اندازه فرم اونا رو تنظیم کنید: Label1.akLeft: False, Label1.akRight: True و Edit2.akLeft: True, Edit2.akRight: false
بقیه رو باید دستی تنظیم کنید. مثلا برای Edit1 در OnResize فرم بنویسید:


Edit1.Left := Width div 2;
Edit1.Width := Label1.Left - Edit1.Left - 2; // -2 for 2 pixcel space between Label and Edit

به همین بروش برای Label2.Left و Edit2.Width

Batman
چهارشنبه 13 آذر 1387, 17:22 عصر
اگر من درست متوجه شده باشم فقط Label1 , Edit2 رو اتوماتیک میتونید تنظیم کنید بقیه رو دستی (با برنامه نویسی که در زمان اجرا اعمال می شوند).
در یک اندازه فرم اونا رو تنظیم کنید: Label1.akLeft: False, Label1.akRight: True و Edit2.akLeft: True, Edit2.akRight: false
بقیه رو باید دستی تنظیم کنید. مثلا برای Edit1 در OnResize فرم بنویسید:


Edit1.Left := Width div 2;
Edit1.Width := Label1.Left - Edit1.Left - 2; // -2 for 2 pixcel space between Label and Edit

به همین بروش برای Label2.Left و Edit2.Width
هر دو روش رو امتحام کردم ولی هیچکدوم جواب نداد
یعنی اصلا edit2 به انتهای فرم از سمت چپ نمیچسبه

mafazel
پنج شنبه 14 آذر 1387, 06:46 صبح
یعنی اصلا edit2 به انتهای فرم از سمت چپ نمیچسبه
منظورتون از این عبارت رو نمی فهمم. این پیش فرض دلفیه که عناصر فرم فاصله شون رو از سمت چپ فرم حفظ می کنند. شاید منظورتون رو خوب بیان نمی کنید و مشکل چیز دیگه ایه.