ورود

نسخه کامل مشاهده نسخه کامل : چطوري رنگ فرم رو به صورت اتوماتيك عوض كنم ؟



aaaammmm87
07-12-2008, 21:09
سلام دوستان
يه فرم دارم كه مي خواهم با تايمرم هر يه ثانيه يه بار رنگش عوض بشه . خوب خودم چند بار نوشتم همش ارور ميداد يا بعد از اينكه چند تا رنگ عوض ميكرد برنامه خطا مي داد ( فكر كنم همون 15 تا رنگ QBCOLOR ) خوب حالا من بايد چي بنويسم ؟در ضمن مي خواهم رنگ ها تكراري و محدود نباشن ! :46::10:

Private Sub Timer1_Timer()
Form1.BackColor =?
End Sub

BLACK-BLACK
07-12-2008, 21:28
این برنامه به صورت ساده هستش.

Private Sub Timer1_Timer()

RndVar = Int(Rnd * 16)
Form1.BackColor = QBColor(RndVar)

End Sub
اینم مقداری حرفه ای تر

Private Sub Timer1_Timer()

RndVar1 = Int(Rnd * 256)
RndVar2 = Int(Rnd * 256)
RndVar3 = Int(Rnd * 256)

Form1.BackColor = RGB(RndVar1, RndVar2, RndVar3)

End Sub

aaaammmm87
07-12-2008, 21:39
private sub timer1_timer()

rndvar = int(rnd * 16)
form1.backcolor = qbcolor(rndvar)

end sub

خوب دوست عزيز اگه من بخواهم اين رنگ ها رو به صورت كنترل شده داشته باشم بايد چكار كنم يعني اينكه رنگم از قرمز كمرنگ بياد به پرنگ بعد يه رنگ ديگه و .............................

BLACK-BLACK
07-12-2008, 22:06
الان کدشو برات میذارم.

BLACK-BLACK
07-12-2008, 22:18
بهتر نیست که هدف مساله رو بگی؟
چون همین الان اگه بخای من یه برنامه رو برات میذارم که از قرمز پررنگ شروع کنه و به سفید ختم کنه.
ولی بعدا اگه کار دیگه ای رو بخای ممکنه مشکل ساز بشه.

aaaammmm87
07-12-2008, 22:19
t]
اینم مقداری حرفه ای تر

private sub timer1_timer()

rndvar1 = int(rnd * 16)
rndvar2 = int(rnd * 16)
rndvar3 = int(rnd * 16)

form1.backcolor = rgb(rndvar1, rndvar2, rndvar3)

end sub
عزيز دل برادر :31: اين فقط فرم رو مشكي مي كنه (نمي دونم شايد هم دارم چاوشي مشكي رنگه عشقه رو داره مي خونه روي ويژال تاثير گذاشته :18::31::46:)

aaaammmm87
07-12-2008, 22:20
بهتر نیست که هدف مساله رو بگی؟
چون همین الان اگه بخای من یه برنامه رو برات میذارم که از قرمز پررنگ شروع کنه و به سفید ختم کنه.
ولی بعدا اگه کار دیگه ای رو بخای ممکنه مشکل ساز بشه.

خوب اونوقت از رنگ قرمز به ديگر رنگ ها هم سوييچ مي كنه ؟
اگه اره خوب همين رو بده عزيز :31:

BLACK-BLACK
07-12-2008, 22:26
تا کی برنامه رو میخای؟

aaaammmm87
07-12-2008, 22:33
تا کی برنامه رو میخای؟

هر چه زودتر بهتر :31:

BLACK-BLACK
07-12-2008, 22:39
فردا یه برنامه حرفه ای شو برات میفرستم.

aaaammmm87
08-12-2008, 08:59
يكي از مدل هاي خودتو يه كم كامل تر نوشتم ولي باز هم نه اين هم خوب نيست

Private Sub Timer1_Timer()
rnd1% = (Rnd * 255)
rnd2% = (Rnd * 255)
rnd3% = (Rnd * 255)
Form1.BackColor = RGB(rnd1, rnd2, rnd3)
End Sub

BLACK-BLACK
08-12-2008, 19:14
ببین این برنامه بعدا قراره با برنامه دیگه ای ترکیب بشه یا فقط گفتن که این رو بسازید بیارید؟

BLACK-BLACK
10-12-2008, 19:37
ببین من این دوتا را برات نوشتم اون کاری رو که میخای انجام میده منتها در مدت زمان بسیار سریع
برات برنامه هاشو اپلود کردم که راحت بشه خوند و تغییرش داد.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

امید وارم به دردت بخوره

Payman_62
11-12-2008, 00:19
سلام.
این کد رو ببین. خودت میتونی تغییر توش بدی تا اون جای که میخوای تغییر کنه.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

یه توضیح هم در مورد rgb بدم. 3 تا پارامتر Red و Green و Blue میگیره. هر چند این پارامتر ها از نوع اینتیجر هستن. ولی در عمل از نوع بایت هستند. چون اعداد پارامتر فقط در صورتی که بین 0 تا 255 باشه رنگ رو تغییر میدن. در واقع

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید فرقی نمیکنه. چون اعداد بزرگتر از 255 هم 255 در نظر گرفته میشن.
با توجه به اعدادی که شما به پارامتر میدی یعنی شدت سه رنگ اصلی قرمز و سبز و آبی رو تعیین میکنی rgb در خروجی یه رنگ به شما میده. اگه 3 پارامتر 0 باشن رنگ مشکی و 3 پارامتر 255 باشن سفید میشه.
حالا شما میتونی با دادن اعداد مختلف رنگ های مختلف داشته باشی.