मैंने अतीत में ऐसा कुछ किया है।
दो तरीके हैं जिन्हें मैं ऐसा करने के बारे में सोच सकता हूं।
क्रियाओं के साथ :
जब यह TActionList.OnExecute हैंडलर में कोड रखकर यूआई उपयोग पालन करने के लिए बहुत आसान है कार्यों का उपयोग। यह घटना व्यक्तिगत कार्रवाई निष्पादन से पहले बंद हो जाती है जो आपको पता चलती है कि क्या हुआ है और कब।
उदाहरण के लिए:
procedure TForm1.ActionList1Execute(Action: TBasicAction; var Handled: Boolean);
begin
WriteToLog(TAction(TBasicAction).Caption);
end;
बिना कार्य:
अपने कार्यों का उपयोग नहीं अगर यह एक छोटे से अधिक कठिन है, लेकिन असंभव नहीं हो जाता है। आपको अपने लॉगिंग कोड के साथ एक TMenuItem वंशज के साथ एक नई इकाई बनाना है। सुनिश्चित करें कि प्रत्येक इकाई में उपयोग इकाई में उपयोग इकाई में एमएनयू इकाई के बाद अपनी नई इकाई को रखना सुनिश्चित करें। इस काम के लिए नए वंशज को टीएमएनयूइटम कहा जाना चाहिए। चूंकि आप अनिवार्य रूप से एक ही कक्षा को फिर से पेश कर रहे हैं लेकिन विस्तारित कार्यक्षमता के साथ।
यहां एक त्वरित इकाई है जिसे मैंने एक बहुत ही सरल उदाहरण दिखाकर एक साथ फेंक दिया।
unit MenuItemLogger;
interface
uses Menus;
Type
TMenuItem = class(Menus.TMenuItem)
public
procedure Click; override;
end;
implementation
uses windows;
{ TMenuItem }
procedure TMenuItem.Click;
begin
outputdebugstring(PWideChar(self.Caption));
inherited;
end;
end.
मेनू (TMainMenu या TPopupMenu) आप पता लगाने के लिए चाहते हैं के साथ किसी भी रूप/DataModule का उपयोग करता है खंड में पिछले इकाई के रूप में यह ऊपर इकाई जगह का उपयोग करें। यदि आप किसी विशेष इकाई का पता नहीं लगाना चाहते हैं तो इसमें शामिल न करें।
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ActnList, Menus, MenuItemLogger;
ये दो विधियां सरल हैं और जब वे काम करते हैं तो वे शायद सबसे अच्छे समाधान नहीं हैं।
स्रोत
2009-07-13 15:12:27
क्या आप कृपया अपने प्रश्न को स्पष्ट कर सकते हैं? तुम क्या ढूंढ रहे हो? आपका क्या मतलब है, "उपयोग"? –
@Jlouro: जरूरी अतिरिक्त विवरण शामिल हैं कि क्या यह आपके द्वारा लिखे गए ऐप के लिए है (यानी आप इस ट्रैकिंग को शामिल करना चाहते हैं) या उसी (या रिमोट?) कंप्यूटर पर मनमाने ढंग से एप्लिकेशन (ओं) के उपयोग की निगरानी करने के लिए। आपका प्रश्न इतना अस्पष्ट है कि यह अनुमान लगाना असंभव है कि आप वास्तव में क्या चाहते हैं। प्रश्न के लिए – Argalatyr
+1।मुझे लगता है कि ओपी यूआई उपयोग आंकड़ों को इकट्ठा करने के समाधान के बारे में पूछ रहा है जैसे "कौन सा मेनू बटन दबाया जाता है, कितनी बार, उन्हें शॉर्टकट द्वारा एक्सेस किया जाता है या" क्लिक करके ".. यह वास्तव में काफी खुलासा होगा (यानी एमएस ने ऐसे आंकड़ों का उपयोग करते समय रिबन यूआई) –