OnMouseMove イベントで処理をするには?

解決


なんとん  2004-01-05 06:48:58  No: 6513

前々回の質問(下記)で,

https://www.petitmonte.com/bbs/answers?question_id=1271

Halbowさんにヒントをもらったのですが,浅はかな知識では
うまくできません。カーソルが同じセル内で動いても,Editの
表示がチカチカしています。

私が書いてみたコードは,以下の通りです。

{$R *.dfm}
var
  Kx, Ky: integer;    // グローバル変数
  ………………
var
  RC, CC: integer;
begin
  StringGrid1.MouseToCell(x, y, RC, CC);
  if (RC = -1) or (CC = -1) then Exit;
  if (Kx <> RC) or (ky <> RC) then  //  1/4に追加
  begin
  Edit1.Text := StringGrid1.Cells[RC, CC];
  Kx := RC; Ky := CC;              //   1/4に追加
  Case Kx of
    10: begin
      Case Ky of
        0..4: begin
         IroHenko1(RC10[CC].PnlNo1);
         Edit2.Text := RC10[CC].komoji;
      ………………  
画面がチカチカするので,これではKxやKyの効果はないものと
思われます。
  どうしたらいいのでしょうか。


Halbow  2004-01-05 08:29:51  No: 6514

Halbow です。

> if (Kx <> RC) or (ky <> RC) then  //  1/4に追加

これは

if (Kx <> RC) or (ky <> CC) then  //  1/4に追加

じゃないですか。


なんとん  2004-01-05 08:51:52  No: 6515

アチャー。また,やってしまいました。

Halbowさんのご指摘通りです。チカチカしなくなりました。
次は最後の難関,タイマーに挑戦してこのソフト作りを終わります。

分からなくなったら,また質問します。
そのときもよろしくお願いします。
本当に有難うございました。


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

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






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