Browse file and save file

hey
I am new to c++. I am trying to create a editor program.I am stuck at how to open a dialog box where it asks to open a file from any directory (my pictures etc ) and then save that file.i tried using the form to create a open/save dialog box- in design mode - but when i compile it,its giving me errors like

button1_click has no member...if anyone who can guide me through this that would be amazing thankyou.

i am using visual studio 2013

here's that part of code
1
2
3
4
5
6
7
8
9
10

public:
		MainWindow(void)
		{
			InitializeComponent();
			this->button1->Click += gcnew
				System::EventHandler(this, &Form::button1_Click);
		}

Last edited on
anyone ?
On line 3 I'd say that is the constructor of MainWindow. On line 7 there is Form. If the encompassing class is MainWindow then you cannot use Form with this.
thnks fr the reply ...okay so what should i do to resolve this error ....heres my full code i've pointed out where visual is giving me error of it has no member "button1_click

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131

#pragma once

namespace CppWindowsFormsApplication {

	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;

	/// <summary>
	/// Summary for MainWindow
	/// </summary>
	public ref class MainWindow : public System::Windows::Forms::Form
	{
	public:
		MainWindow(void)
		{
			InitializeComponent();
			this->button1->Click += gcnew
				System::EventHandler(this, &Form::button1_Click); /// <-----ERROR--
		}

	protected:
		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		~MainWindow()
		{
			if (components)
			{
				delete components;
			}
		}
	private: System::Windows::Forms::Button^  button1;
	private: System::Windows::Forms::Button^  button2;
	private: System::Windows::Forms::RichTextBox^  richTextBox1;
	private: System::Windows::Forms::OpenFileDialog^  openFileDialog1;
	protected:

	private:
		/// <summary>
		/// Required designer variable.
		/// </summary>
		System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		void InitializeComponent(void)
		{
			this->button1 = (gcnew System::Windows::Forms::Button());
			this->button2 = (gcnew System::Windows::Forms::Button());
			this->richTextBox1 = (gcnew System::Windows::Forms::RichTextBox());
			this->openFileDialog1 = (gcnew System::Windows::Forms::OpenFileDialog());
			this->SuspendLayout();
			// 
			// button1
			// 
			this->button1->Location = System::Drawing::Point(12, 218);
			this->button1->Name = L"button1";
			this->button1->Size = System::Drawing::Size(75, 23);
			this->button1->TabIndex = 0;
			this->button1->Text = L"&Open file";
			this->button1->UseVisualStyleBackColor = true;
			this->button1->Click += gcnew System::EventHandler(this, &MainWindow::button1_Click);  // <------------- ERROR--------
			// 
			// button2
			// 
			this->button2->Location = System::Drawing::Point(174, 218);
			this->button2->Name = L"button2";
			this->button2->Size = System::Drawing::Size(75, 23);
			this->button2->TabIndex = 1;
			this->button2->Text = L"save file";
			this->button2->UseVisualStyleBackColor = true;
			// 
			// richTextBox1
			// 
			this->richTextBox1->Location = System::Drawing::Point(0, 0);
			this->richTextBox1->Name = L"richTextBox1";
			this->richTextBox1->Size = System::Drawing::Size(272, 212);
			this->richTextBox1->TabIndex = 2;
			this->richTextBox1->Text = L"";
			// 
			// openFileDialog1
			// 
			this->openFileDialog1->FileName = L"openFileDialog1";
			this->openFileDialog1->Filter = L"JPEG Files (*.jpg)|*.jpg|PNG Files (*.png)|*.png|BMP Files (*.bmp)|*.bmp|All file"
				L"s (*.*)|*.*";
			this->openFileDialog1->Title = L" Select a picture file";
			this->openFileDialog1->FileOk += gcnew System::ComponentModel::CancelEventHandler(this, &MainWindow::openFileDialog1_FileOk);
			// 
			// MainWindow
			// 
			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
			this->ClientSize = System::Drawing::Size(284, 262);
			this->Controls->Add(this->richTextBox1);
			this->Controls->Add(this->button2);
			this->Controls->Add(this->button1);
			this->Name = L"MainWindow";
			this->Text = L"MainWindow";
			this->ResumeLayout(false);

		}
#pragma endregion

	private: System::Void openFileDialog1_FileOk(System::Object^  sender, System::ComponentModel::CancelEventArgs^  e)
	{
		void button1_Click(System::Object ^ sender,
			System::EventArgs ^ e)
		{
			OpenFileDialog ^ openFileDialog1 = new OpenFileDialog();
			openFileDialog1->Filter = "Cursor Files|*.cur";
			openFileDialog1->Title = "Select a Cursor File";

			if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
			{
				this->Cursor = gcnew
					System::Windows::Forms::Cursor(
					openFileDialog1->OpenFile());
			}
		}

	}
	}
}
Last edited on
I am new to c++.

Just to make you aware (just in case you are not already). Strictly speaking you aren't writing C++.

From:
https://en.wikipedia.org/wiki/C%2B%2B/CLI
C++/CLI should be thought of as a language of its own (with a new set of keywords, for example)
Remove line 22/23.

The function button1_Click(...) is missing. This should have been created by the designer. Did you delete it accidentally?
So let the designer create it again for you. Or (if you now the signature) write it yourself
thnx mutexe for pointing it out but i already knew that =)

@ coder777

do you mean void button1_Click(System::Object ^ sender,System::EventArgs ^ e)
its there in the code line number 114-115... =/
Last edited on
In that case I apologise mate :)
do you mean void button1_Click(System::Object ^ sender,System::EventArgs ^ e)
Ok, I see.

its there in the code line number 114-115... =/
No, this is a local function inside openFileDialog1_FileOk(...) (which is not allowed in C++). Move button1_Click(...) outside of the function/inside the class.
nop i am sorry it was my mistake i should have mentioned that i am working in managed c++ which is a new territory for me =)
okaay i tried that but now its giving me a new error
openfiledialog is undefined

1
2
3
4
5
6
7
8
9
private: System::Void openFileDialog1_FileOk(System::Object^  sender, System::ComponentModel::CancelEventArgs^  e)
	{
}
System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
		{
			OpenFileDialog ^ openFileDialog1 = new OpenFileDialog(); // <---ERROR
			openFileDialog1->Filter = "Cursor Files|*.cur";
			openFileDialog1->Title = "Select a Cursor File";
It is gcnew not new
Topic archived. No new replies allowed.