別スレッドからメインスレッドのテキストボックスに文字を表示させたい
Visual C++ 2005 Express Editionを使用している初心者です。
タイトルの方法がどうしてもわからないので教えてください。
うまく説明できないので聞きたいところのコードを載せます。
//SAMPLE.cpp
#include "stdafx.h"
#include "Form1.h"
using namespace SAMPLE;
int main(array<System::String ^> ^args)
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Application::Run(gcnew Form1());
}
//Form1.h
#include <process.h>
#include <vcclr.h>
namespace SAMPLE {
unsigned __stdcall counter(void *arg);
int thread_id1;
unsigned dummy;
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
public ref class Form1 : public System::Windows::Forms::Form
{
public:Form1(void)
{
InitializeComponent();
//別スレッド起動
thread_id1=_beginthreadex(NULL,0,counter,(void *)1,0,&dummy);
}
private: System::Windows::Forms::TextBox^ textBox1;
private: System::ComponentModel::Container ^components;
void InitializeComponent(void)
{
this->textBox1 = (gcnew System::Windows::Forms::TextBox());
//省略(コンポーネント初期化)
}
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
}
};
unsigned __stdcall counter(void *arg){ //別スレッド
//ここで文字列を記述して上のtextBox1に表示したい
return 0;
}
}
初歩的なことかもしれませんが、
よろしくお願いします。
お礼
回答、有り難うございます。 ふぅーむ、私はまだまだ勉強不足ですね。 お教え頂いたことを調べて、もっと理解する様にします。