• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Vc++ .net

  • Автор темы vladsol
  • Дата начала
V

vladsol

Доброго времени суток!

Изучаю С++, и вот у меня появились проблемы при переходе из консольных приложений в оконные :(
В Visual C++ Express Edition пытаюсь создать приложение Windows Forms.
И вот вопрос: Как при нажатии на кнопку (да и вообще, на любое действие) сделать выполнение какой-нибудь своей функции?

Т.е., допустим, имеем "решение", файлы:
Form1.h
с:

Код:
...
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
}
...

И файл new.cpp, с приблизительно таким содержанием:
Код:
// new.cpp: главный файл проекта.

#include "stdafx.h"
#include "Form1.h"

using namespace new1;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{

// Включение визуальных эффектов Windows XP до создания каких-либо элементов управления
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false); 

// Создание главного окна и его запуск
Application::Run(gcnew Form1());
return 0;
}

- если я добавлю функцию, ну, хотя бы:
int test() {
return 5;
}

- как мне выполнить её по нажатию кнопки? ;)
И как получить результат, который она вернет, например, для textbox ?

Прочитал "Visual C++.NET Для чайников" и "Самоучитель Visual C++ .NET", смешно, но ответа на такой, как мне кажется, простой вопрос, я не нашел :(
- в книгах либо затрагиваются исключительно консольные приложения, либо примеры изменения параметров одного элемента формы другим - а это не то, что мне нужно.
 
A

alexsid

Код:
void MySuperFunction(){
// TODO: implement
}

...
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
MySuperFunction();
}

или с твоей функцией
Код:
int test() {
return 5;
}

...
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
int result = test();
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!