MSFlexGridの隠しEditBoxプロパティに「複数行」と「CRの入力」の設定をしました。
VK_UP/VK_DOWNキーによってひとつのグリッド内の各行にはカーソルを設定できますが、
次の操作をキーで可能にするにはどのようにするのでしょうか。
( EditBoxにフォーカスがある場合(入力中)、
先頭行にカーソルがあればVK_UPキーで前のグリッドにカーソルを移動し、
最後の行にカーソルがあればVK_DOWNキーで次のグリッドにカーソルを移動する。)
マウスではEditBoxに入力中でもマウスダウンしたグリッドへの移動は可能になりました。
環境は Win-XP VC++6.0 MFC です。
よろしくお願いします。
回答でなくてすみません。
MSFlexGridの隠しEditBoxプロパティって何ですか?
MSFlexGridって買うやつでないとエディット機能が無いと思ってました。
隠しってことはどうにかすればエディット機能が利用できるように
なるんですか?
EditBoxを指定Gridに重なるように移動する。
GridデータをEditBoxに反映する。
EditBoxで入力処理を行う。
入力結果をGridに反映する。
以上で可能です。
ありがとうございます。
自作したって事ですね。
納得です。
>次の操作をキーで可能にするにはどのようにするのでしょうか。
MFCのCEditをお使いならLineFromCharで行を判定してはどうですか?
最終行と先頭行の判定はできるのでが、
カレットが最終行にあるときVK_DOWNキーで
EditBoxを抜け出し、
次の行のグリッド上にカーソルマークを出したいのです。
手順として
1 EditBoxをHIDE状態にする。
2 新グリッドをSetRow()で選択。
3 EditBoxをz軸最下位に設定
にしましたが新グリッドにカーソルマークが出ません。
EditBoxにFocusが残っているようです。
マウス選択ではカーソルマークは出ます。
なにかよいアドバイスをお願いします。
>2 新グリッドをSetRow()で選択。
ここで、ついでにグリッドにSetFocusする、ではダメですか?
dairygoodsさんありがとうございました。
お陰さまで解決しました。
カレントグリッドにするだけでフォーカスがあたると思ってました。
SetFocusでOKです。
dairygoodsさんありがとうございました。
お陰さまで解決しました。
カレントグリッドにするだけでフォーカスがあたると思ってました。
SetFocusでOKです。