in my code :
1.
addAndMakeVisible (tb = new TextButton (String::empty));
tb->setButtonText (T(“Over me”));
tb->addButtonListener (this);
…
void MainComponent::mouseDown (const MouseEvent& e)
{
if((e.x>=52&e.x<=172)&e.y>=240)//Show the following areas of the TextButton ,contain TextButton areas.
//tb->setBounds (52, 240, 120, 32);
{
tb->setButtonText (T(“love me”));
lb->setText (T(“Down me”),true);
}
}
on Button ,mouseDown() don’t work,BUT,other positions are very well.why?
It’s hard to tell what you’re trying to do here, but a few things that might help.
-
If you want to handle a button being clicked then make your component inherit from Button::Listener and implement void buttonClicked(Button *b) (and/or buttonStateChanged(Button *b))
-
Your if statement has single & instead of double &&
-
And also the T’s aren’t recommended anymore I think.
Hi
You should also know:
- for better reading ,when you paste some code snippets, use the ‘Code’ button and surround your code with it (use the ‘Preview’ button to see how it looks).
- For the ButtonClicked() callback mentioned by Graeme to actually work, you need to register the class (Buttton::Listener) using
tb->addListener(<YourButtonListenerClass>);
- Check the example projects, there’s plenty of useful stuff there…
Attention:
I think ,maybe I didn’t describe clearly.I know when mouse put on button, It’s nothing.But on other position,
eg. at Point (180,280), Display text.WHY?
BTW, window’s size as follows setSize (600, 300);
Ok, now I got you…
Cause the button is a different component, lying on top of your component, and has it’s own MouseDown() function which is the one called when you click on it.
Thank you.
if((e.x>=52&e.x<=172)&e.y>=240)
Wow. Interesting use of the & operator there. You might want to learn about the difference between && and &.
Also, you’ll find a large button at the bottom of the keyboard. It makes a ‘space’. It’s traditional to use it between words, to make written language easier to read. I find that, since you can put any whitespace you want in C style code, it also makes code easier to read, and makes your intent clearer.
Bruce
Is this what you mean: