2012-01-07 22 views
10

Tôi muốn có một tùy chọn từ Ứng dụng của tôi để chuyển đổi hiển thị Menu chính.Ẩn TActionMainMenuBar?

Chức năng vẫn có thể được sử dụng thông qua Thanh công cụ vv, vì vậy việc ẩn Menu sẽ không mất bất kỳ thứ gì. Ẩn Menu thực sự là một lựa chọn GUI cho người dùng.

Dù sao Menu chính của tôi được thiết lập bằng cách sử dụng TActionMenuBar và TActionManager (đối với kiểu chữ và chữ XP).

Tôi đã thử chỉ cần đặt thuộc tính Có thể nhìn thấy của MainMenuBar dẫn đến thông báo lỗi này: "ActionMainMenuBar không cho phép ẩn."

Tôi nghĩ rằng đó là một chút kỳ lạ, tạo ra thực tế là thuộc tính Hiển thị tồn tại. Tại sao nó lại ở đó, nếu tôi không thể thay đổi nó? Vì vậy, như thường lệ tôi mong đợi đây là một trường hợp đơn giản của việc thay đổi một thiết lập và thì đấy, nhưng tôi không nghĩ rằng điều này có thể đòi hỏi nhiều công việc hơn, tôi thậm chí sẽ không biết bắt đầu từ đâu hay tìm kiếm gì.

Đánh giá cao ý tưởng và đề xuất của bạn.

+0

Đây là một câu hỏi hay. Tôi đề nghị bạn tìm hiểu mã nguồn của VCL cho TActionMenuBar. –

+0

Cảm ơn Warren, tôi sẽ có một cái nhìn. Tôi quan tâm để xem lý do tại sao có một tài sản có thể nhìn thấy, đặc biệt là nếu nó không thể thực sự được sử dụng. –

+0

@Craig - Tôi đã trả lời câu hỏi của bạn, bạn không cần phải fiddle với các nguồn vv .. –

Trả lời

8

Bạn cần đặt AllowHiding thành 'true' trước khi đặt Visible thành 'false'.

+0

Cảm ơn bạn đã chỉ ra AllowHiding, tôi không thấy điều này. Tôi không thấy lý do tại sao nên có một nhu cầu cho tài sản AllowHiding mặc dù, nó có thể chỉ được gắn vào tài sản Visible. –

+3

@Craig - Thuộc tính có trong trường hợp người dùng của bạn có thể tùy chỉnh thanh công cụ. Bạn có thể muốn người dùng có thể ẩn thanh công cụ chứ không phải thanh trình đơn. –

+0

Ồ tôi hiểu rồi, vậy thì tôi đoán điều đó có ý nghĩa! Cảm ơn Sertac đánh giá cao sự giúp đỡ của bạn. –

0

Menu thường được liên kết với biểu mẫu chính để thiết lập Form1.Menu: = nil sẽ ẩn nó và Form1.Menu: = MainMenu sẽ hiển thị nó.

+3

Không, bạn không thể đặt ActionMainMenuBar thông qua thuộc tính Menu của biểu mẫu. –