2009-10-01 18 views
5

Chúng tôi có một ứng dụng chạy trên XP64 và Vista64 nhiều máy trạm và có sự cố lạ khi một biểu mẫu trong ứng dụng được di chuyển đến một số màn hình nhất định.Con trỏ trở thành thay đổi kích thước đường chéo khi biểu mẫu ở trên và bên trái của màn hình chính

Nếu biểu mẫu được chuyển sang màn hình nằm bên trái và phía trên màn hình chính (nó có tọa độ âm trong hộp thoại Cài đặt hiển thị), người dùng sẽ có con trỏ thay đổi kích thước chéo khi đặt con trỏ vào biểu mẫu (Tôi chỉ thấy nó xảy ra khi con trỏ nằm trong chrome của cửa sổ, nhưng người dùng đã báo cáo nó xảy ra bên trong toàn bộ cửa sổ). Tôi đã có thể xác định rằng nó chỉ xảy ra khi con trỏ ở trên màn hình chính (làm cho màn hình phụ chỉ một phần phía trên màn hình chính dẫn đến sự cố xảy ra chỉ trong một phần của biểu mẫu nằm phía trên màn hình chính).).

Điều này chỉ xảy ra với một biểu mẫu trong toàn bộ ứng dụng của chúng tôi, và điều này không làm gì đặc biệt ưa thích (không ghi đè WndProc, v.v.) và tất cả các điều khiển tùy chỉnh được sử dụng trong các biểu mẫu khác t hiển thị vấn đề này.

Điều gì sẽ khiến con trỏ thay đổi kích thước chéo hiển thị mọi lúc?

Trả lời

6

Điều này dường như là lỗi trong Form.WmNCHitTest. Tôi tin rằng cách xác định tọa độ x và y là không chính xác (để có y là HIWORD((int)((long)lParam)), trong đó tài liệu hướng dẫn sử dụng GET_Y_LPARAM được định nghĩa là ((int)(short)HIWORD(lParam))).

Chỉ sử dụng phương pháp này nếu bạn đã bật khóa kích thước. Tắt tay cầm kích thước sẽ bỏ qua mã này và làm cho biểu mẫu hoạt động bình thường.

+0

Chúng tôi đã biết về giải pháp này một thời gian. Có ai đến với một sửa chữa thực tế cho phép kích thước grip để hiển thị? –

0

Thông tin bổ sung: Tôi thấy rằng khi đặt cài đặt Form.SizeGripStyle thành Hiện, hành vi kỳ lạ với con trỏ trở thành con trỏ thay đổi kích thước đường chéo, trông và hoạt động như bạn đang định lại kích thước cửa sổ từ góc dưới cùng bên phải, hiển thị khi cửa sổ Biểu mẫu được chuyển sang màn hình phụ. Khi thiết lập Form.SizeGripStyle thành Auto, mặc định, vấn đề này sẽ biến mất và cửa sổ biểu mẫu con trỏ và thay đổi kích thước công việc như chúng cần (con trỏ thích hợp, v.v.).

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