2012-01-26 29 views
5

nó phải đơn giản nhưng tôi không tìm thấy làm thế nào để làm điều đó.Delphi: Bảng điều chỉnh bên phải thẳng hàng khi thay đổi kích thước hình thức

Tôi tạo một biểu mẫu có bảng điều khiển phù hợp phải có màu xanh dương chẳng hạn.

Nếu tôi lấy biểu mẫu cạnh trái của tôi và thay đổi kích thước của nó qua lại một cách nhanh chóng, tôi muốn bảng điều khiển bên phải không di chuyển hoặc nhấp nháy. Vì vị trí của nó không thay đổi, nên không có lý do gì khiến nó không được ổn định hoàn toàn. Có ai biết một mẹo đơn giản để giải quyết vấn đề này đơn giản dường như?

Cảm ơn

+0

Thử đặt 'DoubleBuffered: = True' trong hàm tạo biểu mẫu. – Blorgbeard

+2

Trên thực tế đây không phải là một vấn đề nhấp nháy, đó là một vấn đề liên kết. Đó là câu hỏi khác sẽ không giúp đỡ ở đây. –

+0

Tôi đã đặt doubleBuffered thành TRUE. Tôi cũng đã cố gắng tự điều chỉnh bằng cách định vị bảng bên phải trong phương thức FormResize. Không may mắn. –

Trả lời

7

Đây chỉ là một thực tế của cuộc sống với các ứng dụng GUI của Windows. Bạn có thể thấy hiệu ứng tương tự trong một ứng dụng WinForms và thực sự ngay cả trong các ứng dụng Windows chính thống. Ví dụ, mở một cửa sổ Explorer và thực hiện chính xác thao tác đó, thay đổi kích thước bằng cách lấy cạnh trái của cửa sổ. Bạn sẽ thấy chính xác cùng một hiệu ứng. Bạn có thể thấy hiệu ứng tương tự bằng cách thay đổi kích thước từ bất kỳ cạnh nào. Word và Excel hoạt động theo cùng một cách.

Tôi đoán là Windows vẽ lại trong vòng định cỡ trước khi nó gửi thông báo thay đổi kích thước cho phép ứng dụng điều chỉnh lại các điều khiển của nó.

+0

Bạn có thể đúng nhưng tôi thấy khó chấp nhận. Theo ý kiến ​​của tôi, ngay cả khi không phải lúc nào cũng dễ dàng đạt được, chúng tôi luôn cố gắng tránh sơn lại một phần của cửa sổ khi nó không cần thiết. Trong trường hợp đơn giản mà tôi mô tả, phần duy nhất cần được sơn lại là phần bị ảnh hưởng bởi việc thay đổi kích thước. Do đó, bảng điều khiển bên phải sẽ ổn định. –

+0

Nếu trình quản lý cửa sổ đang thực hiện việc này thì bạn sẽ không may mắn. Sẽ có giá trị thử nghiệm với XP mà ám bỏ khác nhau. –

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