ちょっと前に仕事場が変わったことは 以前書きましたが, Visual Studio 6 (VC6) はもう売ってないため, プログラム開発環境が .NET になってしまいました.
.NET ですが, まぁインストールが異様に遅い時点で, うすうす感じていたのですが, 使えば使う程使いにくい代物と思ってます. とはいえ, 与えられた仕事道具ですんで, 工夫して多少なりとも 使いやすくしたいものです.
[ツール]-[カスタマイズ]-[キーボード]を開いて「キーボードマップスキーム」を 「Visual C++ 6」にして, 名前を付けて保存した後, 今度はそれを開いて独自の キーバインドにする. 主な点は以下のような感じかな.
ショートカットキー | コマンド | Ctrl+N | 編集, 1 行下へ | Ctrl+P | 編集, 1 行上へ | Ctrl+F | 編集, 右に 1 文字移動 | Ctrl+B | 編集, 左に 1 文字移動 | Ctrl+A | 編集, 行頭に移動 | Ctrl+E | 編集, 行末に移動 | Ctrl+D | 編集, 削除 | Ctrl+Shift+\ | 編集, 元に戻す |
Ctrl+A の動きが期待したものでないのが嫌なんですが, 無いよりマシでしょう. Ctrl+H に相当する命令が無いのも残念です. Ctrl+Y とか X を入れないのは, 他のツールや他人の VC で作業する際混乱を 避けるため, カーソル移動関連の最低限のものにしているためです.
こちらと同じく mulewin を起動する 方法ですが
こちらで書いたインデント調整の話ですが, [ツール]-[カスタマイズ]で「コマンド」を選び, 「編集」の中から「選択範囲の書式」 というのが VC6 で言う IndentSelectionToPlay と同等のようです. これをメニューバーに置けば, 以後選択してこのボタンを押すとインデントが調整されます.
.NET において, DefWindowProc() とか DestroyWindow() とかを メニューから生成する方法が分かりません. しかたなく, VC6 時代に作ったソースを参照に手入力しているんですが, なんとかなりませんかね.
ちなみにフレーズは xxxDlg.h において DoDataExchange() 宣言の後あたりに
virtual LRESULT DefWindowProc(UINT, WPARAM, LPARAM); virtual BOOL DestroyWindow(); |
LRESULT xxxtDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) { // ここに必要な処理を入れる return CDialog::DefWindowProc(message, wParam, lParam); } BOOL xxxDlg::DestroyWindow() { // ここに必要な処理を入れる return CDialog::DestroyWindow(); } |
OnTimer() 等の On なんちゃら系は, プロパティを開いて「メッセージ」というボタンを押すと, WM_なんちゃらというメッセージ一覧が出るので, そこの右半面を押すと作れます. 当初はそれすら知らず, On なんちゃら系もぶつぶつ言いながら 手入力してました. こりゃこりゃ