• ベストアンサー

delphi6 StringGrid セルの位取り

kenzo-2000の回答

回答No.2

残念ながら「右寄せプロパティ」は存在しないと思います。 自分の場合は以下のようにしています。 ButtonとStringGridを設置し、 procedure TForm1.Button1Click(Sender: TObject); begin StringGrid1.Cells[1,1]:= '123,456,789'; StringGrid1.Cells[2,1]:= '123,456'; end; procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin StringGrid1.Canvas.FillRect(Rect); DrawText(StringGrid1.Canvas.Handle, PChar(StringGrid1.Cells[ACol,ARow]), Length(StringGrid1.Cells[ACol,ARow]), Rect, DT_RIGHT); end; Buttonをクリックしてみて確かめてください。 ※「この列」「この行」など、特定行列レベルで行うならAColやARowで処理を行いましょう。

situmonnsya
質問者

お礼

あまり勉強もせず、DT_RIGHTがあるなんて知りませんでした。 これだと特定行列を指定できるのでありがたいです。 ありがとうございます。

関連するQ&A

  • セル表示

    DelphiのStringGridの一つのセル内に   123   456   789 と1~9の数字を表示したいのですが、可能でしょうか。 欲張りですが   1 3    56   7 などのように、全部ではなく1~9の数字の幾つかを表示 できればと思います。   

  • StringGridでの文字入力制限

    C++BuilderでStringGridで、GoEditingプロパティをtrueに設定してセルの内容を編集するときに、数字のみ受付可能にするにはどうしたらいいでしょうか?よろしくお願いします。

  • Delphi

    Delphi delphi初心者です。 ボタンを押すたびに、(0からはじめて)1ずつ足して、その値が空白(Edit1.Text)に 表示をしていくいくプログラムを作りたいのですが どうすればいいのでしょうか。 初期値の設定から、できるだけ簡単なコードを使って教えていただきたいです。 よろしくお願いします。

  • 空白セルを作りたい

    お世話になっています。 A1+A2+A3の合計をB1に表示させるとします。 A1、A2、A3には、それぞれ数字が入る場合も、未入力(空白)の場合もあります。 1、A1空白、A2空白、A3空白の場合、B1に空白。 2、A1空白、A2 数字、A3空白の場合、B1はA2の数字(空白を除いて足し算した値を返す)の式を作りたいと思い、B1に =IF(A1="","",IF(A2="","",IF(A3="","",SUM(A1+A2+A3))))としましたが、1はできますが、2ができません。A1、A2、A3どれかひとつでも空白セルがあると、B2は空白で帰ってきてしまいます。 足し算した値を返してもらうにはどうすればよいでしょうか。 関数のご指導お願いいたします。

  • エクセルで指定位置から何セル移動すると空白ではなくなるか?

    A1に計算式を挿入したいのです。 A1からG1セルの間で、A1から何個目が空白ではないセルが あるかというのがしりたいのです? つまり B1、C1、D1には空白を E1には10.5などの数字を F1、G1には空白としたとき A1には3(もしくは4)を表示させたいのです。 COUNTIFでは空白の個数をカウントしますが、ある値までの空白の個数をカウントなんてできますでしょうか? 動的な計算しきにしたくて、今回はB1にセルを挿入して(数字)、次回はまたB1にセルを挿入して今度は空白としていった場合に、最近の値が入ったセルを表示できればと 考えています。 申し訳ございません、説明がクリアーではなくって。 こんなことって可能でしょうか? アドバイスお願いします。

  • 計算する時、隣のセルが空白の場合

    エクセルの行において、セルA10から左隣のセルA9の値を減算した数字をセルB10に表示します。 そこで質問ですが、セルに数字が入力されている場合 =A10-A9 ですが、A10に数字があり、A9、A8に数字が無く、A7に数字がある場合の計算式を教えて下さい。 「=A10-A9の計算式で、但しA9が空白の場合左隣のA8、但しA8が空白の場合左隣のA7セルから減算」、と言ったような式です。 宜しくお願い致します。

  • EXCEL セルに一つずつ表示させるには(応用)

    QNo.3005182で「EXCEL セルに一つずつ表示させるには」と質問したものです。 ――――――――――――――――――――――――――――――――――――――――――――――――――――― EXCELについて教えてください。 一つのセルにA1に123456と入力されているとします。 それを一つずつ分解して、B1には1。C1には2。D1には3というような形にしたいのですが。 MID関数を使うと近い形にはなりましたが、A1が12となっている場合に、B1に1、C1に2という形になります。 A1は12で、B1・C1・D1・E1は空白で、F1に1・G1に2と表示させたいのですが、なにかいい方法がありますでしょうか。 ――――――――――――――――――――――――――――――――――――――――――――――――――――― 数字入力セルと結果表示させるセルが隣あっていない場合ではどのようにしたら良いでしょうか? なにか良い方法がありましたら教えて頂けると助かります。 前回の質問と同じような事で申し訳ございません。 お力を貸して頂けると幸いです。 宜しくお願い致します。

  • Excel2016 セル入力表示・書式設定

    Windows10でExcel2016を使用しています。 2つ質問があります。 (1)セルの入力表示について 例えば、A1セルに長い文字を入力すると、通常であればB1セルにも表示されますが、表示されません。B1セルには空白等何も入力していません。 (2)セルの書式設定について 例えばA1セルに数字の1を入力すると、通常であれば右端に表示されますが、左端に表示され、そのセルはセンタリング・右寄せできません。表示形式は、標準でセンタリング等の設定にはなっていますが、実際の表示は、左寄せです。 別シートで入力すると通常通りできます。 設定を解除できる方法をご存じでしたら教えてください。 ※OKWAVEより補足:「富士通FMV」についての質問です。

  • excelで、見かけ上空白のセルが・・・

    a2のセルが1または空白の時に、b2のセルに空白を返したい時に、 =if(a2>1,a$1,"") という数式を入れると、 見かけ上は空白なのに、 1.きちんと空白を返す場合 2.a$1の値が入ってしまう場合 があります。 2.の場合でも、a2のセルをdeleteすると空白が返るのですが、 いちいちdeleteするのは手間ですし、(※a2に該当するセルは山ほどあります。) 間違って数字が入っているセルまで消してしまいそうなので困っています。 よいお知恵を貸して下さい。 よろしくお願いします。

  • DelphiのTDBLookupConboBoxの使用方法ついて

    DelphiのTDBLookupConboBoxの使用方法ついて  質問させていただきます。よろしくお願いします。現在、TDatabase,TQuery,TDataSourceを使用し、データベースに接続およびDBコンポーネントを使用しています。  テーブルは二つ、AとBを用意し、それぞれ TableA a1(Integer型) a2(String型) TableB a3(Integer型)  のフィールドを持たせています。そしてTDBLookupComboBoxのプロパティには DataField :a3 KeyField :a1 ListField :a2 同じくTDBEditのプロパティには DataField :a3 としています。 その中で、他から引っ張ってきた数値をTDBEditに挿入しても、DBLookupComboBoxのテキスト部分はTDBNavigatorなどでPostするまで空白なままです。これをTDBEditに値が挿入された時点でDBLookupComboBoxのテキスト部分も対応する値を表示させるにはどうすればよいのでしょうか?  稚拙な状況説明で申し訳ありません。ご指導よろしくお願いします。