> > 普通に[描画更新]メソッドでOKじゃないかと思います。
> メインフォームからサブフォームのウィンドウハンドルを取得できないで困っています。
> #ウィンドウハンドル取得関数を使ってもメインのハンドルしか取得できません。
それは無理ですよ。
なぜならば、サブフォームにはウィンドウハンドルがありません。
正確には、サブフォームのウィンドウハンドルはメインフォームと同じです。
なぜなら、ひとつのウィンドウだからです。
> このメソッドのハンドル指定はサブからメインへの説明がありますので、
> 逆にメインからサブのウィンドウに働かせることもできそうな気がしているんですが、
サブフォームの[フォーム]オブジェクトが利用できるメソッドを実行する場合には、
メソッド呼び出し @サブフォーム名.@フォーム.メソッド名( )
という具合にすると出来ると思います。
> 描画更新メソッドが使えそうな気がしているんですが、
私の前言を覆すようですが、
サブフォームの再描画というのは結構曲者でして、
描画更新メソッドが使えるのかは分かりません。
それでも駄目なら、最後の手段としてメインフォームの倍率設定というところでしょう。
> やはりメインの項目の1つずつで表示モードと訂正モードを繰り返して、
> 強制的に表示させていくしかないのかもしれません。
> 所詮、エクセルのようにリアルタイムに計算結果を表示させていきたいという要求は、
> 1つのフォーム内での処理で済む場合の他は、望むべきでないのかもしれないですね。
テキストボックスを編集している時、
つまり、キャレットが点滅している場合に、
テキストボックスのソース、つまり項目を直接編集していると勘違いする人が多いですね。
テキストボックスを編集している時は、一種のバッファをエディットしているので、
これをエディタと呼んでいるわけです。
したがって、
テキストボックスの編集が終わらなければ、項目値は書き換わらないのです。
※テキストボックスの編集を終わらせないで、項目値を書き換える方法は前回書きました。
> これをすると恐ろしく処理に時間がかかってしまい、実用的でなくなるかも....。
同じ結果を出すためには何通りかの方法があります。
アックンさんの方法ですでに解決されているのですから、それでよいと思いますよ。
心配するほど遅くなることは無いと思いますけれど。