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

Đề tài: hỏi về điểu khiền chuột

  1. #1
    Ngày gia nhập
    11 2007
    Bài viết
    47

    Mặc định hỏi về điểu khiền chuột

    giả sử em có 2 hai số x, y ( có thể lấy qua các thiết bị ngoại vi)
    muốn đưa chuột đến tọa độ đó và click hoặc double click thì làm thế nào?
    Anh nào cho em tài liệu cũng được

  2. #2
    Ngày gia nhập
    12 2006
    Bài viết
    72

    Mình có sưu tầm được một đoạn code gồm các thao tác với chuột như sau
    Code:
    initmouse()
    {
    i.x.ax=0;
    int86(0x33,&i,&o);
    return(o.x.ax);
    }
    
    showmouseptr()
    {
    i.x.ax=1;
    int86(0x33,&i,&o);
    return(0);
    }
    
    hidemouseptr()
    {
    i.x.ax=2;
    int86(0x33,&i,&o);
    return(0);
    }
    
    restrictmouseptr(int x1,int y1, int x2, int y2)
    {
    i.x.ax=7;
    i.x.cx=x1;
    i.x.dx=x2;
    int86(0x33,&i,&o);
    
    i.x.ax=8;
    i.x.cx=y1;
    i.x.dx=y2;
    int86(0x33,&i,&o);
    
    return(0);
    }
    
    getmousepos(int *button, int *x, int *y)
    {
    i.x.ax=3;
    int86(0x33,&i,&o);
    *button=o.x.bx;
    *x=o.x.cx;
    *y=o.x.dx;
    return(0);
    }
    Bạn tham khảo xem thế nào

  3. #3
    Ngày gia nhập
    12 2007
    Bài viết
    224

    Bạn này , mình muốn hỏi toạ độ của chuột khi dùng ngắt 33h xác định như thế nào nhỉ . Khi ta thay đổi chế độ văn bản hay đồ hoạ ( với nhiều độ phân giải khác nhau ) thì x , y trong hàm getmousepos lại cho ra những giá trị khác nhau đấy .

  4. #4
    Ngày gia nhập
    12 2006
    Bài viết
    72

    Đúng rồi,nhưng điều này phải do người lập trình tính toán dựa vào số hàng và số cột của màn hình, mình mới chỉ thấy có những code viết bằng C cho ra màn hình độ phân giải là 600x480 là cao nhất, không biết có bạn nào biết làm thế nào để hiển thị màn hình có độ phân giải cao hơn không nhỉ?

  5. #5
    Ngày gia nhập
    12 2007
    Bài viết
    224

    Dựa vào hàm initgraph(6,1,""); ta sẽ được độ phân giải 1024*768 . Có đúng thế không nhỉ ?
    À , thangtran ơi , bạn có bao giờ thử nhận toạ độ của chuột trên nhiều độ phân giải khác nhau chưa nhỉ ? Dường như chúng không theo 1 quy luật nào cả .
    Ví dụ như mình thử ở độ phân giải 640*480 . Đầu tiên mình vẽ 1 vòng tròn toạ độ (100 , 100 ) trong chế độ đồ hoạ 640*480 thì khi mình bấm chuột vào tâm vòng tròn mình thấy kết quả của x,y trả về ( 100 ,100 )
    Khi mình chuyển sang độ phân giải 320*200 , vòng tròn vẫn giữ nguyên toạ độ 100 , 100 thì khi bấm chuột vào tâm vòng tròn thì x , y lại là ...200 , 100 .
    Thế là thế nào nhỉ ?

  6. #6
    Ngày gia nhập
    12 2006
    Bài viết
    72

    Mặc định hỏi về điểu khiền chuột

    Dựa vào hàm initgraph(6,1,""); ta sẽ được độ phân giải 1024*768 . Có đúng thế không nhỉ ?
    Sai rồi phải không nhỉ? để có được độ phân giải của màn hình cao thì ta phải lập trình sử dụng ngắt (interupt programming)
    Bạn thử tính lại tỉ lệ giữa các tọa độ xem sao, 640x480=4x3 còn 320x200=8x5 từ đó bạn có thể giải thích tại sao như vậy!

  7. #7
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    màn hình DOS 640x480 là max rồi :|
    Kiếm đâu ra 1024 :|...yêu cầu đọc lại kiến thức về đồ họa DOS.
    None!

  8. #8
    Ngày gia nhập
    12 2007
    Bài viết
    224

    Lập trình sử dụng ngắt ? Ý bạn muốn nói đến ngắt 10h ( liên quan đến màn hình ) hả ? À , bạn có biết cuốn Hỗ trợ kỹ thuật lập trình hệ thống của Nguyễn Lê Tín không nhỉ ? Mình thấy trong đó max cũng là 640*480 rồi . Dùng ngắt nào để được độ phân giải cao như vậy đây , chỉ mình với .
    Vậy là đồ hoạ DOS chỉ max là 640*480 thôi hả . Chà , thật là không biết . À , cho mình xin tài liệu nào nói về đồ hoạ DOS được không ? Mình rất muốn tham khảo .
    Còn tỉ lệ 4*3 và 8*5 kia ... làm sao giải thích được toạ độ chuột ở 2 độ phân giải khác nhau , cùng chỉ vào 1 điểm 100 , 100 lại cho ra 1 cái là 100 , 100 còn 1 cái là 200 , 100 đây ??? Về chiều rộng thì chắc là đúng rồi vì cái này gấp 2 cái kia mà . Nhưng về chiều cao thì cái này lại gấp 5/3 cái kia tức là phải có sự thay đổi trong y chứ ?
    Đã được chỉnh sửa lần cuối bởi sieuphuong : 09-12-2007 lúc 10:33 PM.

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

  1. Điều khiển con chuột di chuyển đến 1 vị trí bất kỳ
    Gửi bởi trantrungthuong trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 21-09-2010, 11:41 PM
  2. chuột và vấn đề điều khiển
    Gửi bởi hoangtulai_hp trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 1
    Bài viết cuối: 21-09-2008, 11:59 PM
  3. khiểm tra vị trí chuỗi con trong 1 chuỗi !
    Gửi bởi de.itvn trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 18-03-2008, 09:21 AM
  4. Chuột và vấn đề điều khiển
    Gửi bởi thang@ trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 13-11-2007, 08:59 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