Board index » cppbuilder » Draw TButtonItem

Draw TButtonItem


2007-12-17 03:07:34 AM
cppbuilder93
Hi,
I've created a derived class of TButtonItem.
class TMyButtomItem : public TButtonItem
{
public:
__fastcall TMyButtomItem(Classes::TCollection* Collection);
};
And added it to the CategoryButtons.
pb = new TMyButtomItem(CategoryButtons1->Categories->Items[0]->Items);
CategoryButtons1->Categories->Items[0]->Items->AddItem(pb, 0);
However, when I tried to draw the button on CategoryButtons1DrawButton
event, I can not cast the TButtonItem to TMyButtonItem, thus can not use
the info came with TMyButtonItem.
What can I do to Draw TMyButtonItem? Or How should I use TButtonItem.
Any examples?
Thanks
-Bill
 
 

Re:Draw TButtonItem

Hi Bill
Bill says:
Quote
Hi,

I've created a derived class of TButtonItem.

class TMyButtomItem : public TButtonItem
{
public:

__fastcall TMyButtomItem(Classes::TCollection* Collection);

};

And added it to the CategoryButtons.

pb = new TMyButtomItem(CategoryButtons1->Categories->Items[0]->Items);
CategoryButtons1->Categories->Items[0]->Items->AddItem(pb, 0);

However, when I tried to draw the button on CategoryButtons1DrawButton
event, I can not cast the TButtonItem to TMyButtonItem, thus can not use
the info came with TMyButtonItem.
How do You cast and what error do You get ??
Kind regards
Asger
 

Re:Draw TButtonItem

Asger Joergensen wrote:
Quote
Hi Bill

Bill says:
>Hi,
>
>I've created a derived class of TButtonItem.
>
>class TMyButtomItem : public TButtonItem
>{
>public:
>
>__fastcall TMyButtomItem(Classes::TCollection* Collection);
>
>};
>
>And added it to the CategoryButtons.
>
>pb = new TMyButtomItem(CategoryButtons1->Categories->Items[0]->Items);
>CategoryButtons1->Categories->Items[0]->Items->AddItem(pb, 0);
>
>However, when I tried to draw the button on CategoryButtons1DrawButton
>event, I can not cast the TButtonItem to TMyButtonItem, thus can not use
>the info came with TMyButtonItem.

How do You cast and what error do You get ??

Kind regards
Asger
TMyButtomItem * pb = dynamic_cast < TMyButtomItem *>(Button);
The error is :
E2031 Cannot cast from 'const TButtonItem *' to 'TMyButtomItem *'
Thanks for answering on a Sunday!
 

{smallsort}

Re:Draw TButtonItem

Hi Bill
Bill says:
Quote

TMyButtomItem * pb = dynamic_cast < TMyButtomItem *>(Button);

The error is :
E2031 Cannot cast from 'const TButtonItem *' to 'TMyButtomItem *'
try this:
const TMyButtomItem * pb = dynamic_cast <const TMyButtomItem *>(Button);
Kind regards
Asger
 

Re:Draw TButtonItem

Asger Joergensen wrote:
Quote
Hi Bill

Bill says:
>TMyButtomItem * pb = dynamic_cast < TMyButtomItem *>(Button);
>
>The error is :
>E2031 Cannot cast from 'const TButtonItem *' to 'TMyButtomItem *'

try this:

const TMyButtomItem * pb = dynamic_cast <const TMyButtomItem *>(Button);

Kind regards
Asger
It worked. Thanks!
-Bill