Chúng tôi có một ứng dụng kế thừa được viết bằng C sử dụng WinAPI. Chúng tôi muốn thêm nút "Có cho tất cả" vào một vài hộp thoại của chúng tôi. Rất tiếc, chức năng MessageBox hiện tại không cho phép các nút tùy chỉnh hoặc chú thích nút.Làm cách nào để tạo nút "Có với tất cả" bằng cách sử dụng WinAPI?
Cách tốt nhất để làm như vậy là gì? Có một hack slick để dễ dàng thêm một nút tùy chỉnh? Hay chúng ta nên tạo ra thay thế MessageBox của riêng mình?
Um, tạo nút và đặt tiêu đề "Có với tất cả"? Tôi nghĩ bạn cần phải cụ thể hơn một chút. –
MessageBox trong WinAPI dường như không cho phép tạo các nút của riêng mình và cung cấp cho họ chú thích tùy chỉnh. Đó sẽ là điều đầu tiên tôi đã thử. – Brown
Bạn có thể tùy chỉnh MessageBox(). Sử dụng SetWindowsHookEx() để cài đặt một chuỗi CBT cụ thể theo chủ đề ngay trước khi gọi MessageBox(). Khi hook được kích hoạt, bạn sẽ có quyền truy cập vào HWND của hộp thoại, và có thể làm bất cứ điều gì bạn muốn (thêm các điều khiển con bổ sung, di chuyển các điều khiển xung quanh, thay đổi văn bản, vv). –