MOStringGrid

解決


CANDY  2008-06-03 02:13:34  No: 30870

お世話になっております。
今Delphi2007にてアプリケーションを作成しているのですが、StringGrid上で数値制御及びボタン、チェックボックスの表示がしたいのですが、上手くいきません。
MOStringGridというのがいいらしい(?)のですが、ダウンロードするところが見当たりません(過去ログなど見ていますが、ページがなくなっています)
やりたいことはStringGridでボタン、チェックボックスを使用したいのですが、出来るだけ簡単に(?)出来るものがあればと思うのですが。・・
どなたかこれがいいよというような参考になるページなどありましたらご教授願いたいのですが・・・


Ru  2008-06-03 18:05:29  No: 30871

Delphi7ですがTStringGridにチェックボックスを表示しています。
参考になれば(参考にしたURLは探し出せなかったです)。

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  DRect:  TRect;
  Mode: Integer;

begin

  //塗りつぶし
  TStringGrid(Sender).Canvas.FillRect(Rect);
  DRect.Top := Rect.Top + 2;
  DRect.Left := Rect.Left + 2;
  DRect.Right := Rect.Right - 2;
  DRect.Bottom := Rect.Bottom - 2;

  if Not((ARow = 0) or (ACol = 0))then
  begin
    //チェックボックス表示
    if TStringGrid(Sender).Cells[ACol, ARow] <> NULL then
    begin
      if (TStringGrid(Sender).Cells[ACol, ARow] = '1') then
      begin
          Windows.DrawFrameControl(TStringGrid(Sender).Canvas.Handle, DRect,
            DFC_BUTTON, DFCS_BUTTONCHECK + DFCS_CHECKED);
      end
      else
      begin
          Windows.DrawFrameControl(TStringGrid(Sender).Canvas.Handle, DRect,
            DFC_BUTTON, DFCS_BUTTONCHECK);
      end;
    end
    else
    begin
      Windows.DrawFrameControl(TStringGrid(Sender).Canvas.Handle, DRect,
        DFC_BUTTON, DFCS_BUTTONCHECK + DFCS_INACTIVE);
    end;
  end;

end;

procedure TForm1.StringGrid1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  ACol, ARow: Integer;

begin

  if Button = mbLeft then
  begin
    TStringGrid(Sender).MouseToCell(X, Y, ACol, ARow);
    if Not((ACol < 1) or (ARow < 1) ) then
    begin
      if TStringGrid(Sender).Cells[ACol, ARow] <> '1' then
      begin
        TStringGrid(Sender).Cells[ACol, ARow] := '1';
      end
      else
      begin
        TStringGrid(Sender).Cells[ACol, ARow] := ' ';
      end;
    end;
  end;

end;

おそらくDrawFrameControlを使えばボタンも出来るかも。
http://msdn.microsoft.com/ja-jp/library/cc428492.aspx


CANDY  2008-06-12 06:48:12  No: 30872

ありがとうございます。
やってみます


CANDY  2008-06-12 06:48:38  No: 30873

解決にチェックしわすれました


TS  2008-06-13 02:14:41  No: 30874

すでに解決済みですが、MOStringGrid

>MOStringGridというのがいいらしい(?)のですが、
>ダウンロードするとこ>ろが見当たりません(過去ログ
>など見ていますが、ページがなくなっています)

下記の記事のアドレスで今ダウンロートできました。
https://www.petitmonte.com/bbs/answers?question_id=3815


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

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






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