2012-02-08 9 views
0

ささいなことでしょう。 。 。 VSリソースエディタで編集する場合、ツール/オブジェクトリストには「静的テキスト」と表示され、イベントハンドラウィザードの作成にはすべてのフィールドと[次へ]ボタンがグレー表示(無効)になっています。[About]ボックスに動的メッセージ(文字列)を表示するにはどうすればいいですか?

私はボックスについて美しい持っている - 私は/が現在のランタイムステータス情報の数行(文字列)を表示する必要がしたい

... - 表示する代わりに、静的なテキストフィールドの - それはすべての作品を..

私はVisual Studioを十分によく知っています(私は2008年を使用しています)。 。 。

いずれかの単純な例があれば、それは本当に必要なものです。

ありがとうございます。空の静的なテキストを追加し、ちょうどそのTextプロパティを設定することについてどのように

よろしく、 ケビン・ウェイト

+0

どのようにAboutボックスを作成していますか? –

答えて

0

Visual Studio C++ Expressで空のWindowsフォームアプリケーションを作成し、フォームに「ラベル」コントロールをドラッグしました。フォームLoad機能では、テキストは次のように設定することができます。

this->label1->Text = "Hello World"; 

あなたが大きなテキストをしたい場合は、同じ方法を使用することができます。代わりに、複数行TextBoxを使用してください。

0

複数行のテキストを表示する場合は、EditBoxコントロールを使用してmultilineプロパティをTrueに設定できます。

aboutダイアログにデータを渡すには、(DoModalの呼び出しの前に)ダイアログが作成されたときにダイアログにその文字列を渡す必要があります。 aboutbox OnInitDialog内のeditboxに文字列を追加します。

aboutダイアログが開いている間にテキストを更新する必要がある場合は、おそらくどこかから文字列を取得するスレッドを追加する必要があり、UIはそれらの新しい文字列で更新されます。

幸運。

2

ダイアログに静的テキストボックスを配置すると、そのテキストを実行時に任意のものに設定できます。

HWND hwndText = GetDlgItem(hwndDialog, IDC_MYTEXT); 

は次に、あなたがそれに新しいテキストを設定することができます:Windowsは「doesnの静的テキストは変更するものではありません

SetWindowText(hwndText, L"Hi mom, this is my first text box!"); 

ので、最初のテキストボックスのウィンドウハンドルを取得する必要がありますあなたがそれを変更するとき、常に正しいことをしない。新しいテキストが正しく表示されるように、消去して再ペイントするように指示する必要があります。

InvalidateRect(hwndText, NULL, true); 
関連する問題