I'm having trouble defining my C++ event functions in windows forms.
I want to define my event functions (example: button click) in a separate .cpp file instead of doing all the function definitions in the windows forms .h file that's already full of generated code for the windows forms GUI.
I tried doing this, Declaration inside the Form1.h class:
private: System::Void ganttBar1_Paint
(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e);
And this is the definition inside Form1.cpp class:
#include "Form1.h"
System::Void Form1::ganttBar1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e)
{
// Definition
}
When I do this i get compiler errors in the .cpp file saying that it's not a class or namespace name.
What can i do to get the definitions and declarations of the event functions in seprate files?
Am I just being stupid and missing something here or do i have to do these things in another way than the C++ standard?
Your class definition is most likely inside of some namespace (I'll use Project1
as a placeholder):
#pragma once
namespace Project1
{
ref class Form1 : public System::Windows::Forms::Form
{
// ...
};
}
Consequently, your definition needs to be as well:
#include "Form1.h"
namespace Project1
{
void Form1::ganttBar1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e)
{
// definition
}
}
or
#include "Form1.h"
void Project1::Form1::ganttBar1_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e)
{
// definition
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.