- ベストアンサー
【VC++2005(CLR)】テキストラベルをダイアログ中央に表示させたい
いつも大変お世話になっております。 VC++初心者です。 早速質問なのですが、 ダイアログ中央に、テキストラベルを表示するには どのように設定すれば宜しいでしょうか。 また、テキスト内容がそのダイアログの横幅以内に収まらない場合、 折り返して表示をさせるにはどうすれば宜しいでしょうか。 お手数ですが、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1のサンプルコードに this->label1->TextAlign = HorizontalAlignment::Center; を追加。
その他の回答 (1)
- machongola
- ベストアンサー率60% (434/720)
こんにちは。 ラベルのAutoSizeをfalseにすれば、テキスト数に合わせてサイズが変化する事はありません。 以下参考程度に。 private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { //ダイアログの隅から離したい間隔 Drawing::Point ptBlank = Drawing::Point(5, 5); //収まりきれないテキストの自動処理 this->label1->AutoEllipsis = true; //テキスト数に影響されない様にする this->label1->AutoSize = false; //見ての通り this->label1->Text = "ああああああああああああああああああああああああああああああああああああああ"; //ダイアログ左から離す間隔 this->label1->Location = ptBlank; //ダイアログ右から離す間隔 this->label1->Size = this->ClientSize - Drawing::Size(ptBlank.X * 2, ptBlank.Y * 2); }
補足
早速のご回答、ありがとうございます。 label1を用意し、 上記のコードをそのまま転用してみました。 ※label1はダイアログの上下左右の中央に用意しました。 そうすると、ダイアログの上端に"あああ...."が表示さました。 初期状態の位置の高さを始点として、 ダイアログ幅に対して中央に(文字が多いときは折り返して) 表示は出来ないのでしょうか。 大変お手数だと思いますが、よろしくお願いします。
お礼
一度、こちらの質問を閉じさせて頂きます。 ご回答して頂き、ありがとうございました。
補足
ご回答、ありがとうござます。 以下のエラーが1件出てきました。 >error C2664: 'System::Windows::Forms::Label::TextAlign::set' : >1 番目の引数を 'System::Windows::Forms::HorizontalAlignment' から >'System::Drawing::ContentAlignment' に変換できません。 >(新しい機能 ; ヘルプを参照) >この変換には static_cast、C スタイル キャストまたは >関数スタイル キャストが必要です。