Visual Basic

Visual BasicのMSFlexGridコントロールでタイトル行をクリックした時に、その列で行をソートするようにプログラムしていた。しかし、キーボードで選択行を変更すると行選択がおかしくなることを発見した。タイトル行をクリックするとタイトル行の次の行、つまり1行目が選択されたと認識されて、SelChangeイベントが発生しまうのである。SelChangeイベントが発生してからソートを行うため、タイトル行をクリックする前の行の選択が無視されてしまい、1行目が選択されてからソートを行うことになってしまう。

そこでSelChangeイベントが発生する前に選択していた行を、mPreviousSelectedRowで記憶しておくことにした。