
C++/CLIにてForm1の要素に外部の関数からアクセスしたいです。
Windows7、Visual Studio2010にてC++/CLIで
簡単なフォームアプリケーションを作成しています。
仮に新規作成し、とりあえずテキストボックスを貼りつけたとします。
この際「Form1.h」が自動的に作成され、Form1クラスの中に
textBox1などの要素が自動的に作成されるかと思います。
Form1クラスのメソッドの中からそれにアクセスするには
this->textBox1->Text = L"変更";
みたいにするだけで良いですが、
こうしたForm1クラスの要素に対し、
Form1.h以外の場所にある外部の自作の関数から
アクセスを行うにはどのようにすれば良いのでしょうか。
No.2ベストアンサー
- 回答日時:
> Form1はこのApplication::Runの中で一時的に作成されているのみということなのでしょうか。
そういうことです。
ですから、外部に対してなんらかの形でフォームのオブジェクトを渡す必要があります。
まぁそこの部分を書き換えてもいいんですが、自動生成される部分にはなるべく手を加えない方がスマートです。
あと、外部関数ということはフォームとは別のスレッドからの制御になると思いますが、その場合単純に書き換えようとすると例外になります。
http://www.atmarkit.co.jp/fdotnet/dotnettips/312 …
No.1
- 回答日時:
Form1クラスに変更を行うメソッドを作り、自作関数からそのメソッドを呼び出しましょう。
この回答への補足
実はそういったアクセス用のメソッド自体は作成していたのですが、
外部のファイルや関数からForm1のメソッドを呼び出す方法が分からずにいました。
仮にForm1にvoid test()というメソッドがあったとした場合、
違うファイルからそのtest関数を呼び出すにはどのようにすれば良いのでしょうか。
というのも、Form1がどこで宣言されているのかもよく分からないのです。
main関数を見れば
int main(array<System::String ^> ^args)
{
// コントロールが作成される前に、Windows XP ビジュアル効果を有効にします
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
// メイン ウィンドウを作成して、実行します
Application::Run(gcnew Form1());
return 0;
}
などとなっていましたが、Form1はこのApplication::Runの中で一時的に
作成されているのみということなのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【sendkeysメソッドが動かずに...
-
VBScriptからストアドプロシー...
-
eclipse-Tomcatでのデバッグに...
-
エクセルVBAで、条件に一致する...
-
VBPをダブルクリックするとたま...
-
単体テスト仕様書[正常系/異常...
-
Labelコントロールに数字を代入...
-
ウィンドウを最前面にできません
-
ODBCでMoveNextがうまく動作し...
-
JAVA初心者です。JAVAで音を鳴...
-
javaで最前面表示はできますか?
-
JSPで<SELECT>の中にDBから持っ...
-
0歳児の指しゃぶりに関して
-
FEM解析の読み方は?
-
C#.net Define文
-
JAVA(JDBC)の検索について
-
Application.Wait の参照設定
-
javascriptからjavaを呼び出したい
-
処理内容がほぼ同じメソッドの...
-
vbaエクセルマクロ RemoveDupli...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0歳児の指しゃぶりに関して
-
エクセルVBAで、条件に一致する...
-
javascriptからjavaを呼び出したい
-
VBPをダブルクリックするとたま...
-
コマンドプロンプト実行後に画...
-
DataGridViewでセルクリックイ...
-
Labelコントロールに数字を代入...
-
final修飾子を使っているのに、...
-
ウィンドウを最前面にできません
-
配列のメソッド
-
JSPで<SELECT>の中にDBから持っ...
-
【sendkeysメソッドが動かずに...
-
メソッドをstaticにする、しな...
-
execute()
-
java 次の機能を有するメソッド...
-
PDFファイルから別ウィンドウで...
-
CALLされていないメソッドを見...
-
Excel : OpenTextメソッドが正...
-
C#で右からnカラム目に文字を挿...
-
eclipse-Tomcatでのデバッグに...
おすすめ情報