PDA

View Full Version : چطور یک UserControl مثل این بسازم؟



javad2000
پنج شنبه 07 تیر 1386, 19:58 عصر
سلام
این کامپوننت تاریخ فارسی برای vb2005 هست که شاید تا حالا خیلیهاتون ازش استفاده کرده باشید.
http://www.developercenter.ir/images/FarDate2005.jpg (http://www.developercenter.ir/forum/showthread.php?t=278)

همونطور که در این تصویر می بینید، یک TextBox و یک Button در بالا هست که با کلیک روی اون Button فهرست روزهای ماه ظاهر میشه.

من نمیخوام بپرسم که چطور تاریخ شمسی رو محاسبه می کنند، با جه فرمولی یا چه الگوریتمی و... . فقط چند سوال جزئی دیگه دارم که کم کم می پرسم و از پاسخ شما ممنون خواهم شد:

1- اون علامت فلش که رو به پایین هست (مثلث سیاه رنگ توپر که در Button بالایی هست) چطوری گذاشته شده؟ آیا از Image استفاده کردند یا یک کاراکتر خاص رو در پراپرتی Text گذاشته اند؟

2- چطور میشه در یک UC یک Button گذاشت که با کلیک روی اون Button یک UC دوم جلوی کاربر ظاهر بشه در حالی که فایل دومی هم به چشم نمی خوره؟

با تشکر

choobin84
جمعه 08 تیر 1386, 05:46 صبح
سلام
1- اون علامت فلش که رو به پایین هست (مثلث سیاه رنگ توپر که در Button بالایی هست) چطوری گذاشته شده؟ آیا از Image استفاده کردند یا یک کاراکتر خاص رو در پراپرتی Text گذاشته اند؟

2- چطور میشه در یک UC یک Button گذاشت که با کلیک روی اون Button یک UC دوم جلوی کاربر ظاهر بشه در حالی که فایل دومی هم به چشم نمی خوره؟


سلام
درمورد سئوال یک، احتمالا textbox نیست و یک combobox هست. البته اگر تکست باکس هم باشد ، اون قسمتیش که علامت مثلث داره یک button هست که براش کد نویسی کردن.

در مورد سئوال دوم ، میشه اینطوری فرض کرد که uc شما دارای کلاسها و کنترل های مختلفی است و در موقع نیاز اون توابع و کلاسها را فراخوانی می کنید.
میشه گفت مثل اینکه در یک نرم افزار شما چندین فرم دارید و در مرحله اول فقط فرم 1 برای شما نشان داده می شود ، حالا اگه روی یکی از دکمه های این فرم کلیک کنید ، فرم 2 باز بشه.

در ضمن این کنترل قشنگه ، ولی به نظر نمیاد کد نویسی اون خیلی سخت باشه.
موفق باشید

newgoldenman
شنبه 09 تیر 1386, 02:01 صبح
میشه این کامپوننت رو برای دانلود قرار بدین.
ممنون میشم.

javad2000
شنبه 09 تیر 1386, 03:16 صبح
سلام
اگه روی عکس اون کامپوننت کلیک کنید، لینک دانلود را در پست شماره 43 تاپیک مقصد پیدا خواهید کرد. این هم لینک مستقیم:
http://www.developercenter.ir/forum/showpost.php?p=12609&postcount=43

اَرژنگ
شنبه 09 تیر 1386, 04:08 صبح
سلام
اگه روی عکس اون کامپوننت کلیک کنید، لینک دانلود را در پست شماره 43 تاپیک مقصد پیدا خواهید کرد. این هم لینک مستقیم:
http://www.developercenter.ir/forum/showpost.php?p=12609&postcount=43
کاشکی میگفتید که سرسش جزوش نیست، متاسفانه به دانلود کردنش نمیاره
استفاده از دی‌ال‌ال ها و یا برنامه هایه اکسزی بدون داشتن سورس کدش درست نیست، مگر اینکه از یک شرکت معتبر باشه .
همینطوری که نمیشه فهمید ویروسی نداشته باشه ، مگر اینکه نویسند‌هاش را بتونیم بهش اطمینان داشته باشیم.
من میگم از این گونه چیزها استفاده نشه، بقیه چی فکر میکنند؟

choobin84
شنبه 09 تیر 1386, 07:17 صبح
کاشکی میگفتید که سرسش جزوش نیست، متاسفانه به دانلود کردنش نمیاره
استفاده از دی‌ال‌ال ها و یا برنامه هایه اکسزی بدون داشتن سورس کدش درست نیست، مگر اینکه از یک شرکت معتبر باشه .
همینطوری که نمیشه فهمید ویروسی نداشته باشه ، مگر اینکه نویسند‌هاش را بتونیم بهش اطمینان داشته باشیم.
من میگم از این گونه چیزها استفاده نشه، بقیه چی فکر میکنند؟
من خودم شخصا یا از dll هایی که خودم درست میکنم استفاده می کنم، یا dll های دیگران را تسلط بر کدشان مورد استفاده قرار میدم، یا نهایتا از dll های شرکت های معتبر مثل مایکروسافت ، Adobe و ... استفاده می کنم. dll غریب بدون وجود سورس ریسک خطرناکیه.

__H2__
شنبه 09 تیر 1386, 11:12 صبح
سلام
مشکل اصلی کنترلهای این تیپی فشار بیش از کد به برنامه است،
اینها برپایه UserControl ساخته میشوند و در حالی که تقویم بومی ویندوز فقط و فقط یک هندلر hWnd اشغال میکند و میگیرد این کنترلر حداقل بیش از 50 هندلر hWnd اشغال میکند!!!!!!!! یعنی گرچهع در ظاهر اقدام به لود کردن یک کنترلر کرده اید ولی در باطن برنامه شما در یک لحظه 50 کنترلر را بارگذاری کرده!!!!!!!
این مسئله اصلاً خوش ایند نیست و باعث کندی و عدم کارآئی برنامه میشود.

newgoldenman
شنبه 09 تیر 1386, 14:50 عصر
سلام
مشکل اصلی کنترلهای این تیپی فشار بیش از کد به برنامه است،
اینها برپایه UserControl ساخته میشوند و در حالی که تقویم بومی ویندوز فقط و فقط یک هندلر hWnd اشغال میکند و میگیرد این کنترلر حداقل بیش از 50 هندلر hWnd اشغال میکند!!!!!!!! یعنی گرچهع در ظاهر اقدام به لود کردن یک کنترلر کرده اید ولی در باطن برنامه شما در یک لحظه 50 کنترلر را بارگذاری کرده!!!!!!!
این مسئله اصلاً خوش ایند نیست و باعث کندی و عدم کارآئی برنامه میشود.


با توجه به صحبت های شما عزیزان پس از پست قبلی من اینجا، پشیمون شدم که ازش استفاده کنم، حتی برای تست و دیدن محیطش توی برنامه:لبخند:
حق با شماست. چه لزومی داره تا از کامپوننت هایی استفاده کنیم که سورسشون رو نداریم! چون بهشون اطمینان نمیشه کرد به هیچ وجه! مگر اینکه خودت نوشته باشی!