PDA

View Full Version : بازکردن فرم درون یک فرم دیگر



h_mohamadi
یک شنبه 20 تیر 1395, 18:14 عصر
سلام بر دوستان عزیز
می خواستم بدانم آیا این امکان در دلفی وجود دارد که در درون یک فرم که به عنوان فرم اصلی است یک فرم دیگر داخل این فرم باز شود که خواص آن مثل پنل که داخل فرم قرار دارد باشد یعنی دور نداشته باشد و امکان مشاهده و عدم مشاهده آن است برای یک فرم در داخل یک فرم می خواهم همین خاصیت را اجرا کنم آیا آمکان دارد

pezhvakco
یک شنبه 20 تیر 1395, 20:45 عصر
این جا رو نگاه بزن
http://barnamenevis.org/showthread.php?458260-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%DB%8C%DA%A9-%D9%81%D8%B1%D9%85-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-%D8%AF%D8%B3%D8%AA%DB%8C-%D8%8C-%D8%A8%D8%AF%D9%88%D9%86-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-Uses-%DA%A9%D8%B1%D8%AF%D9%86-%D9%81%D8%B1%D9%85

یوسف زالی
دوشنبه 21 تیر 1395, 00:18 صبح
سلام.
فریم ها رو برای همین کار درست کردند.
در مورد فریم جستجو کنید.

h_mohamadi
دوشنبه 21 تیر 1395, 16:09 عصر
سلام.
فریم ها رو برای همین کار درست کردند.
در مورد فریم جستجو کنید.


ممنون خیلی عالی بود و کارم را حل کرد و من یک فریم درست کردم و آیتم هایم را در فریم قرار دادم و در فرم اصلی کامپوننت فریم را گزاشتم و تمام فریم ها را قرار دادم و برای ویرایش دیگر نیاز به زیر و رو کردن پنل ها ندارم که خیلی عالی است
اما مشکلی که با فریم ها دارم این است که یک سری از رویدادهایی که در فرم می خواهم را ندارد
مثل form show می خواستم بدانم چطوری باید این کار را بکنم آیا راهی هست؟؟؟

یوسف زالی
دوشنبه 21 تیر 1395, 17:26 عصر
اگر دقیقا خود فرم رو می خواهید درون یک فرم دیگه و بدون mdi كردن اون به کار ببرید، که خیلی خیلی باید حواستون جمع باشه، راهکارهایی داره، که بعید می دونم هدف شما اون باشه.
به جای رویدادهایی مثل OnShow شاید بتونید از رویدادهایی مثل OnEnter و امثالهم استفاده کنید.
فريم با فرم يكم فرق داره، اگر دقیقا به رویداد OnShow برای چنین کاری نياز دارید، فکر می کنم به این معنیه که ران تایم دارید فریم اضافه می کنید، که خب در همون هنگام رویداد لازم نداره و کدهاتون رو هم اجرا می کنید، در غیر این صورت از همون رویدادهای فرم میزبان به جاش استفاده کنید.

arash_ebrahimi_nk
سه شنبه 22 تیر 1395, 09:39 صبح
اگر میخواهید یک پنجره درون پنجره دیگر قرار بگیره دو تا کار لازم هست

اول اینکه ویژگی WS_CHILDWINDOW رو به ویژگی هاش اضافه بکنید با کمک تابع SetWindowLong

و دوم پنجره مادر رو برای پنجره داخلی مشخص بکنید یه چیزی شبیه این ChildForm.Parent := MainForm

موفق باشید

h_mohamadi
سه شنبه 22 تیر 1395, 10:32 صبح
من دقیقا می خواهم مثل شکل زیر باشد
و می خواهم فرم های فرعی من بدون بکگراند و حالت شیشه ای بوده و بدون هيچ دور باشد و دقيقا انگار پنل داخل فرم اصلی است
فریم از یک جهاتی خیلی از مواردی را که من می خواهم را دارد مثل نداشتن بکگراند و ...
نمی دانم باید برای حل مشکلم چیکار کنم

141403