2012-12-01 35 views
8

Tôi có một ứng dụng kế thừa lớn được hiển thị với đường viền vĩnh viễn màu xám trên mọi máy tính Windows 8, trong khi các cửa sổ khác cho các ứng dụng khác sử dụng chính xác màu bắt nguồn từ nền máy tính để bàn. Đối với cuộc sống của tôi, tôi không thể tìm ra lý do.Tại sao viền cửa sổ của ứng dụng màu xám trong Windows 8, thay vì dựa trên màn hình nền như các cửa sổ khác?

Tôi đã thử google-fu tốt nhất của mình để thu thập thông tin MSDN cho API để kiểm soát điều này nhưng đã hết. Ứng dụng trông giống như tất cả các ứng dụng khác trong Windows XP, Vista và 7 ... chỉ Windows 8 có màu xám. Chúng tôi chắc chắn chưa thêm mã Win8 cụ thể để xử lý điều này.

Nó chỉ là một cửa sổ MFC ở bên ngoài, nhưng bên trong nó nhúng một thành phần .NET/WPF và một vùng trực quan Direct3D 9 cho phép.

Đoán tốt nhất của tôi là nó bằng cách nào đó có thể liên quan đến việc có bề mặt Direct3D trong cửa sổ, nhưng tôi không thể xác thực ở bất kỳ đâu.

Bất kỳ trợ giúp nào sẽ được đánh giá rất nhiều!

Cảm ơn

Edit: Các màu xám phù hợp với ảnh hưởng của việc không có trọng tâm, và chúng tôi chắc chắn làm chơi trò chơi với cửa sổ tập trung ... để có thể là nó.

+0

Tôi không có giải pháp cho việc này. Đó là một vấn đề đã biết trong một thời gian hiện tại: http://stackoverflow.com/questions/12946642/problems-using-cdialogex-class-that-get-solved-using-cdialog-class-instead – cha

+0

Chúng tôi có thể có các vấn đề khác nhau. Tôi không kế thừa từ CDialogEx và khi tôi thu nhỏ/khôi phục, màu vẫn xám cho tôi. – SentientAI

Trả lời

2

Vấn đề là nhà phát triển quá tải OnNcActivate() và trả về TRUE ở cuối. Họ cần phải gọi lên (CWnd) OnNcActivate của baseclass thay thế.

Điều này cũng hiển thị trên Windows 7 nếu bạn nhìn đủ gần.

1

Máy tính để bàn trong Windows 8 không sử dụng độ trong suốt trong các đường viền cửa sổ như Windows 7 và Vista đã làm với Aero Themes. Nếu bạn di chuyển tiêu điểm đến một cửa sổ trên cùng khác trong ứng dụng của mình, điều này có thể giải thích lý do bạn thấy đường viền màu xám. Hãy thử thay đổi màu sắc cho cửa sổ mà không cần lấy nét vào thứ gì đó có thể phân biệt được từ màu xám để xác minh đó là những gì bạn đang thấy.

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