こんにちは。
リストビューで任意のセルを(EXCELのように)入力したいのですが、ちょっと行き詰っています。
セルのRECTを取得して子ウィンドウでエディットボックスを
m_hEdit = CreateWindow("EDIT", m_Data.pRow[iRow].pItem[iCol].pszText
, WS_CHILD|WS_VISIBLE|WS_BORDER|ES_LEFT|ES_AUTOHSCROLL
, rc.left, rc.top, rc.right-rc.left, rc.bottom-rc.top+1
, m_hWnd, NULL, hInstance, 0);
という感じで作ると、入力するところまでは問題ないのですが
ESCキーやRETURNキーの判定がいまいちできません。。
サブクラス化というのも考えましたが、その場合まずリストビューからサブクラス化しないといけないのでしょうか?
この方向性でいいのか、他にいいやり方やセオリーみたいなのがあるのかアドバイス頂けると助かります。
よろしくお願いします。
また書き忘れました(汗
VC6.0++ SP6 (MFC無し) です。
ESCキーやRETURNキーの動作は、
モードレスダイアログを作成してその上にエディットボックスを作成することで、一応実現できました。
これで一応はEXCELのような任意セル入力ができるようになりました。
ただ、ダミーのダイアログリソースを用意しなければいけなかったり、
ダイアログプロシージャを実装しなければいけなかったり、
ウィンドウプロシージャでこのダイアログメッセージを分けないといけなかったりと
完全な部品化ができないんですよね、このやり方だと。
とりあえずもう少し考えてみます。
ツイート | ![]() |