trichview.support
Re: Finding which button was selected |
Author |
Message |
shmp |
Posted: 02/27/2004 19:14:08 > Hi, > > How do I find out which button was selected when I have more than one button > component inserted into a richview document? > > Setting the 'tag' when creating the button does not seem to work (checking > the 'Sender' tag property in the click event returns unpredictable results), > and I am having no luck with getting 'GetFocusedItem' to provide any better > information (in fact, I am getting access violations, so I figure I am just > using it incorrectly). DO NOT USE the TButton.Tag, instead you should use the RichView control tag. e.g. if RichView1.GetItemStyle(ItemNo) = rvsComponent then begin RichView1.GetControlInfo(ItemNo, Name, Ctrl, Align, Tag); if Tag = ........ then end; or you can use 'name' of the control. You have to think of a way to get the ItemNo. Setting the control would be RichView1.AddControlExTag('', MyButton, -1, Align, CountButton); where countButton is the tag. > I am trying to centralize my 'button click' code to one procedure (set with > the 'OnClick' property of the button when I create them), and then branch to > the required code based on the state of the program. This has been working > fine while I had just one button on any richview page - but is failing > miserably when I have to have more than one button. You can use OnControlAction. If you can add a property of either text or integer in the button component then it would be convenient to centralize. The OnClick procedure would have something like this: Test := TButton(TControl(Sender)).YourAddedProperty; The 'Test' could contain the ID you wanted. Good luck. Henry. |
Powered by ABC Amber Outlook Express Converter