امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
حرکت دادن یک دکمه با ماوس
نویسنده پیام
siana_k1980 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 156
موضوع‌ها: 69
تاریخ عضویت: دى ۱۳۸۶

تشکرها : 36
( 9 تشکر در 7 ارسال )
ارسال: #1
حرکت دادن یک دکمه با ماوس
میخواستم با درگ کردن ماوس روی یک دکمه تا جاییکه دست از روی ماوس برداشته میشه دکمه جا به جا بشه و در اون نقطه قرار بگیره
۱۳-اردیبهشت-۱۳۸۷, ۲۰:۳۳:۳۷
ارسال‌ها
پاسخ
mojtabamalaekeh آفلاین
کاربر با تجربه
****

ارسال‌ها: 566
موضوع‌ها: 104
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 1378
( 631 تشکر در 223 ارسال )
ارسال: #2
RE: حرکت دادن یک دکمه با ماوس
باورت میشه خودم هم بلد نبودم همچین برنامه ای بنویسم.
بعد از اینکه سؤال شما رو دیدم نیم ساعت تمرین کردم تا به جواب رسیدم.
موفق باشی.


فایل‌(های) پیوست شده
.zip   DragDrop.zip (اندازه: 1.44 KB / تعداد دفعات دریافت: 95)


۱۳-اردیبهشت-۱۳۸۷, ۲۳:۰۰:۱۸
ارسال‌ها
پاسخ
تشکر شده توسط : siana_k1980
hossain p آفلاین
تازه وارد

ارسال‌ها: 5
موضوع‌ها: 0
تاریخ عضویت: اردیبهشت ۱۳۸۷

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #3
RE: حرکت دادن یک دکمه با ماوس
بابت كامپوننت dragdrop واقعا مديون شما شدم چون اين كامپوننت خيلي به دردم مي خوره مرسي
۱۴-اردیبهشت-۱۳۸۷, ۰۳:۵۲:۴۹
ارسال‌ها
پاسخ
siana_k1980 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 156
موضوع‌ها: 69
تاریخ عضویت: دى ۱۳۸۶

تشکرها : 36
( 9 تشکر در 7 ارسال )
ارسال: #4
RE: حرکت دادن یک دکمه با ماوس
mojtabamalaekeh نوشته است:باورت میشه خودم هم بلد نبودم همچین برنامه ای بنویسم.
بعد از اینکه سؤال شما رو دیدم نیم ساعت تمرین کردم تا به جواب رسیدم.
موفق باشی.

سلام
خیلی از برنامتون ممنون
میشه بیشتر راجع به این خطوط توضیح بدین تا هم من و بقیه که سطح اطلاعاتشون مثل من زیاد نیست متوجه بشند

XDown = Left(Source.Tag, InStr(Source.Tag, ",") - 1)
Source.Tag چه کاری انجام میده و با اینکه کار توابع leftوinstr رو میدونم ولی اصلا خط بالا را متوجه نشدم
منتظر راهنماییتون هستم ممنون
۲۱-اردیبهشت-۱۳۸۷, ۰۶:۱۵:۰۳
ارسال‌ها
پاسخ
arashrj آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 511
موضوع‌ها: 30
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 4
( 212 تشکر در 133 ارسال )
ارسال: #5
RE: حرکت دادن یک دکمه با ماوس
سلام
دستور tag برای نگهداری یک مقدار رشته ای مورد استفاده قرار می گیره
اگه به کد دقت کرده باشی مختصات xوy رو در داخل tag نگه داری میکنه
به کمک کد زیر
XDown = Left(Source.Tag, InStr(Source.Tag, ",") - 1)
عدد x رو از عبارت tag جدا می کنه و در متغیر XDown قرار می ده

فرض کن مقدار tag برابر 10,50 باشه
پس عدد قبل از (,) همان عدد x هست
که به کمک تابع InStr دنبال (,) میگرده و با دستور Left جدا میکنه
....
موفق باشی

[آرش جعفری]
اگر به دیگران کمک کنید تا به آنچه می خواهند برسند .شما هم می توانید در زندگی به آنچه می خواهید برسید

* کوتاه کردن URL های طولانی

DevJam
۲۱-اردیبهشت-۱۳۸۷, ۱۳:۵۹:۲۰
وب سایت ارسال‌ها
پاسخ
mojtabamalaekeh آفلاین
کاربر با تجربه
****

