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

Đề tài: Click vào list Box,hiện cửa sổ kết quả

  1. #1
    Ngày gia nhập
    01 2009
    Bài viết
    201

    Wink Click vào list Box,hiện cửa sổ kết quả

    Mình muốn là khi click vào 1 phần tử của List Box thì sẽ phát sinh những thông tin về phần tử list Box đó ra staticText thì làm thế nào

  2. #2
    Ngày gia nhập
    11 2008
    Bài viết
    73

    Dùng hàm MessageBox .

  3. #3
    Ngày gia nhập
    01 2009
    Bài viết
    201

    MessageBox hình như không liên quan gì đến cậu ah ^! ,mình muốn nó in ra staticText mà

  4. #4
    Ngày gia nhập
    01 2008
    Nơi ở
    Gameloft Studio
    Bài viết
    294

    Mình thì quen lập trình API rồi nên cũng ko nhớ MFC đóng gói function sẵn ra sao nữa. Cậu lục trong cái autocompile của VS là thấy hàm cần thiết liền.

    Nhưng mà cái cốt lõi là như vầy:

    Khi bạn click vào listBox thì control này sẽ send 1 message WM_COMMAND đến cho hệ thống. Luôn đi kèm là 2 tham số lParam và wParam.

    C Code:
    1. UINT uControlMsg    = HIWORD(wParam);

    Và 2 bytes cao của wParam chính là uControlMsg = LBN_SELCHANGE. Với MFC thì bạn bắt msg này rất dễ.

    Sau đó bạn gọi macro SetCurSel (windowsx.h)
    C Code:
    1. int iSelect = ListBox_GetCurSel( hwndListbox );
    2.  
    3. // Thực tế là gửi msg LB_GETCURSEL cho control

    iSelect sẽ chính là dòng hiện hành đang được select
    Để lấy được string đang chọn
    C Code:
    1. TCHAR string[300];
    2. ListBox_GetText( hwndListbox , iSelect , string );
    3.  
    4. // Thực tế là gửi msg LB_GETTEXT cho control

    Có được string rồi thì set lên static control quá dễ.
    Gọi hàm
    C Code:
    1. SetWindowText (hwndStatic, string );
    Đã được chỉnh sửa lần cuối bởi ZCoder87 : 23-02-2009 lúc 11:41 PM.

  5. #5
    Ngày gia nhập
    04 2008
    Bài viết
    336

    tooltip chắc làm được điều cậu mong muốn , vấn đề còn lại là bắt sự kiện mouse down và getIndex của Item trong ListBox từ tọa độ của chuột và in ra tooltip tương ứng ...
    code ra gió bão

  6. #6
    Ngày gia nhập
    01 2009
    Bài viết
    89

    Mặc định Click vào list Box,hiện cửa sổ kết quả

    Có nhiều cách làm trong đó có cách là kế thừa lớp CListBox rồi bắt sự kiện mouse rồi send một user message kèm theo index của listbox item. Bên app thì bắt lấy message rồi lấy string item từ index được send.

    ================================================== ========
    mình vừa làm thử cái demo. bạn nào muốn xem thì down cái video demo về xem.

    Code:
    http://www.mediafire.com/?sharekey=cfdf1a65e2e939dc4012e8015643d9c8411563fa437b5d00
    Đã được chỉnh sửa lần cuối bởi ngocbig™ : 24-02-2009 lúc 04:17 PM.

  7. #7
    Ngày gia nhập
    11 2008
    Bài viết
    73

    Bạn hỏi là muốn hiển thị những thông tin khi click vào một phần tử của List Box thì mình nói dùng hàm MessageBox thì cũng đúng mà .

    Còn chuyện lấy nội dung của phần tử đó trong List Box thì bạn vào MSDN search là ra liền. Tùy vào bạn single click hay double click mà bắt sự kiện của List Box thôi.

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

  1. giúp mình cái bài tập list của list này với (còn 24 tiếng))
    Gửi bởi pipipo102 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: 10-06-2012, 11:36 AM
  2. Phương thức Add trong list có phải là thêm đối tượng vào list không?
    Gửi bởi princehai trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 20-09-2011, 01:14 PM
  3. hàm hủy(list::~list()) trong danh sách móc nối đối tượng xử lý những gì?
    Gửi bởi Emerald214 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 0
    Bài viết cuối: 29-12-2010, 09:05 AM
  4. Chuyển các phần tử từ list này sang list kia. Sửa giúp mình?
    Gửi bởi Vaanres trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 25-07-2010, 09:45 PM
  5. QUản lí học sinh với Linked List
    Gửi bởi goroshi trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 7
    Bài viết cuối: 16-09-2008, 11:46 AM

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