Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 Determine Which Label was Clicked


The following information applies to:
  • Delphi (All Versions)
Steps, Assumptions, Procedures:
I am writing a Delphi program which consists of three label objects, when user right click the label, a popup menu will appear and perform some action on the color of the label when clicking the menu items, but I don't know how to identify which label was right clicked. Please help, thanks a lot.

Answer:
Set the PopUpMenu property for all the labels to the same menu, Then for a menu item on the PopUpMenu1 called GreenIt, the handler would be:
Code:


1.  procedure TForm1.GreenItClick(Sender: TObject);
2.  begin
3.   TLabel(PopUpMenu1.PopUpComponent).Font.Color := clGreen;
4.  end;
Results:
The clicked label will turn green.
Explanation:
The PopUpComponent of a PopUp menu is the component calling the menu. You have to cast it as a TLabel to keep the compiler happy, because a TComponent does not have a Font, but a TLabel (which is the descendant of Tcomponent, and which you know is the popup menu's caller) does. You know that, but the compiler doesn't.
Notes:
Submission Information:
Submitted by: Alan Lloyd
E-Mail: alanglloyd@aol.com



 
 Hits/month  2,500,000+ 
 Downloads
 (Since May 2000)
 7,393,709 
 Total Files  6,023 
 Forum msgs  7,670 
 Articles/FAQs  70+/900+ 
Kylix
Tips n Tricks
FAQs
Knowledge Base
Bug Listings
Articles
Books
Newsgroups
Links
Submissions
Testimonials
Advertising
Contact Us
About Us
Search Amazon:
Top Selling Software at Amazon

| Home/News | Downloads | Forums | Resources | Info and Facts | Testimonials |
  Site Search:
 


Comments/Problems: Webmaster@delphi32.com
Copyright © 1998-2006, Delphi32.com. All rights reserved.
Terms of Use