2009-10-27 27 views
5

Trước tiên những gì tôi muốn: Khả năng hiển thị lưới có nhiều cột, mỗi ô có một gọi lại hiển thị tùy chỉnh. Vì vậy, bạn có thể sử dụng điều khiển như vậy để hiển thị khoảng không quảng cáo của mình trong trò chơi hoặc điều gì đó giống như hành vi trong Google Chrome, nơi nó hiển thị một mạng lưới các trang phổ biến mà bạn truy cập.MFC có tích hợp điều khiển lưới không?

Tôi đã chơi với CListCtrl và mặc dù tôi có thể có khả năng hiển thị tùy chỉnh trên mỗi mục, tôi không thể làm cho nó hoạt động với các cột - có 3 mục mỗi hàng. Điều khiển có các phương pháp liên quan đến cột nhưng tôi nghĩ đây là những đặc trưng cho chức năng tích hợp trong đó các thuộc tính khác nhau của một mục được hiển thị tự động trong mỗi cột ... chứ không phải để cung cấp điều khiển lưới chung.

Vì vậy, chức năng như vậy tồn tại trong MFC? Nếu không thì tôi tự hỏi liệu phương pháp đơn giản nhất có thực sự chèn từng hàng như một mục ... và sau đó hiển thị tùy chỉnh vẽ nhiều ô trong hàng, tôi cũng có thể làm giao diện người dùng tùy chỉnh để hỗ trợ nhấp vào các ô . Nhưng những gì tôi thực sự muốn là để có thể tạo một điều khiển tùy chỉnh, và thêm điều này như là một mục vào một danh sách - như trong Flex ví dụ - vì vậy I/O vv được xử lý tự động.

Bất cứ lời khuyên/thông tin chào đón ...

Trả lời

2

Tôi không nhận thức được tích hợp sẵn trong kiểm soát, nhưng tôi nghĩ rằng bạn nên có một cái nhìn tại this. Bài viết mô tả chi tiết chức năng của một điều khiển lưới MFC đầy đủ tính năng, bắt nguồn từ CWnd, để hiển thị dữ liệu dạng bảng.

+0

Tôi đã vượt qua kiểm soát đó; có vẻ như nó có thể làm những gì muốn nhưng nó có thể là một cuộc đấu tranh nhận được nó vào dự án của chúng tôi. –

+0

Không đau, không đạt được – luvieere

+0

Tôi sử dụng tính năng này trong một ứng dụng thương mại. Triển khai thật dễ dàng. Có một vài lỗi trong trường hợp tinh vi mà chúng tôi phải khắc phục. Nhìn chung một điều khiển tuyệt vời và hoàn toàn tùy biến - bạn có nguồn. –

1

YOUR_LIST_CONTROL .SetExtendedStyle (LVS_EX_FULLROWSELECT | LVS_EX_INFOTIP | LVS_EX_GRIDLINES);

Tôi nghĩ rằng nó sẽ giúp bạn

Các vấn đề liên quan