掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
_tWinMainで始まるプログラムでCLRフォームを利用するには? (ID:63650)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
やりたいことって、結局はDDEサーバをつくるということなんですかね? となると、もうすでに記述済みですが、コールバック関数からローカル変数である Form1のインスタンスをアクセスすることは不可能です。 (というか、C言語の基本だと思うけど) で、普通の関数と違って引数で渡すことが出来ないので、グローバル変数として 扱うしかないようです。 Form1をそのままグローバルにおくべきではないと思います。(できるかできないか試していないけど) ですので、やるのであれば、Form1を作成後、そのウィンドウハンドルをグローバル変数に格納してあげれば いいと思います。 で値を変更したいとかそのような操作はSendMessage関数を使うことになるでしょう。 (この考え方はMFCでもWin32SDKでも同じやり方になります。) で、変更の対象が Label の場合、Form1のLoadイベントあたりで、 Labelのウィンドウハンドルを取得することになるでしょう。 (親(Form1)のウィンドウハンドルでも出来ないことはないけど。) hLabel = static_cast< HWND >( label->Handle.ToPointer() ); (ということなので別ファイルのグローバル変数を扱うためにも記憶クラスの理解が必須になります)
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.