2009-09-13 48 views
5

Tôi đã thử nhiều phương thức liên kết với RibbonApplicationMenuBar để ngăn người dùng chọn RibbonApplicationMenuBar bằng chuột cho đến khi cài đặt dự án được tải từ một inifile và một biểu tượng splash đóng lại. Nhưng dường như không có gì để làm cho RibbonApplicationMenuBar InActive cho đến khi được nói khác đi.Làm thế nào để làm cho RibbonApplicationMenuBar không hoạt động/hoạt động?

Tệp trợ giúp không hiển thị gì về nhiều thuộc tính của RibbonApplicationMenuBar và Wiki trợ giúp giống nhau nên tôi không thể giải quyết vấn đề này.

procedure TMainForm.FormCreate(Sender: TObject); 
begin 
    // make theRibbonApplicationMenuBar1 inactive 
    RibbonApplicationMenuBar1.Enabled := False; 
    RibbonApplicationMenuBar1.Inactive := True; 
    RibbonApplicationMenuBar1.Hide; 
    RibbonApplicationMenuBar1.AutoFocus := False; 
    // read application settings 
    ReadIni(AIniFileFilename); 
    // show a splash form 
    FormSplash := TFormSplash.Create(MainForm); 
    // FormSplash.Parent := MainForm; 
    FormSplash.Position := poOwnerFormCenter; 
    FormSplash.Show; 
    FormSplash.Update; 
end; 


procedure TMainForm.FormShow(Sender: TObject); 
begin 
    // close the splash form 
    FormSplash.RequestClose; 
    // Activate the RibbonApplicationMenuBar 
    RibbonApplicationMenuBar1.Enabled := True; 
    RibbonApplicationMenuBar1.Inactive := False; 
    if RibbonApplicationMenuBar1.CanFocus then 
    RibbonApplicationMenuBar1.SetFocus; 
    RibbonApplicationMenuBar1.AutoFocus := True; 
    RibbonApplicationMenuBar1.SelectApplicationButton; 
    RibbonApplicationMenuBar1.Show; 
end; 

Trừ khi RibbonApplicationMenuBar không hoạt động, người dùng có thể chọn RibbonApplicationMenuBar trước khi sẵn sàng được chọn. Mọi đề xuất đều được đánh giá cao. Tôi biết tất cả các phương pháp được hiển thị ở đây là không chính xác hoặc có thể không đúng thứ tự ... nó chỉ là nỗ lực của tôi để ngăn chặn các RibbonApplicationMenuBar trở thành hoạt động và có thể nhấp cho đến khi hình thức giật gân đóng lại.

Cảm ơn,

Bill

+0

Tại sao bạn không hiển thị màn hình giật gân một cách bình thường? Điều đó sẽ ngăn cản bất kỳ sự tương tác nào với bất kỳ hình thức nào khác. –

+0

Ứng dụng Microsoft ribbonbar không hoạt động cho đến khi ứng dụng được tải đầy đủ ... tôi chỉ đang cố sao chép lại. Tôi không muốn một màn hình giật gân phương thức. –

+0

Tôi không sử dụng băng của Delphi nhưng về việc liên kết các mục ruy-băng với các hành động. Sau đó, bạn chỉ có thể bật/tắt tác vụ hoặc thậm chí ẩn nó. Tôi đồng ý rằng giao diện người dùng ribbon không nên hoạt động theo cách đó. – Mihaela

Trả lời

0

Nó là đủ để thiết lập TRibbon.Enabled thành False để vô hiệu hóa tất cả các hành động Ribbon (thử nghiệm với XE3). Cách dễ nhất được đặt là Sai trong thời gian thiết kế. Đặt nó trở lại True ví dụ từ OnHide của hình thức giật gân của bạn. Đóng giật gân chỉ khi tất cả các hoạt động nền được thực hiện.

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