2020年5月6日水曜日

win32 でeverythingを使ってみた vs c++ 3

結構進んでて機能を追加している
ファイルのリネームにも対応してかなり使いやすくなった
ただ、「ファイルの切り取り」実装出来ていない
c#だと出来るみたいだがc++だと難しくてやり方がわからない
Qtではできたし、できないはずは無いんだが・・・

リネーム実装で苦労したことをメモしておく
win32api のリストビューは第2カラム以降は編集できない
なので、編集したいときはそこにエディットボックスを自分で出すようにプログラムする
それ自体はさほど難しくないが、出したエディットボックスでマウスが使えなくてしばし悩んだ
原因はエディットボックスの親をListViewにしておかなかったこと
コントロールは全て最初のウインドウを親にしていたのでこれが間違いだった

次に、文字列がリストボックスの幅を超える場合の設定
ES_AUTOVSCROLL が必要だった
なお編集終了時やキャンセルのためにエディットボックスをサブクラス化してエンターやエスケープの処理を書くことになるが、エンター時のビープ音が消せない状態
エンターには基本的に改行が割り当てられるらしく、複数行でなければエラーでビープ音が出る仕組みらしい
単数行のままでのビープの消し方がわからん

0 件のコメント:

コメントを投稿