ايران ويج

نسخه‌ی کامل: فرم با شکل دلخواه
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام

اگه بخوایم ظاهر فرمی که داریم به صورت های دلخواه باشه مثل تصویر زیر,چی کار باید بکنیم
[تصویر:  form.jpg]
خداحافظ
از كنترل Shape Form استفاده كنيد...
روي سيستمم گشتم ولي پيداش نكردم اما توي بخش اصلي سايت هست مي تونيد اونجا سرچ كنيد كنترل زيادي براي اينكار هست
سلام
شاید این براتون مفید باشه
(۲۸-شهریور-۱۳۸۷, ۰۱:۴۲:۲۱)EleRam نوشته است: [ -> ]از كنترل Shape Form استفاده كنيد...
روي سيستمم گشتم ولي پيداش نكردم اما توي بخش اصلي سايت هست مي تونيد اونجا سرچ كنيد كنترل زيادي براي اينكار هست
سلام

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

(۲۸-شهریور-۱۳۸۷, ۰۲:۳۵:۲۱)HoseinVig نوشته است: [ -> ]سلام
شاید این براتون مفید باشه
سلام

خیلی جالب بود اما منظورم من چیزی ماورا Amaze این چیزاهاست(کدی که شما قرار دادید خیلی جالبه(قبلا سورسشو دیده بودم)اما اون چیزی که می خوام نیست)
حالا من چی می خوام
روشی که بتونیم فرم رو به هر شکلی که می خوایم تاکید می کنم به هر شکلی مثلا هیکل یه آدم یا همون شکل بالایی یا... بتونیم در بیاریم.
بازهم از هر دو تشکر می کنم به خاطر پاسخی که دادند

خداحافظ
این مقاله به معرفی یک ActiveX می پردازد که به ما اجازه می دهد فرمهایی با اشکال گوناگون و بر خلاف شکل مستطیل شکل معمول بسازیم. گر چه ما می توانیم این کار و بسیاری از تکنیکهای پیچیده برنامه نویسی ویژوال که به طور معمول در ساختار دستور زبانهای برنامه نویسی ویژوال مانند Visual Basic یا Delphi نمی گنجد را با توابع Windows API انجام دهیم لیکن در مواردی به دلیل پیچیدگی نحوه استفاده و همپنین مفهوم کاربردی این توابع , می توان کامپوننتهای ActiveX ای یافت که کار مورد نظر ما را به شکل ساده تری انجام دهد .

کامپوننت مورد بحث در این مقاله IrregForm نام دارد که به فایل IrregForm.ocx اشاره می کند و ما را قادر می سازد فرمهایی با اشکال غیر معمول بسازیم .
نحوه استفاده :
ابتدا باید شکل فرم دلخواه خود را بصورت عکس با فرمت bmp طراحی کنیم و آنرا به خاصیت Picture فرم ویژوال بیسیک انتساب دهیم.
[تصویر:  frm.gif]
خصوصیت BorderStyle فرم را صفر کنیم.
فرم را هم سایز عکس کنیم.
خاصیت TransparentColor کامپوننت IrregForm را معادل رنگی از عکس که میخواهید Transparent شود قرار دهید.
برنامه را اجرا کنید.
اگر خاصیت AllowFormDrag کامپوننت IrregForm را True کنیم می توانیم فرم را به طور اتوماتیک Drag کنیم.
اگر بخواهیم با کلیک بر روی یک کنترل از فرم مثلآ یک Label فرم Drag شود باید در رویداد MouseDown آن کنترل متد DragNow کامپوننت IrregForm را فراخوانی کنیم.
من یک برنامه نمونه را با VB تهیه کرده ام که در صورت تمایل می توانید آنرا Download کنید. ضمنآ در این برنامه چند الگوریتم زمانبندی سیستم عامل شبیه سازی شده است که ارتباطی با مورد بحث این مقاله ندارد.
برای استفاده از این برنامه نمونه باید ابتدا کامپوننت های IrregForm.ocx و HotButton.ocx را در ویژوال بیسیک Load کنید
دانلود
يه تصوير مثل هموني كه گذاشتيد رو بندازيد رو پس زمينه بعد با توبع API رنگ دلخواهتونو حذف كنيد. چون حوصله توضيح نيست مثال ميزنم.
سلام

آقا lord_viper فکر کنم لینک دانلود خراب باشه اگه می شه خودتون یه تست کنید و در صورت خراب بودن لینک سالم بزارید(ممنون می شم).
ajlajlajl همون چیزی بود که می خواستم اگه بعدا به مشکلی در این مورد برخوردم در همینجا می گم.
خیلی خیلی ممنونم

خداحافظ
سلام

آقا این کد شما زیلد هم تو کارش دقیق نیست.به تصویر زیر نگاه کنید و ببینید که قسمتی هایی از رنگی کا باید نامرئی می شد هنوز نامرئی نشده
[تصویر:  form%20transparent.jpg]

آیا راه حلی برای دقیقتر عمل کردن وجود داره؟

خداحافظ
اتفاقا از دقت زيادشه!!

براي اينكه با اينجور مشكلات مواجه نشيد از تصاويري با فرمت JPG ‌استفاده نكنيد . من معمولا تصاوير رو در فتوشاپ به

PNG يا GIF با بكگراند تراسپارنت تبديل مي كنم و بعد از قرار دادن اون روي فرم، رنگ پس زمينه فرم رو به عنوان رنگي كه بايد

محو بشه قرار مي دم تا كار نهايي كاملا بي نقص و خالي از هر گونه زاعده يا محو شدن بي جا باشه.
ببینید اینها چطوره؟ (خودم تست نکردم)

[attachment=1498]
[attachment=1499]