Tôi đang sử dụng SetWindowTheme và SendMessage để tạo danh sách .net giống như kiểu xem danh sách vista, nhưng điều khiển .net vẫn có đường viền chọn xung quanh mục đã chọn:Làm cách nào tôi có thể xóa đường viền lựa chọn trên ListViewItem
Các mục đã chọn trong danh sách khám phá không có đường viền xung quanh. Làm thế nào tôi có thể loại bỏ nó?
Windows Explorer:
Edit: Giải pháp:
public static int MAKELONG(int wLow, int wHigh)
{
int low = (int)LOWORD(wLow);
short high = LOWORD(wHigh);
int product = 0x00010000 * (int)high;
int makeLong = (int)(low | product);
return makeLong;
}
SendMessage(olv.Handle, WM_CHANGEUISTATE, Program.MAKELONG(UIS_SET, UISF_HIDEFOCUS), 0);
Có vẻ như rằng thuộc tính này được thiết lập để sai theo mặc định. – Ucodia
Trong khi bản thân ShowFocusCues không hoạt động, WM_CHANGEUISTATE được liệt kê trên trang MSDN đó dẫn tôi đến câu trả lời đúng. Bằng cách gửi một tin nhắn WM_CHANGEUISTATE với UISF_HIDEFOCUS tôi đã có thể thoát khỏi hình chữ nhật lấy nét. – Telanor
@Telanor, Vui lòng cập nhật câu hỏi bằng mã lệnh giải pháp của bạn – Joe