ارسال‌ها: 566
موضوع‌ها: 104
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 1378
( 631 تشکر در 223 ارسال )
ارسال: #6
RE: حرکت دادن یک دکمه با ماوس
با تشکر از arashrj
توضیحات ایشون کامل بود.
نمیدونم خاصیت Tag برای چیه ولی علت استفاده ی من از خاصیت تگ این بود که من برای هر شیء باید یک متغیر سراسری تعریف می کردم که Left و Top اون شیء رو ذخیره کنه. امتحان کردم ببینم خاصیت Tag رشته می پذیره یا نه؟ که خوشبختانه قبول کرد. من هم گفتم بجای تعریف یک متغیر برای هر شیء از خاصیت Tag اون شیء استفاده کنم.
ویرایش شد:
یادم رفت بگم که: XDown و YDown مختصات محلی هستند که ماوس روی دکمه پایین رفته. این یعنی آغاز عمل کشیدن؛ چون شما وقتی میخوای شیء رو جابجا کنی اول باید دکمه ماوس رو روی اون شیء پایین نگه داری. در یک کلام مثل موقعی که رویداد MouseDown رخ میده، فقط چون خاصیت DragMode اتوماتیک شده، دیگه رویداد MouseDown اتفاق نمیفته.


(آخرین ویرایش در این ارسال: ۲۱-اردیبهشت-۱۳۸۷, ۱۸:۰۷:۳۸، توسط mojtabamalaekeh.)
۲۱-اردیبهشت-۱۳۸۷, ۱۷:۵۰:۲۲
ارسال‌ها
پاسخ
تشکر شده توسط : siana_k1980
hamed_Arfaee آفلاین
مدیر بخش
*****

ارسال‌ها: 1,334
موضوع‌ها: 231
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 1250
( 2634 تشکر در 730 ارسال )
ارسال: #7
RE: حرکت دادن یک دکمه با ماوس
البته میشه از API ها هم استفاده کرد
مثل نمونه زیر :


فایل‌(های) پیوست شده
.zip   API-MoveObject.zip (اندازه: 1.61 KB / تعداد دفعات دریافت: 59)

حامد ارفعی

موفقيت، پيش رفتن است، نه به نقطه ي پايان رسيدن.(آنتوني رابينز)


تریگرها در SQL server

آیا میدانید SQL ای
۲۱-اردیبهشت-۱۳۸۷, ۱۸:۲۰:۴۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : siana_k1980, mojtabamalaekeh
arashrj آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 511
موضوع‌ها: 30
تاریخ عضویت: آبان ۱۳۸۴

تشکرها : 4
( 212 تشکر در 133 ارسال )
ارسال: #8
RE: حرکت دادن یک دکمه با ماوس
سلام
من هم کد رو به صورت ساده تر نوشتم (فکر نکنم از این ساده تر و دقیق تر بشه نوشت)

کد:
Dim Xx, Yy As Single

Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Xx = X: Yy = Y
End Sub

Private Sub Form_DragDrop(Source As Control, X As Single, Y As Single)
    Source.Move X - Xx, Y - Yy
End Sub

Private Sub Form_Load()
    Command1.DragMode = vbAutomatic
End Sub

موفق باشی

[آرش جعفری]
اگر به دیگران کمک کنید تا به آنچه می خواهند برسند .شما هم می توانید در زندگی به آنچه می خواهید برسید

* کوتاه کردن URL های طولانی

DevJam
۲۱-اردیبهشت-۱۳۸۷, ۲۳:۱۱:۴۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : siana_k1980
mojtabamalaekeh آفلاین
کاربر با تجربه
****

ارسال‌ها: 566
موضوع‌ها: 104
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 1378
( 631 تشکر در 223 ارسال )
ارسال: #9
RE: حرکت دادن یک دکمه با ماوس
خیلی ممنون جناب arashrj
پس من هم باید بجای استفاده از رویداد DragOver از رویداد MouseMove استفاده کنم و زیربرنامه ControlDragOver رو بصورت زیر اصلاح کنم:
کد:
Private Sub ControlDragOver(Control As Control, X As Single, Y As Single)
    Control.Tag = X & "," & Y
End Sub
که در اینصورت بهتره زیر برنامه حذف بشه و مقداردهی به خاصیت Tag تو رویداد MouseMove همون شیء انجام بشه.
با تشکر از آموزش مفید شما
کاش می شد برای آقا حامد 10 تا تشکر بنویسیم. کد ایشون رو مدت ها پیش دیده بودم ولی اون موقع فرق VB رو با موتورگازی نمی دونستم و الان ارزش این کد رو می دونم.


