EditのTEXTの右寄せについて

解決


エジ  2003-02-23 04:32:37  No: 3002

どうも初めまして。
大変初歩的な質問で恐縮なのですが、Editを貼り付けると始めは
Textが左寄せの状態になっていると思うのですが、これを右寄せにするには
どのようにすればよいのでしょうか?
ヘルプで探してみたのですが、Textについては見つけられませんでした。
どうかよろしくお願い致します。


katsu  2003-02-23 07:08:53  No: 3003

Editコンポーネントは、左寄せ1行編集の入力エリアを使用する場合の
コンポーネントです。つまり右寄せ入力はできません。
右寄せ入力を実現する方法はいくつかありますが、一番簡単なのは
メモコンポーネントを利用することでしょう。
メモコンポーネントで右寄せにするには、Alignmentプロパティを
taRightJustifyとすればいいでしょう。
メモコンポーネントで1行だけの入力エリアとしたいのであれば、
以下の通りもう少し手間がかかります。WantReturnsプロパティを
Falseにして、Linesプロパティを空欄にし、MaxLengthに最大入力
許容文字数を設定したあと、Ctrl+Enterキーで改行されるのを防ぐ
ためにOnKeyDownイベントでそのキーを受け付けないコーディングを
しなければなりません。


たかみちえ  URL  2003-02-23 07:41:36  No: 3004

たしか…。エディットボックスのウィンドウスタイルに、そういうようなものがあったような記憶がありますけど…。
あいまいです。間違ってるかもしれません。
  興味があれば、"ウィンドウスタイル"とかを検索語に入れて、
Googleなどで検索してみてください。

  あと、DelphianWorld(http://home1.infonia.ne.jp/~delphian/delphi/)に
そういう機能のついたTEditが公開されていたとおもいます。
探してみてください。


ちゃーみー&ゆうこ  2003-02-23 08:16:25  No: 3005

「チャミ」 あの〜(^^ゞ 私も右寄せEditが欲しいな〜ナンテ思うンですけど〜♪
「ゆうこ」 欲しかったら自分で作ればエエやん。これだけで右寄せ表示出来ルンよ。

type
  TMyEdit = class(TCustomEdit)
  protected
    procedure CreateParams(var Params: TCreateParams); override;
  end;
var
  MyEdit1 : TMyEdit;

procedure TMyEdit.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.Style := Params.Style or ES_RIGHT;
end;

「チャミ」 あの〜試してみても MyEditなんてな〜んにも表示されないンけど〜?
「ゆうこ」 コンポやないンから、フォームのOnCreateにコレ書かなアカンよ。

procedure TForm1.FormCreate(Sender: TObject);
begin
  MyEdit1 := TMyEdit.Create(Self);
  // MyEdit1のプロパティ設定
  with MyEdit1 do begin
    Visible := True;
    Parent := Form1;      // 置き場所
    Height := 22;
    Width := 80;
    Left := 100;
    Top := 20;
  end;
end;

「チャミ」 じゃ〜ナカザワさんの年と同じくらいMyEdit使う時は大変ですよネ〜♪
「ゆうこ」 ウチの年と同じ数? 四捨五入して…8個くらいなんもないやん。
「チャミ」 エッエ〜?(^^;; どんな計算したら8になるんですか〜?(^^ゞ
「ゆうこ」 十の位を四捨五入したんよ。


エジ  2003-02-23 09:26:26  No: 3006

katsuさん、たかみちえさん、ちゃーみー&ゆうこさんありがとうございます。
大変参考になりました。ちゃーみー&ゆうこさんわざわざ作って頂いてありがとう
ございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加