PDA

View Full Version : مبتدی: کامند هایی به شکل دایره یا مثلث



mr-adler
دوشنبه 09 آبان 1390, 12:10 عصر
سلام خدمت همه دوستان
ایا میشه کامندی به شکل دایره یا مثلث ساخت با خود وی بی6 ؟یعنی بدون کامپونت خارجی.

مچکرم:قلب:

_behnam_
سه شنبه 10 آبان 1390, 12:06 عصر
میشه با ترکیب چند عکس و با استفاده از رویدادهای موس کامند رو به اشکال مختلف ساخت

mr-adler
سه شنبه 10 آبان 1390, 14:48 عصر
میشه با ترکیب چند عکس و با استفاده از رویدادهای موس کامند رو به اشکال مختلف ساخت
سلام
ممنون که جواب دادید...
چند روش رو که امتحان کردم تو هیچ کدوم موفق نشدم. اگه ممکنه یکم بیشتر توضیح میدید؟
اگه منظورتون اینه که یه عکس بزاریم مقابل کامند خوب خود عکس هم یک شی محسوب میشه و دیگه نمیشه روی کامند کلیک کرد.یا اصلا اگه تصویرمون دایره باشه گوشه های کامند در میاد بیرون.اگه ممکنه یک مقدار توضیح بدید....

ممنونم

_behnam_
سه شنبه 10 آبان 1390, 17:26 عصر
واسه اینکه بتونید یه کامند به شکل دایره بسازید باید 3 تا تصویر از کامند رو طراحی کنید
1. تصویر حالت عادی کامند
2.تصویر ورود موس به محیط کامند
3. تصویر کلیک
خوب در حالت عادی تصویر کامند (تصویر حالت عادی کامند) است و قتی موس رفت روی تصویر اول تصویر کامند باید به(تصویر ورود موس به محیط کامند) تغییر کنه و وقتی که روی تصویر دوم کلیک شد باید تصویر به (تصویر کلیک) تغییر کنه!
حالا شما میگید که گوشه داره واسه این مشکل هم یه راه حل است استفاده از API تابع SetWindowRgn


Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long



Dim windowval, EllipticVal As String



Private Sub Form_Load()

EllipticVal = CreateEllipticRgn(30, 30, 230, 230)

windowval = SetWindowRgn(Me.hWnd, EllipticVal, True)
End Sub
موفق باشید/

mr-adler
چهارشنبه 11 آبان 1390, 16:09 عصر
ممنونم اقا بهنام که وقت گذاشتید.
فرض کنیم من تصویر اولیه کامند رو طراحی کردم . به شکل (دایره) . اما مشکل اینه که در زمان قرار دادن تصویر کامند به شکل زیر ظاهر میشه:
77332

من فقط میخوام دایره ابی نمایش داده بشه .
3 مورد خاصیتی از کامند که به تصاویر مرتبط میشه . picture & downpic &disabledpic هستن که اگه مورد بالا رو متوجه بشم . بقیشو طراحی میکنم...
مچکرم:قلب:

mr-adler
چهارشنبه 11 آبان 1390, 16:31 عصر
در ضمن این تابع api که معرفی کردید . کل فرم رو به شکل دایره در میاره. وقتی که به جای me.hwnd مینویسم command1.hwnd هم هیچ تغییری حاصل نمیشه.:ناراحت:

kitcat_m18
چهارشنبه 11 آبان 1390, 18:03 عصر
ایا میشه کامندی به شکل دایره یا مثلث ساخت با خود وی بی6 ؟یعنی بدون کامپونت خارجی.

منظورتو از کلمه بدون کامپوننت خارجي نمي فهمم.
ببين خود VB که دکمه هاش دايره يا مثلث شکل نيستن، شما بايد براي اين کار خودت OCX مورد نيازت رو بسازي.
براي اين کارم يه مقدار تخصصي تر بايد اقدام کني. (خيلي از برنامه نويس ها اصلا در رابطه با ساخت ابزار با VB مانند OCX يا DLL هيچي نمي دونن)
اميدوارم موفق باشي :لبخندساده:

_behnam_
چهارشنبه 11 آبان 1390, 18:21 عصر
بفرمایید اینم یه نمونه ساده!

mr-adler
پنج شنبه 12 آبان 1390, 12:36 عصر
دوستان استفاده کردیم ممنون:چشمک:
فقط لطفا اگه کامپونتی در این زمینه دارید هم بزارید ممنونم میشیم....