Từ 1 tới 9 trên tổng số 9 kết quả

Đề tài: làm thế nào xác định vị trí tương đối của chuột với usercontrol

  1. #1
    Ngày gia nhập
    09 2010
    Nơi ở
    Hải Phòng city
    Bài viết
    527

    Mặc định làm thế nào xác định vị trí tương đối của chuột với usercontrol

    Tình hình là thế này.
    E tạo ra 1 userControl để có thể sử dụng nhiều lần.
    Trong code của userControl này mình viết 1 hàm để có thể xác định vị trí tương đối của con chuột so với UseControl, nhưng mình k bjt code kiểu j nữa.
    Bác nào júp e với.
    Thanks
    Đã được chỉnh sửa lần cuối bởi qhhqnavy : 29-06-2013 lúc 09:43 AM.
    ****************************************
    *****Trường Sa, Hoàng Sa là của Việt Nam*****
    ****************************************

  2. #2
    Ngày gia nhập
    06 2013
    Bài viết
    7

    Bạn dùng hàm API GetCursorPos để lấy tọa độ của chuột trên màn hình.
    Code:
    //Khai báo:
    [DllImport("user32.dll")]
            public static extern bool GetCursorPos(out Point lpPoint);
    //Sử dụng:
                Point point;
                GetCursorPos(out point);
    Còn tọa độ của control chắc là bạn biết cách lấy rồi chứ gì.

  3. #3
    Ngày gia nhập
    09 2010
    Nơi ở
    Hải Phòng city
    Bài viết
    527

    Bạn xem lại cho mình với. Mình viết như bạn nhưng k được.
    Nếu xác định tọa độ chuột so với màn hình thì có hàm
    MousePosition.X
    MousePositionY
    Mình muốn hỏi ở đây là vị trí tương đối so với UserControl mà mình tạo ra đó
    Mình nói cụ thể thế này nhé.
    Tạo 1 Form, sau đó Add Item là 1 UserControl.
    Với UserControl vừa tạo, viết code bên trong nó 1 hàm để xác định vị trí tương đối của chuột so với UserControl đó chứ k phải so với màn hình.
    Bạn có thể demo cho mình với.
    Thanks
    ****************************************
    *****Trường Sa, Hoàng Sa là của Việt Nam*****
    ****************************************

  4. #4
    Ngày gia nhập
    07 2007
    Nơi ở
    TP HCM
    Bài viết
    66

    Vị trí tương đối là gì? Bạn muốn làm gì mà phải cần "vị trí tương đối" giữa usercontrol và con chuột?

  5. #5
    Ngày gia nhập
    09 2010
    Nơi ở
    Hải Phòng city
    Bài viết
    527

    1userControl gần như 1 Form thu nhỏ.
    Mình cần đến vị trí tương đối để giải quyết bài toán khoảng cách ở ngay trong UserControl.
    Do UserControl này sẽ sử dụng nhiều lần ở các Tab, Form khác nhau, với mỗi vị trí khác nhau thì vị trí của chuột cũng khác nhau do vậy cần đến vị trí tương đối so với UserControl
    ****************************************
    *****Trường Sa, Hoàng Sa là của Việt Nam*****
    ****************************************

  6. #6
    Ngày gia nhập
    08 2012
    Bài viết
    574

    Mặc định làm thế nào xác định vị trí tương đối của chuột với usercontrol

    "Vị trí tương đối" của bạn là bạn tính nó so với cái gì?
    - Con trỏ với màn hình.
    - Con trỏ với Form.
    - Con trỏ với UserControl đó.

  7. #7
    Ngày gia nhập
    09 2010
    Nơi ở
    Hải Phòng city
    Bài viết
    527

    Trích dẫn Nguyên bản được gửi bởi SITUVNX Xem bài viết
    "Vị trí tương đối" của bạn là bạn tính nó so với cái gì?
    - Con trỏ với màn hình.
    - Con trỏ với Form.
    - Con trỏ với UserControl đó.
    Con trỏ so với UserControl.
    Thanks
    ****************************************
    *****Trường Sa, Hoàng Sa là của Việt Nam*****
    ****************************************

  8. #8
    Ngày gia nhập
    06 2013
    Bài viết
    7

    Demo cái cho vui.
    Ở đây mình dùng buttonPos để chứa tọa độ của button so với màn hình, mousePos chưa tọa độ của chuột.
    Như vậy vị trí tương đối giữa chuột và button sẽ là cặp số (X, Y):
    X = mousePos.X - buttonPost.X
    Y = mousePos.Y - buttonPost.Y
    Code:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    
    namespace vitrituongdoi
    {
        public partial class Form1 : Form
        {
            [DllImport("user32.dll")]
            public static extern bool GetCursorPos(out Point lpPoint);
            public Form1()
            {
                InitializeComponent();
            }
            
            private void button1_Click(object sender, EventArgs e)
            {
                Point buttonPos = button1.PointToScreen(Point.Empty);//vi tri cua button so voi man hinh
                Point mousePos;
                GetCursorPos(out mousePoint);//vi cua chuot vao thoi diem click so voi man hinh
                textBox1.Text = (mousePos.X - buttonPos .X).ToString() + " " + (mousePos.Y - buttonPos .Y).ToString();
            }
        }
    }

  9. #9
    Ngày gia nhập
    09 2010
    Nơi ở
    Hải Phòng city
    Bài viết
    527

    Trích dẫn Nguyên bản được gửi bởi coder208 Xem bài viết
    Demo cái cho vui.
    Ở đây mình dùng buttonPos để chứa tọa độ của button so với màn hình, mousePos chưa tọa độ của chuột.
    Như vậy vị trí tương đối giữa chuột và button sẽ là cặp số (X, Y):
    X = mousePos.X - buttonPost.X
    Y = mousePos.Y - buttonPost.Y
    Code:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    
    namespace vitrituongdoi
    {
        public partial class Form1 : Form
        {
            [DllImport("user32.dll")]
            public static extern bool GetCursorPos(out Point lpPoint);
            public Form1()
            {
                InitializeComponent();
            }
            
            private void button1_Click(object sender, EventArgs e)
            {
                Point buttonPos = button1.PointToScreen(Point.Empty);//vi tri cua button so voi man hinh
                Point mousePos;
                GetCursorPos(out mousePoint);//vi cua chuot vao thoi diem click so voi man hinh
                textBox1.Text = (mousePos.X - buttonPos .X).ToString() + " " + (mousePos.Y - buttonPos .Y).ToString();
            }
        }
    }
    Cám ơn bạn nhiều nhé.
    Đúng là k có bạn mình k biết phải làm sao
    Thank you very much.
    ****************************************
    *****Trường Sa, Hoàng Sa là của Việt Nam*****
    ****************************************

Các đề tài tương tự

  1. Chương trình sự kiện teambuilding mai mối tập thể - Truy tìm trái tim yêu
    Gửi bởi bluegem trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 03-12-2013, 04:52 PM
  2. Sử dụng 1 thư viện được lập trình trên C++ trong Java như thế nào ?
    Gửi bởi tuanakka trong diễn đàn Thắc mắc lập trình Java
    Trả lời: 5
    Bài viết cuối: 02-06-2013, 10:22 AM
  3. Làm thế nào để thực thi 1 chương trình khác trong VC++ ?
    Gửi bởi kimhieu trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 16-12-2012, 11:23 PM
  4. Lập trình đa tiểu trình với VC++ như thế nào ?
    Gửi bởi ngocthach trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 3
    Bài viết cuối: 10-11-2012, 03:31 PM
  5. Lập trình C++ Chứng minh câu lệnh "While" có thể thay thế cho tất các câu lệnh trong lập trình.
    Gửi bởi hoangcuongflp trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 15
    Bài viết cuối: 03-10-2012, 11:14 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn