سلام دوستان من يه فرم دارم كه چند تا تصوير داخلش هست حالا ميخوام با كليك كردن روي هر كدام از عكس ها اون عكس بيايد وسط فرم و اندازه اش دوبرابر بشود و پس از 3ثانيه حذف بشود ممنون مي شوم اگه كسي سورسشو برام بزاره
Printable View
سلام دوستان من يه فرم دارم كه چند تا تصوير داخلش هست حالا ميخوام با كليك كردن روي هر كدام از عكس ها اون عكس بيايد وسط فرم و اندازه اش دوبرابر بشود و پس از 3ثانيه حذف بشود ممنون مي شوم اگه كسي سورسشو برام بزاره
سلامنقل قول:
سلام دوستان من يه فرم دارم كه چند تا تصوير داخلش هست
از کنترل image برای قرار دادن تصویر استفاده کنید . و مشخصه ی Stretch آنرا TRUE کنید تا تمام تصویر در اندازه ی دلخواه شما که برای کنترل قرار دادید ، نمایش داده شود .
برای این کار که بتونید کنترلی رو در وسط یک فرم قرار بدید از دستورات زیر می توانید استفاده کنید :نقل قول:
حالا ميخوام با كليك كردن روي هر كدام از عكس ها اون عكس بيايد وسط فرم
کد:Image1.Left = Me.ScaleWidth \ 2 - Image1.Width \ 2
Image1.Top = Me.ScaleHeight \ 2 - Image1.Height \ 2
نقل قول:
و اندازه اش دوبرابر بشود
خوب برای اینکار شما می توانید مشخصه های Width و Height رو ضربه به 2 کنید به طور مثال کد زیر :
تذکر » اگر شما تصویر مورد نظر را در وسط فرم دوبرابر کنید تغییراتی در مکان آن انجام می شود ، که باید بعد از دوبرابر کردن تصویر آنرا به وسط فرم انتقال دهید ، و برای این کار هم نیز می توانید از دستورات ذکر شده در بالا استفاده کنید . یعنی اینکه بعد از دستورات دوبرابر کردن باید دستورات قرار دادن در وسط فرم را اجرا کنید .کد:Image1.Width = Image1.Width * 2
Image1.Height = Image1.Height * 2
برای حذف بعد از 3 ثانیه شما می توانید از کنترل Timer استفاده کنید . که برای اینکار یک کنترل Timer به فرم اضافه کنید و مشخصه ی Interval آنرا 3000 تا بعد از 3 ثانیه فرا خوانده شود . درون پنجره ی کد Timer این گونه بنویسید :نقل قول:
و پس از 3ثانيه حذف بشود
کد:Private Sub Timer1_Timer()
Image1.Visible = False
End Sub
فکر کنم همه چیز گفته شد ، و سورسش هم قرار داده شد .نقل قول:
ممنون مي شوم اگه كسي سورسشو برام بزاره
:46:
آقا اكبر دستت درد نكنه واقعا كمك كردي ولي مشكل اينجاست كه اگر بر روي تصوير كليك هم نكنيم باز تصوير حذف ميشه
به نظر ميرسه كه يك شرط ميخواد كه اگر تصوير دو برابر شد تايمر فعال بشه اگه زحمتشو بكشي ممنون ميشم
نقل قول:
ببین دوست من ... اگر شما مشخصه ی Enabled ، کنترل Timer رو در ابتدا False کنی امکان نداره که دستورات درون Timer اجرا بشنند . خوب ؛ حالا شما مشخصه ی گفته شده را False کردید بعد از آن شما باید در رویداد Click کنترل Image مشخصه ی Enabled ، کنترل Timer رو True کنی تا Timer شما فعال گردد تا بعد از 3 ثانیه دستورات درون Timer اجرا شوند . کد هاش هم به صورت زیر است :
-----------------------------------------------------------------------------
کد فعال کردن تایمر :
-----------------------------------------------------------------------------کد:Private Sub Image1_Click()
Timer1.Enabled = True
End Sub
کد غیر فعال کردن تایمر بعد از حذف عکس از فرم :
کد:Private Sub Timer1_Timer()
Image1.Visible = False
Timer1.Enabled = False
End Sub
********
اگر مشکلات حل نشد ، در قالب یک برنامه کوچک برای شما آپلود کنم ؟
آقا اكبر ممنون دستت درد نكنه مشكلم رو حل كردي ولي اگه زحمتي نيست اونو واسم آپلودش كن
و اگه زحمتي نيست اين هم اضافه كن كه اگه ديگه هيچ تصويري روي فرم باقي نموند فر م به صفحه ديگه يا يه فرم ديگه انتقال پيدا كنه. منظورم اينه كه نمي خوام از دكمه استفاده كنم مي خوام اتوماتيك بعد از اين كه همه تصاوير حذف شدن فرم به صفحه بعدnext formبره باز هم ممنون
آقا اكبر اينجا من هر چي دنبال دكمه تشكر گشتم پيدا نكردم تا حداقل يه تشكر خشك و خالي بكنم
راستي فكر كنم اين دستورات براي يه تصوير هستش من چند تا تصوير دارم
آقا اکبر ... آقا اکبر ... آقا اکبر ... (شرمندم نکن :23:)
بی خیال آپلود شدم ...نقل قول:
آقا اكبر ممنون دستت درد نكنه مشكلم رو حل كردي ولي اگه زحمتي نيست اونو واسم آپلودش كن
داداشی مگه ما برای حذف یک تصویر این دستور رو نمی نوشتیم :نقل قول:
و اگه زحمتي نيست اين هم اضافه كن كه اگه ديگه هيچ تصويري روي فرم باقي نموند فر م به صفحه ديگه يا يه فرم ديگه انتقال پيدا كنه. منظورم اينه كه نمي خوام از دكمه استفاده كنم مي خوام اتوماتيك بعد از اين كه همه تصاوير حذف شدن فرم به صفحه بعدnext formبره باز هم ممنون
؟کد:Image1.Visible = False
؟
؟
خوب ، الان شما فرض کن چهار تا تصویر داریی تو فرمت که شما یکبار روش کلیک میکنی حذف میشند . اگر ما بعد از حذف شدن تصویر ها از روی فرم یک شرط بزاریم که اگر چهار تا تصویر هامون حذف شدند برو به فرم بعدی ... عین کد زیر :
کد:If Image1.Visible = False And Image2.Visible = False And Image3.Visible = False And Image4.Visible = False Then
form2.Show
End If
واقعا دکمه تشکر از من حذف شده ، نیست ؟نقل قول:
آقا اكبر اينجا من هر چي دنبال دكمه تشكر گشتم پيدا نكردم تا حداقل يه تشكر خشك و خالي بكنم
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!نقل قول:
راستي فكر كنم اين دستورات براي يه تصوير هستش من چند تا تصوير دارم
معذرت میخوام ، خیلی معذرت میخوام !!!!!!!!!!
!
!
خوب کاری نداره که ، شما شکل دستورات بلدی برای اون یکی ها هم خودت بنویس . از خودت خلاقیت نشون بده ...
خوب کاری نداره که ، شما شکل دستورات بلدی برای اون یکی ها هم خودت بنویس . از خودت خلاقیت نشون بده ...[/QUOTE]
گفتم كه مبتدي هستم
من تعدا تصاوير رو كه گفتم منظورم واسه تايمر بود
چون شما نوشتيد
Private Sub Timer1_Timer()
Image1.Visible = False
End Sub
حالا فرض كنيد كه ما دو تا تصوير داريم پس ميشه
Private Sub Timer1_Timer()
Image1.Visible = False
Image2.Visible = False
End Sub
يعني دوتا تصوير با هم حذف ميشن نمي دونم منظورم رو تونستم برسونم يانه؟
باز هم ممنون
راستي دكمه تشكر واسه شما نيست
باز هم تشكر
بله همین طور هستش image1 - image 2 و ...نقل قول:
برای هر یک از تصاویر دستوراتی جدا باید نوشت .
مثل اينكه نتونستم منظورم رو برسونم
خوب اگه اينو داشته باشيم
Private Sub Timer1_Timer()
Image1.Visible = False
Image2.Visible = False
End Sub
با كليك كردن روي يه تصوير دوتاشون با هم حذف مي شن كه من اينو نمي خوام
واسه تايمر بايد چيكار كنيم كه دستو رو واسه يه تصوير اعمال كنه نه همه
یک متغیر به نام i به طور سراسری تعریف کنید که مقدار اولیه اون صفر باشه و بعد در رویداد کلیک هر کنترل عدد متناظر رو به اون نسبت بدین. در تایمر هم با استفاده از یک select - case کد رو مدیریت کنید. با این کار میتونید بگید که کدوم کنترل محو بشن
اينو يه دوست مثل شما راهنمايي كردن
ميشه كدشو برام بنويسيد
چون مبتدی هستی میگم ، اینی که من تو پست قبلی گفتم image1 و image2 رو بنویس ، یک خطای منطقی بود ، حواسم نبود .نقل قول:
اون کاری که دوست شما گفته درسته ، ولی پیشنهاد من اینه که خودتو زیاد با مقادیر درگیر نکن و برای هر کدوم از تصاویری که داریی ، کنترل تایمر بزار . کد زیر :
.کد:Private Sub Timer1_Timer()
Image1.Visible = False
Timer1.Enabled = False
End Sub
Private Sub Timer2_Timer()
Image2.Visible = False
Timer2.Enabled = False
End Sub
.
.
ولي من تعداد تصاويرم زياده حداقل 100تا فكر نميكنم استفاده از اين روش منطقي باشه اگه لطف كنيد استفاده از متغيير رو يادم بديد خيلي عالي ميشه
نقل قول:
بله ، درسته ، اگر شما کنترل های زیادی داشته باشی این راه اشتباه هستش ، راه حلش هم آرایه های کنترلی هست ، بلدی ؟ نه > در آرایه های کنترلی شما شروع به کپی کردن کنترل می کنی (همون Copy - paste معمولی) و اولین کنترلی که از اون شروع به کپی کردن کردی مشخصه ی Index ش دارای مقدار 0 میشه و به ترتیب با Paste کردن کنترل ها مشخصه Index ها یکی بالا میره .
مزیت آرایه های کنترلی : زمانی که ما قصد نوشتن کد رو داریم ، فقط یک روال در پنجره ی کد نویسی دیده میشه که دارای آرگومان Index هستش در واقع آرایه های کنترلی جلو گیری می کنه از زیاد شدن روال ها .
نحوه ی تشخیص کد های مربوط به یک کنترل : گفته شد که در آرایه های کنترلی یک روال وجود دارد و کنترل های زیاد ، پس ما چطور تشخیص دهیم که کد های نوشته شده مربوط به کدام کنترل هست ؟
جوابش این است که ما دارای یک آرگومان به نام Index هستیم بنابراین هر کنترل دارای یک مقدار Index منحصر به فرد هستش بنابراین وقتی ما از کنترل های ایجاد شده بر روی کنترل سوم کلیک می کنیم این کنترل مقدار 2 رو به آرگومان Index میده ، که ما به راحتی می توانیم با قرار دادن شرط هایی کد های مربوط به کنترل سوم رو اجرا کنیم . برای مثال :
امیدوارم تا حدی با آرایه کنترلی آشنا شده باشید ...کد:Private Sub Image1_Click(Index As Integer)
If Index = 0 Then
MsgBox "C 0"
ElseIf Index = 1 Then
MsgBox "C 1 "
End If
End Sub
دوست من سعی خواهم کرد تو پست بعدی حتما برات برنامه رو آپلود کنم .
نمي خوام ازت تعريف كنم(هندونه زير بغل) ولي خدا وكيلي يكي هستي:31: الان من چند هفته اي ميشه كه دارم دنبال كسي ميگردم كه كمكم كنه ولي دريغ .....
دستت درد نكنه:42:
بالاخره دکمه ی تشکر رو پیدا کردیی !!!!!!!!!!!نقل قول:
ببینم تا فردا برات چیکار میتونم بکنم ...
دوست عزیز این هم برنامه شما ، من برنامه رو آپلود کردم و تعداد تصاویر 10 عدد می باشد و تقریبا تمام کد های مدنظر شما نوشته شده است . فقط شما تنها کاری میکنی از روی کنترل های Image برای خودت Copy - paste معمولی می کنید و تصویر خودتان را به برنامه اضافه می کنید . امیدوارم کمکی در پیشرفت کارهایت کرده باشم . :46:
:20:
در ضمن حجم دانلود به علت قرار دادن تصاویر با کیفیت بالا زیاد شده است ، حدودا 4.8 MB
لینک دانلود : [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دستت درد نكنه اين هم پروژه خودم بيزحمت يه نيگاه بهش بنداز اونجا يه زحمت كوچولو ديگه برات دارم(پررو شدم):31: يه فايل تكست داخل پروژه هست ببيني متوجه ميشي
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
نقل قول:
منظورتو متوجه نشدم ... فایل تکست ؟؟؟؟؟؟؟؟؟؟
آره يه فايل wordداخل پوشه پروژه گذاشتم
اينجا رو يه نيگاه بنداز:42: هموني هست كه برات فرستادم
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
دوست من ، یواش یواش داری پروژه تو کامل می کنی ، این کار مغایر با قوانین انجمن هست ، من هم تا به حال کمکی کردم سعی داشتم پست های ارسال شده ام جنبه عمومی داشته باشه ولی شما فقط میخوای رو پروژه خودت کار کنی که قابل قبول نیست .
سوالات خودتو به صورت عمومی بیان کن ، که فردا یکی دیگه مثل شما که مشکلاتی رو در VB داشت بتونه از این مطالب استفاده کنه .
من معذرت مي خوام ولي من هم سوال هام رو به صورت عمومي مطرح كردم فقط لينك يك سوال رو در اينجا گذاشتم
ميدونم اذيتت كردم باز هم ممنون كمك بسيار خوبي كردي:11: در ضمن من همين مشكل كار با فايل هاي صوتي حل بشه ديگه مزاحم نميشم
سلام خسته نباشي ديدم اينجا بحث زوم كردن هست ميخواستم ي كمك چولوي بهم بكني اگه زحمتي نيست
مثلا من ميخوام توي VB6 توي web browser روي ي عكسي يا مطلبي در صفحه وب زوم كنم توي ي كادر كوچيك مثلا روي اين ايكن كه در پايين واست ميذارم
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
مثلا روي اين چيزي كه زدم در كل سايت زوم كنه ديگه چيزاي ديگه از ديد مخفي باشه چيكار بايد بكنم اگه مشكلي نيست يكم توضيح بديد ممنون ميشم
من هم دلم خوشه هاااااااااااااااااااااااا ااا:sq_3:
حداقل ي نقطه ميذاشتيد تا بدونم اينجا ادم رد ميشه از توش يا ن :|
خوب چرا اذیتش میکنه گناه داره اخه حالا مگه چیزه بدی گفته ؟؟نقل قول: