Thông thường có sử dụng Hộp thoại làm Windows chính không?
Có, điều này khá phổ biến.
Vì vậy, không đăng ký bất kỳ lớp người dùng nào qua RegisterClassEx?
Hộp thoại thường là lớp cửa sổ được xác định trước, vì vậy thường không cần đăng ký.
Tôi cũng muốn biết sự khác biệt chính giữa hộp thoại và cửa sổ và tại sao lại sử dụng một hộp thoại đầu tiên thay vì hộp thoại thứ hai.
Vâng, hai sự khác biệt lớn là bạn không thể thay đổi kích thước hộp thoại và không có nút thu nhỏ hoặc tối đa hóa (theo mặc định, nhưng có giải pháp cho việc này). Hãy ghi nhớ tên, hộp thoại. Nói cách khác, chúng được sử dụng để có một hộp thoại với người dùng (nhận đầu vào và hiển thị tin nhắn cho người dùng). Trong một nghĩa nào đó, chúng giống như bất kỳ cửa sổ nào khác, bên dưới CreateWindowxx, vv được gọi, vv Tuy nhiên, chúng là một số cửa sổ được xác định trước có thể được thực hiện nhanh chóng và có những hạn chế đối với những gì bạn có thể làm với chúng.
Ngoài ra, một hộp thoại sử dụng một thủ tục thoại chứ không phải là một thủ tục cửa sổ, mà hiện một số chế biến mặc định cho bạn, chẳng hạn như khởi tạo một số điều khiển, vv
Nguồn
2012-06-19 21:54:33
Bạn trông hơi bối rối ... 5 câu hỏi này có thể cần câu trả lời rất dài. Bắt đầu đọc http://msdn.microsoft.com/en-us/library/windows/desktop/ms632597(v=vs.85).aspx để biết tổng quan về cửa sổ và nhận xét của http://msdn.microsoft này .com/vi-us/library/windows/desktop/ms645452 (v = vs.85) .aspx để hiểu hộp thoại là gì. –
Câu trả lời ngắn gọn (Tôi chắc rằng ai đó sẽ cung cấp câu trả lời mở rộng hơn): 1) có, rất nhiều; 2) không có bạn cần phải đăng ký cửa sổ bạn sẽ sử dụng; 3) không (nếu với tất cả mọi thứ bạn có nghĩa là bạn sẽ không cần bất kỳ mã nào khác), có nếu bạn có nghĩa là bạn không thực sự cần phải tạo một tài nguyên thoại; 4) thường bạn không phải làm điều đó và nếu nó xảy ra _usually_ đó là bởi vì bạn không biết nội dung thực sự của một cửa sổ tại thời gian biên dịch; 5) một hộp thoại (nhiều hơn hoặc ít hơn) LÀ một cửa sổ, chỉ là phương thức. –
2 xu của tôi: Nếu bạn sử dụng Visual Basic, Delphi, hoặc .NET bạn sẽ không cần phải lo lắng về những thứ cấp thấp như thế và bạn sẽ có nhiều, hiệu quả hơn nhiều. Một cửa sổ được abstracted là một container hình chữ nhật với các thuộc tính. –