愚かに聞こえるかもしれませんが、アプリケーションが何が起こっているかを表示しないようにするには、いくつかの状況が発生しました。別の特定のアクションが起こるまで(stringGridsはデータで満たされ、UIは準備されています...)アプリケーションからOSにメッセージが送信されないようにする方法はありますか?Delphi - システムメッセージの保持/ UI再描画の防止?
ので、
application.processmessages
にはいくつかのopositはありますか? 次のようなものがあります。
?
もちろん、別のスレッドでアクションを実行することもできますが、別のスレッドで実行したくない、または実行できない状況があります。
*グリッド*とは何ですか? * Application.StopProcessingMessages *はありませんが、具体的に何をしているのかによって、一部のコンポーネントの画面の更新を停止する方法があります。しかし、実際の関連情報を投稿していないので、提案をするのは難しいです。あなたがコード用に投稿したものはかなりです*私はblah、blah、blahを行うコードを持っています。詳細は何もなく、そのコードの振る舞いをどのように変えるのですか?* –
これをスキンする方法はいろいろあります。グリッド以上のコントロールを使用することから始まります。たとえば、仮想モードのリストビュー。すべてのデータをUIコントロールに保存することは、貧弱な設計です。あなたはただその結果を享受しているだけです。ペイントを抑制することは、パッチを適用する1つの方法です。それほど難しいことではありません。あなたは決して 'ProcessMessages'を呼び出すべきではありません。おそらく、Windowsメッセージの仕組みをよりよく理解すれば恩恵を受けるでしょう。 –
私はグリッドの例に正確に固執したくありません。しかしこの場合はTStringGridについて話しています –