MSFlexGridとVK_DOWNキーについて – プログラミング – Home

通知
すべてクリア

[解決済] MSFlexGridとVK_DOWNキーについて


山本
 山本
(@山本)
ゲスト
結合: 23年前
投稿: 9
Topic starter  

MSFlexGridの隠しEditBoxプロパティに「複数行」と「CRの入力」の設定をしました。
VK_UP/VK_DOWNキーによってひとつのグリッド内の各行にはカーソルを設定できますが、
次の操作をキーで可能にするにはどのようにするのでしょうか。
( EditBoxにフォーカスがある場合(入力中)、
先頭行にカーソルがあればVK_UPキーで前のグリッドにカーソルを移動し、
最後の行にカーソルがあればVK_DOWNキーで次のグリッドにカーソルを移動する。)
マウスではEditBoxに入力中でもマウスダウンしたグリッドへの移動は可能になりました。
環境は Win-XP VC++6.0 MFC です。
よろしくお願いします。


引用未解決
トピックタグ
エンリケ
 エンリケ
(@エンリケ)
ゲスト
結合: 21年前
投稿: 2
 

回答でなくてすみません。
MSFlexGridの隠しEditBoxプロパティって何ですか?
MSFlexGridって買うやつでないとエディット機能が無いと思ってました。
隠しってことはどうにかすればエディット機能が利用できるように
なるんですか?


返信引用
山本
 山本
(@山本)
ゲスト
結合: 23年前
投稿: 9
Topic starter  

EditBoxを指定Gridに重なるように移動する。
GridデータをEditBoxに反映する。
EditBoxで入力処理を行う。
入力結果をGridに反映する。

以上で可能です。


返信引用
エンリケ
 エンリケ
(@エンリケ)
ゲスト
結合: 21年前
投稿: 2
 

ありがとうございます。
自作したって事ですね。
納得です。

>次の操作をキーで可能にするにはどのようにするのでしょうか。
MFCのCEditをお使いならLineFromCharで行を判定してはどうですか?


返信引用
山本
 山本
(@山本)
ゲスト
結合: 23年前
投稿: 9
Topic starter  

最終行と先頭行の判定はできるのでが、
カレットが最終行にあるときVK_DOWNキーで
EditBoxを抜け出し、
次の行のグリッド上にカーソルマークを出したいのです。
手順として
1 EditBoxをHIDE状態にする。
2 新グリッドをSetRow()で選択。
3 EditBoxをz軸最下位に設定
にしましたが新グリッドにカーソルマークが出ません。
EditBoxにFocusが残っているようです。
マウス選択ではカーソルマークは出ます。
なにかよいアドバイスをお願いします。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

>2 新グリッドをSetRow()で選択。
ここで、ついでにグリッドにSetFocusする、ではダメですか?


返信引用
山本
 山本
(@山本)
ゲスト
結合: 23年前
投稿: 9
Topic starter  

dairygoodsさんありがとうございました。
お陰さまで解決しました。
カレントグリッドにするだけでフォーカスがあたると思ってました。
SetFocusでOKです。


返信引用
山本
 山本
(@山本)
ゲスト
結合: 23年前
投稿: 9
Topic starter  

dairygoodsさんありがとうございました。
お陰さまで解決しました。
カレントグリッドにするだけでフォーカスがあたると思ってました。
SetFocusでOKです。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました