By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,665 Members | 1,513 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,665 IT Pros & Developers. It's quick & easy.

Extending System.Windows.Forms.Button class

P: n/a
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
Nov 17 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
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::Pa intEventArgs* 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:eB**************@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

Nov 17 '05 #2

P: n/a
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:uq*************@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::Pa intEventArgs*
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:eB**************@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
Nov 17 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.