View Full Version : طراحی یک فرم که به چند صورت نمایش داده می شود
baran66
پنج شنبه 10 خرداد 1386, 22:27 عصر
سلام!
من یک برنامه ای باید بنویسم که توسط آن یک فرم که باز می شود به چند شکل متفاوت نمایش داده شود. مثلا من فرم را باز می کنم و به شکل مربع است. باید آن را به صورت یک دایره یا ستاره نمایش دهم!
اصلا هم نمی دونم باید چی کار کنم؟! لطفا راهنمایی کنین!
majidghost
پنج شنبه 10 خرداد 1386, 23:07 عصر
از api استفاده کن
majidghost
پنج شنبه 10 خرداد 1386, 23:09 عصر
SetLayeredWindowAttributes
CreatePolygonRgn
__siavash__
پنج شنبه 10 خرداد 1386, 23:40 عصر
مثال برای SetLayeredWindowAttributes (یادم نیست از کجا گرفتمش )
baran66
جمعه 11 خرداد 1386, 00:42 صبح
سلام!
ممنونم! من فقط می دونستم که باید از Api استفاده کنم! اما چطورشو نمی دونستم. اگه کدی داشتین که بتونه کمکم کنه ممنون می شم واسم بفرستین!!
Hossein Bazyan
جمعه 11 خرداد 1386, 00:52 صبح
سلام
دوست عزیز به کرات بحث شده . اگر بگردی قطعا مطالب خوبی گیرت میاد.
majidalone
جمعه 11 خرداد 1386, 01:54 صبح
دوست عزیز تو یکی از تاپیکا یه برنامه خیلی توپ در همین رابطه هست که دقیقا اسم تاپیکشو نمی دونم !!!
ولی دقیقا همون چیزیه که تو می خوای ،من خودم قبلا دانلودش کردم :چشمک:
h_sadeghynejad
جمعه 11 خرداد 1386, 08:40 صبح
همونطور که دوستان گفتند شما هم میتونید از Api استفاده کنید هم از Component که پیشنهاد من یه کامپوننت هستش به نام Sheridan ActiveSplash Control که راحتی کار با اون تا حدی هستش که شما عکس مورد نظرت رو بهش میدی اون هم فرم رو به اون حالت در میاره
موفق باشی
majidghost
شنبه 12 خرداد 1386, 12:17 عصر
این کد باعث می شود هر قستمی که از فرم به رنگ 16711935 (صورتی) هستش از فرم کنده بشه:
Const LWA_COLORKEY = &H1
Const LWA_ALPHA = &H2
Const GWL_EXSTYLE = (-20)
Const WS_EX_LAYERED = &H80000
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Private Sub Form_Load()
Dim Ret As Long
Ret = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
Ret = Ret Or WS_EX_LAYERED
SetWindowLong Me.hWnd, GWL_EXSTYLE, Ret
SetLayeredWindowAttributes Me.hWnd, RGB(255, 0, 255), 0, LWA_COLORKEY
End Sub
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.