2009-09-13 5 views
5

मैंने रिबन ऐप्लिकेशंसमेनूबार से जुड़े कई तरीकों का प्रयास किया है ताकि उपयोगकर्ता को रिबन ऐप्लिकेशंसमेनूबार को माउस के साथ चुनने से रोका जा सके जब तक कि परियोजना सेटिंग्स को एक इनफाइल से लोड नहीं किया जाता है और एक स्पलैशफॉर्म बंद हो जाता है। लेकिन अन्यथा बताए जाने तक रिबन अनुप्रयोग MenuBar InActive बनाने के लिए कुछ भी काम नहीं करता है।रिबन अनुप्रयोग MenuBar निष्क्रिय/सक्रिय कैसे करें?

सहायता फ़ाइल रिबन अनुप्रयोगों के कई गुणों के बारे में कुछ भी नहीं दिखाती है। मेनूबार और सहायता विकी वही है, इसलिए मैं इसे हल करने में असमर्थ हूं।

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; 

जब तक RibbonApplicationMenuBar निष्क्रिय है उपयोगकर्ता RibbonApplicationMenuBar चयन कर सकते हैं इससे पहले कि यह चयन किया जा करने के लिए तैयार है। किसी भी सुझाव की सराहना की जाती है। मुझे पता है कि यहां दिखाए गए सभी विधियां सही या संभवतः आदेश से बाहर नहीं हैं ... यह केवल मेरा प्रयास है कि रिबन ऐप्लिकेशंसमेनूबार सक्रिय होने और स्पलैश फॉर्म बंद होने तक क्लिक करने योग्य होने से मेरा प्रयास है।

धन्यवाद,

विधेयक

+0

आप स्प्लैश स्क्रीन को सामान्य रूप से क्यों नहीं दिखाते? इससे किसी भी अन्य रूप से किसी भी बातचीत को रोका जा सकेगा। –

+0

माइक्रोसॉफ्ट एप्लिकेशन रिबनबार तब तक सक्रिय नहीं होता जब तक कि एप्लिकेशन पूरी तरह से लोड नहीं हो जाता ... मैं बस इसे डुप्लिकेट करने की कोशिश कर रहा हूं। मैं एक मोडल स्प्लैश स्क्रीन नहीं चाहता। –

+0

मैं डेल्फी के रिबन का उपयोग नहीं कर रहा हूं लेकिन रिबन आइटम को क्रियाओं से जोड़ने के बारे में क्या हूं। फिर आप केवल क्रिया को सक्षम/अक्षम कर सकते हैं, या इसे छुपा भी सकते हैं। मैं मानता हूं कि रिबन यूआई को इस तरह से व्यवहार नहीं करना चाहिए। – Mihaela

उत्तर

0

यह सब रिबन कार्यों को निष्क्रिय करने के लिए झूठी TRibbon.Enabled स्थापित करने के लिए पर्याप्त है (XE3 के साथ परीक्षण किया)। सबसे आसान तरीका यह डिजाइन समय में गलत है। इसे अपने स्प्लैश फ़ॉर्म के ऑनहाइड से उदाहरण के लिए सही सेट करें। जब सभी पृष्ठभूमि गतिविधियों को पूरा किया जाता है तो केवल स्पलैश बंद करें।