Hello,

I'm writing an extension class for the winforms button control using MC++.
I created a class, derived from System::Windows::Forms::Button.
In my class I want to extend the functionality of the Image-property, so I
added the followind functions:

public __gc class ExtendedButton : public System::Windows::Forms::Button
{
public:
__property System::Drawing::Image* get_Image();
__property void set_Image(System::Drawing::Image* value);
};

System::Drawing::Image* ExtendedButton::get_Image()
{
return System::Windows::Forms::Button::get_Image();
}

void ExtendedButton::set_Image(System::Drawing::Image* value)
{
System::Windows::Forms::Button::set_Image(value);
}

My problem is, that VS2003 runs into an endless loop when I add that control
in a form.
It then consumes very much CPU and memory, and it doesn't stop itself.

What did I do wrong?
There must be a way!

Thanks in advance!
Max

Re: Extending System.Windows.Forms.Button class by Markus

Markus
Wed Sep 08 09:15:10 CDT 2004

Hello,

as I didn't get answer to this question, and it's very important for me, I
tried some other way to to that.
My current approach overrides the OnPaint method and performs some stuff
that should be ok for me.

The problem is, that my OnPain method isn't called.

Heres some source code:
public __gc class EnhancedButton : public System::Windows::Forms::Button
{
public:
// ... some methods
protected:
void OnPaint(System::Windows::Forms::PaintEventArgs* pevent);
private:
// ... some methods and member variables
};

void EnhancedButton::OnPaint(System::Windows::Forms::PaintEventArgs* pevent)
{
// ... do some stuff

// ... call OnPaint of the base class
System::Windows::Forms::Button::OnPaint(pevent);
return;
}

Has anybody an idea?

Thanks in advance!
Max

}


"Markus Eßmayr" <essmayr/at/racon-linz.at> wrote in message
news:eBl2lnOlEHA.3016@tk2msftngp13.phx.gbl...
> Hello,
>
> I'm writing an extension class for the winforms button control using MC++.
> I created a class, derived from System::Windows::Forms::Button.
> In my class I want to extend the functionality of the Image-property, so I
> added the followind functions:
>
> public __gc class ExtendedButton : public System::Windows::Forms::Button
> {
> public:
> __property System::Drawing::Image* get_Image();
> __property void set_Image(System::Drawing::Image* value);
> };
>
> System::Drawing::Image* ExtendedButton::get_Image()
> {
> return System::Windows::Forms::Button::get_Image();
> }
>
> void ExtendedButton::set_Image(System::Drawing::Image* value)
> {
> System::Windows::Forms::Button::set_Image(value);
> }
>
> My problem is, that VS2003 runs into an endless loop when I add that
control
> in a form.
> It then consumes very much CPU and memory, and it doesn't stop itself.
>
> What did I do wrong?
> There must be a way!
>
> Thanks in advance!
> Max
>
>
>



Re: Extending System.Windows.Forms.Button class by Mick

Mick
Wed Sep 08 12:01:56 CDT 2004

I don't really understand the C++ code, but if it helps, I did do some
Custom Drawing in a Inherited Button in VB.net and C#.
You'll find the source at http://dotnetrix.co.uk/buttons.html

--
Mick Doherty
http://dotnetrix.co.uk/nothing.html


"Markus Eßmayr" <essmayr/at/racon-linz.at> wrote in message
news:uq8jB5alEHA.324@TK2MSFTNGP11.phx.gbl...
> Hello,
>
> as I didn't get answer to this question, and it's very important for me, I
> tried some other way to to that.
> My current approach overrides the OnPaint method and performs some stuff
> that should be ok for me.
>
> The problem is, that my OnPain method isn't called.
>
> Heres some source code:
> public __gc class EnhancedButton : public System::Windows::Forms::Button
> {
> public:
> // ... some methods
> protected:
> void OnPaint(System::Windows::Forms::PaintEventArgs* pevent);
> private:
> // ... some methods and member variables
> };
>
> void EnhancedButton::OnPaint(System::Windows::Forms::PaintEventArgs*
> pevent)
> {
> // ... do some stuff
>
> // ... call OnPaint of the base class
> System::Windows::Forms::Button::OnPaint(pevent);
> return;
> }
>
> Has anybody an idea?
>
> Thanks in advance!
> Max
>
> }
>
>
> "Markus Eßmayr" <essmayr/at/racon-linz.at> wrote in message
> news:eBl2lnOlEHA.3016@tk2msftngp13.phx.gbl...
>> Hello,
>>
>> I'm writing an extension class for the winforms button control using
>> MC++.
>> I created a class, derived from System::Windows::Forms::Button.
>> In my class I want to extend the functionality of the Image-property, so
>> I
>> added the followind functions:
>>
>> public __gc class ExtendedButton : public System::Windows::Forms::Button
>> {
>> public:
>> __property System::Drawing::Image* get_Image();
>> __property void set_Image(System::Drawing::Image* value);
>> };
>>
>> System::Drawing::Image* ExtendedButton::get_Image()
>> {
>> return System::Windows::Forms::Button::get_Image();
>> }
>>
>> void ExtendedButton::set_Image(System::Drawing::Image* value)
>> {
>> System::Windows::Forms::Button::set_Image(value);
>> }
>>
>> My problem is, that VS2003 runs into an endless loop when I add that
> control
>> in a form.
>> It then consumes very much CPU and memory, and it doesn't stop itself.
>>
>> What did I do wrong?
>> There must be a way!
>>
>> Thanks in advance!
>> Max
>>
>>
>>
>
>


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.742 / Virus Database: 495 - Release Date: 19/08/2004