掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
StringGridのセル結合後,スクロールさせても正常に描画させるには? (ID:30229)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
って、ドコが同文だょ。 type TStringGrid = class(Grids.TStringGrid) private procedure WmHScroll(var Msg: TMessage); Message WM_HSCROLL; procedure WmKeyDown(var Msg: TMessage); Message WM_KEYDOWN; end; //type TForm1 = class(TForm) StringGrid1: TStringGrid; ......... implementation procedure TStringGrid.WmHScroll(var Msg: TMessage); begin inherited; case LOWORD(Msg.wParam) of SB_LINELEFT,SB_LINERIGHT,SB_PAGELEFT,SB_PAGERIGHT,SB_THUMBPOSITION : Form1.StringGrid1.Invalidate; end; end; procedure TStringGrid.WmKeyDown(var Msg: TMessage); begin inherited; with Form1.StringGrid1 do begin case LOWORD(Msg.wParam) of VK_LEFT : begin if LeftCol > 1 then begin LeftCol := LeftCol-1; // お好みで削除するも良し Invalidate; end; end; VK_RIGHT : begin if LeftCol < ColCount-5 then begin LeftCol := LeftCol+1; // お好みで削除するも良し Invalidate; end; end; end; end; end; procedure TForm1. ..... begin ...... ただし、このTForm1の宣言の前で新クラス宣言する方法では、フォーム上に複数のStringGridが存在すると、 別のStringGridにフォーカスがある時に予期せぬ動作をすること蟻。 それがイヤなら、ここ↓を見て StringGrid1のCloneを作るも吉。 https://www.petitmonte.com/bbs/answers?question_id=5350
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.