• ベストアンサー

指定領域に文字を表示させる方法について

C++Builder5.0でソフトを作成しているのですが、 任意で設定した四角形の中にその領域にあったフォントでセンター表示したいのですがそのような事は出来るのでしょうか? したい事の例としては (1)四角形を作成(Canvas->Rectangleを使用) (2)Editボックスに文字を入力してもらう (3)縦横の幅の広い方向に対して入力した文字を(1)で指定した領域に合うフォントサイズでセンター表示する

質問者が選んだベストアンサー

  • ベストアンサー
noname#20242
noname#20242
回答No.1

下記の方法ではダメでしょうか? ・フォームにTEdit, TButton, TImageを貼り付ける。 ・Button1Click()に下記を入力する。 { AnsiString str = Edit1->Text; Image1->Canvas->Font->Height = Image1->Height; TRect rect = Image1->Canvas->ClipRect; DrawText(Image1->Canvas->Handle, str.c_str(), str.Length(), &rect, DT_CENTER); }

Simanohito
質問者

お礼

ご連絡が遅くなりまして大変申し訳ございません。 ご回答ありがとうございます。 上記のやり方ですと、表示方向が1方向にしか表示できないですよね? 今回やりたいのは表示方向を縦が長い場合は縦方向横が長い場合は横方向に 表示したいのです。(説明不足で申し訳ございません) 他によい方法があれば教えて下さい。

関連するQ&A

  • 文字列を送るには…

    Editに入力した文字を,ボタンをクリックすることによってリストボックスへ送って表示させたいのですが、どうしたらよいでしょうか?開発はC++Builderで行っています!

  • セルに表示しきれない文字を見る方法

    環境 Windows 11 Excel 2019 単一セルにおいて、Excel設定上の幅50高さ18.75に設定し、ここに全角100文字程度入力をすると1部分はセル(メモを残しておくようなセルです)をはみ出して表示され、右隣にデータがあるとはみ出した部分が表示されなくなります。 この文字全体を何らかの方法で見えるようにしたいです。 列数が多い表を作成しており、自分のPCの画面上は、拡大縮小100%で全列を表示しきれず見づらい状態です。かといって縮小表示しても文字が小さくで見づらいです。ですので上に記載した設定がされている列の幅を長くすることを考えていません。またメモですので改行があったりします。 まとめると ・高さ18.75 ・幅50 ・フォントサイズ11 ・メモのセル内改行あり ・メモの右隣セルには入力データあり となります。他の条件としては次のようになります。 ・メモの入力はセルのみ(コメントなどは×) ・数式バーは1行分のみ表示 ・「折り返して全体を表示する」「縮小して全体を表示する。」は使用しない ・VBAは使用しない 自分が試した方法は、テキストボックスに表示させるものです。 選択したセルの内容を表の邪魔にならないところに置いたテキストボックスに表示します。 =INDIRECT(ADDRESS(CELL("row"),CELL("col"),4))で選択セル取得したいのですが、再計算が行われないとそのセルの値が取得できないようです。F9(再計算)を押させるのは、私以外にも使用者がいるのですがそれを考えると運用になじまないと思っています。ここで手詰まりになってしまいました。 説明不足あるかもしれませんが、ご教授よろしくお願いいたします。

  • ACCESS2002 文字サイズを指定せず、領域内で自動調整は可能ですか?

    住所をテーブルで入力し、レポートに印刷しています。 住所領域は、長い住所の方だと、印刷した場合、領域内に収まり切れず、途中エ切れてしまいます。 仕方ないので、住所領域の全体の文字サイズを小さくしましたが、レポート内の全住所が小さくなるのが難点です。 短い住所の方はそのままの文字サイズで、長い方だけは、自動縮小。 まさに、エクセルの配置の「縮小して全体を表示」みたいな事がしたいです。 出来ますでしょうか?

  • インラインフレーム中の文字表示方法

    ホームページの作成しておりますが、インラインフレームの中に画像+文字(テキスト)を入れたいのですが、画像のみしか反映されません。どのように文字も反映させれば宜しいでしょうか?ちなみに、現在は以下のように入力してうまく文字が反映してません。(便宜上、「画像」と入力しております。) <iframe src="画像.jpg" width="200" height="300"> <font size=2><font color="red">がんばれ!<br> 負けるな!</font></iframe> 素人の質問ですが、ご教授願います。

  • HP作成の際に文字をきれいに表示する方法

    現在HPを作成していますが、タグから作っています。HPビルダーなどのソフトは使っていません。 さて、フォントのサイズを大きくして文字を表示させても、ドットの荒い、というか、余り美しく表示されないし、フォントの種類も変更できないので、Windowsにもとから付いてる「ペイント」で文字だけ作成して貼り付けにしようかと思いましたが、こちらもドットが気になり美しい文字を創る事が出来ません。 かっこいいHPのタイトルとかって、凄く目の細かい美しい文字ですよね。ああいった文字を作るにはどうしたらいいですか?教えてください。

  • photoshop6.0の文字が表示されません。

    私は今Webデザイン技能検定の勉強をしています。 実技でボタン作成があるのですが、文字が表示されずに困っています。 環境は以下の通りです。 windows7(先月購入) photoshop6.0使用 日本語と英数字を入力しても文字が表示されない。 でも、何かのフォントで入力すると英数字だけは表示されます。 実技ではPhotoshopを使用するので、文字入力ができないと練習になりません。 どうか私に皆さんのお知恵をお貸しください。よろしくお願いいたします。

  • ワードアートで

    最初に3文字のテキストを作成し、その後2文字に変えた場合 3文字の幅に2文字が表示され、文字が伸びてしまいます。 (意味分かりますか?^-^;) 縦横比を固定していないのに・・・。 フォントの色やサイズを変更し、文言の違うテキストを沢山作りたいのですが 幅が均等になってしまって困っています。 回避策を教えて下さい!

  • excelで文字幅(倍率)を指定することはできますか?

    wordでは,書式→フォント→文字幅と間隔タブで文字幅(倍率)を設定することができますが,同じことはexcelではできないでしょうか。 ひとつの資料をページによってword又はexcelで作成することがあるのですが,文字自体を大きく(又は小さく)するのではなく,縦はそのままで幅だけを変えたいことがあり,wordではできるけどexcelではやり方が分からなくて困っています。 excelのヘルプなどを見てもよく分からないので,ご存じの方がいらしたら教えてください。 よろしくお願いいたします。

  • C-Builderで数値(数字)以外を入力出来ない様にしたい。

    C-Builder V5 で数値(数字)を入力すべきところで、実行時に文字等を入力すると、システムからエラーメッセージが表示されるので、これを防ぐ為にEditで入力時に数字以外をはじきたいのですが、可能でしょうか。 以前C-Builder V4で作った時は出来た様な気がしたのですが、どの様にやったか思い出せないでいます。 ネットではC-Builderのサンプルが見つからず、Delphiのサンプルでは昔の記憶と同じ処理を行っていましたが、これだと文字判定以前にEditの枠に既に文字が入ってしまっており、文字の排除が出来ませんでした。 どなたか数字以外をはじく方法ご存知の方、お教え下さい。 // Edit1->ImeMode = imDisable; // 初期化部分で実行 void __fastcall TForm1::Edit1KeyDown(TObject *Sender, WORD &Key, TShiftState Shift) { if(Key<48 || Key>57) { Key = 0; } }

  • HTML5 canvasで文字幅に合わせて拡大

    ・HTML5 canvasで以下のようなことをやりたいのですが、可能でしょうか? ・もし可能ならどうやるのでしょうか? ■前提 ・canvas設定。width10px ・canvas2Dオブジェクト取得 ・文字「hogehoge」表示 ■やりたいこと ・この時、テキスト内容の文字幅に応じて、表示幅を広げ、全てを表示させるためにはどうすれば良いでしょうか? ■分からないこと ・テキスト内容を全て表示させるためには、canvas2Dオブジェクトのwidthを変更するのでしょうか? ・それとも、canvasのwidth自体を変更するのでしょうか? ・canvasのwidthより、canvas2Dオブジェクトのwidthが大きかったらどうなるのでしょうか?

専門家に質問してみよう