掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Edit.Widthの算出方法 (ID:30957)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
真琴:「Canvas知らないナンて、ホントに初心者なんだね、このヒト」 春子:「Delphiは初心者、でもVBはケッコウ出来るみたいじゃない?」 真琴:「だけどハルコさん、TextWidthを使うにもぉ、EditにはCanvasないでしょ?」 春子:「Canvasならナンでもイイんだから仮に自分で作るのよ、マコト」 真琴:「え?そうなの?でもEditのFont変えてもそれで大丈夫?」 春子:「作ったCanvasのFontと、EditのFontを同じにしとけばOKよ」 真琴:「そっか、じゃぁ、これでイイかな?」 procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Font.Size := 12; Edit1.Font.Name := 'MS ゴシック'; with TCanvas.Create do try Font.Assign(Edit1.Font); Edit1.Width := TextWidth(Edit1.Text)+7; finally Free; end; end; 真琴:「あれ? 実行したら'Canvasに対する描画ができません'てエラー、ナンで?」 春子:「HDCがナイんだもん、仮のHDCでもCanvasのHandleに入れとかなきゃ」 真琴:「また、仮のモノ入れるの?」 広海:「マコトも仮のモノ入れてオッパイ膨らませばもっとモテルんじゃないの〜?」 真琴:「バァ〜ッカ」 春子:「それは、ホンモノで勝負しなきゃネェ〜」 procedure TForm1.Button1Click(Sender: TObject); var Dummy: HWND; // 追加 begin Edit1.Font.Size := 12; Edit1.Font.Name := 'MS ゴシック'; with TCanvas.Create do try Handle := GetDeviceContext(Dummy); // 追加 Font.Assign(Edit1.Font); Edit1.Width := TextWidth(Edit1.Text)+7; finally Free; end; end; 真琴:「カイトさんは、もう病院に着いたかなぁ…」 広海:「クルマの調子が悪くなけりゃ、オレが病院まで送ってやれたんだけどね」 真琴:「サクラさん大丈夫だよね…、きっと病気軽いよね」 春子:「次の日曜に皆でサクラさんのお見舞いに行こ…ね? マコト」 真琴:「うん」
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.