(آخرین ویرایش در این ارسال: ۲۲-اردیبهشت-۱۳۸۷, ۰۵:۲۸:۰۴، توسط mojtabamalaekeh.)
۲۲-اردیبهشت-۱۳۸۷, ۰۵:۲۳:۲۸
ارسال‌ها
پاسخ
siana_k1980 آفلاین
كاربر دو ستاره
**

ارسال‌ها: 156
موضوع‌ها: 69
تاریخ عضویت: دى ۱۳۸۶

تشکرها : 36
( 9 تشکر در 7 ارسال )
ارسال: #10
RE: حرکت دادن یک دکمه با ماوس
با کمال تشکر از همه شما دوستان عزیز
می خواستم ببینم اگه بخوام دکمه ها رو از روی یک فریم به روی فرم حرکت بدم چه تغییری باید در برنامه های فوق ایجاد کنم؟
۲۹-اردیبهشت-۱۳۸۷, ۰۳:۱۲:۳۸
ارسال‌ها
پاسخ
mojtabamalaekeh آفلاین
کاربر با تجربه
****

ارسال‌ها: 566
موضوع‌ها: 104
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 1378
( 631 تشکر در 223 ارسال )
ارسال: #11
RE: حرکت دادن یک دکمه با ماوس
نمی دونم درست متوجه سؤالت شدم یا نه! اما ...
اگر دکمه توی فریم باشه خاصیت Container اون برابر Frame1 هستش و اگه بخوای دکمه رو از توی فریم روی فرم منتقل کنی باید از فرمان زیر استفاده کنی:
کد:
Set Command1.Container = Me
ضمنا PictureBox ها هم میتونند به عنوان Container باشند. بطور مثال اگه بخوای دکمه ای به اسم Command1 توی جعبه عکسی به اسم Picture1 قرار بگیره از فرمان زیر استفاده می کنی:
کد:
Set Command1.Container = Picture1
اگر هم منظورت چیز دیگه ای بود لطفا بیشتر توضیح بده.


(آخرین ویرایش در این ارسال: ۲۹-اردیبهشت-۱۳۸۷, ۰۶:۳۷:۳۸، توسط mojtabamalaekeh.)
۲۹-اردیبهشت-۱۳۸۷, ۰۶:۳۶:۳۸
ارسال‌ها
پاسخ
تشکر شده توسط : siana_k1980


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  دادن Axis Lable و Legend Entries به جای Data Range eppagh 0 2,088 ۲۷-دى-۱۳۹۳, ۱۴:۵۳:۴۸
آخرین ارسال: eppagh
  آموزش دکمه ورو برای برنامه های تحت ویژوال بیسیک ovimez 5 5,790 ۲۶-آذر-۱۳۹۲, ۰۰:۳۲:۴۸
آخرین ارسال: Ghoghnus
  قرار دادن خروجی دستور sql در یک متغیر sepahbod 1 3,971 ۱۶-آذر-۱۳۹۲, ۲۱:۳۳:۳۳
آخرین ارسال: hmiranled
  پیام جهت اطلاع دادن sepahbod 4 4,322 ۱۲-شهریور-۱۳۹۲, ۱۵:۲۹:۵۱
آخرین ارسال: sepahbod
  جمع زدن دو فیلد و قرار دادن در فیلد دیگر در VB6 mohsen0025 7 7,477 ۰۲-شهریور-۱۳۹۲, ۱۱:۵۱:۴۶
آخرین ارسال: mohsen0025
  تغییر کاربرد ماوس در ویژوال بیسیک MicrowaveCO 7 7,231 ۳۱-فروردین-۱۳۹۲, ۰۸:۴۱:۵۲
آخرین ارسال: MicrowaveCO
  نحوه قرار دادن فایل فلش و عکس با پسوندpng؟ student-p 10 11,322 ۱۲-دى-۱۳۹۱, ۱۲:۵۱:۱۶
آخرین ارسال: student-p
  [سوال] قرار دادن برنامه در حالت Startup HamedFaa 4 7,048 ۳۱-تير-۱۳۹۰, ۰۹:۲۵:۰۷
آخرین ارسال: Shayani
Wink [ایرانویجی] حرکت دادن فرمهای بدون نوار عنوان! [Moosa] 1 3,759 ۰۷-خرداد-۱۳۹۰, ۰۲:۴۶:۱۰
آخرین ارسال: zirak
  افکت دادن به فرم [Moosa] 0 2,337 ۱۱-اردیبهشت-۱۳۹۰, ۱۹:۰۳:۵۴
آخرین ارسال: [Moosa]

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS