简体   繁体   中英

How to use a separate .cpp file for my event function definitions in windows forms?

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM