カテゴリー別

お絵描き、デザイン

写真、動画関連ソフト

アメーバピグ専用ソフト

ホームページ関連

画像処理

スキャナー用

SEO 関連

お楽しみ

その他

過去ログ

2016年09月08日(木)

ミルノ PC フォトフレーム 2.0 実装中、ショートカットキー (キーボードアクセラレーター) 実装中

写真閲覧ソフトのミルノ PC フォトフレーム
は、c# というプログラミング言語で実装したのですが、
現在、c++ で書きなおす作業を、まだまだ、やってます。

写真をミルノに!

なかなか、いいキャッチフレーズですよね(自画自賛)。

今日も、引き続き、ショートカットキーの実装中です。

ま、とりあえずテストで追加した「削除」用の
ショートカットだけ表示できてます。

今日、一番かかったのは、キーのところに
Delete って表示する部分です。

正確には、表示するというより、仮想キーコードの
VK_DELETE (数値型)から文字列の "Delete"
へ変換する部分ですね。

例によって、WinUser.h から、VK_なんちゃらの部分を
コピーしてきて emacs で置換、文字列のテーブルを作成しました。

だいたい、0〜255 くらいまでの定義は埋まっていたので、
要素数 256 の配列としてテーブルを定義しました。

だいたいこれで OK なのですが、VK_DELETE から
自動生成した文字列は、DELETE だったので、
表示用のテーブルを用意して、Delete とかに変換しました。

今のところ、キーコードは文字列に変換してから保存しませんが、
もし保存とかに利用する場合には、オリジナルの DELETE を
使い、表示する場合には、別のテーブル (Delete) を使う予定です。

表示用のテーブルはキーコードと文字列のコレクションになっていて、
キーコードとして使用できない VK_ は追加しません。

表示用のテーブルは、キーコード選択用の
コンボボックスのドロップダウンリストにも利用するからです。

エラーになるようなキーコードは最初から
候補に無い方がいいですよね。

今のところ、VK_SHIFT とか、VK_LBUTTONDOWN とかは
明らかに使用できないのではずしてありますが、他にもあると
思われるので、実験して使用できないものをリストアップする予定です。
(VK_SHIFT は使わないというか装飾キーとして使う)

表示用のテーブルの文字列は、いつでも変更可能なので、
リリース時には、Del になってるかもしれませんな。

1.x ではキーボードカスタマイズ機能はありませんけど、
とりあえず、定義済みのショートカットキーで使ってみてくださいね。

日本語の最新版はこちらのページから、ダウンロードできます
You can download the latest version of Miruno PC Photoframe here.

ご意見・ご要望はこちらからどうぞ
You can contact me by this mail form.

・・・

で、DELETE から Delete に変換するプログラムを書いたのですが、
'D' より 'd' の方が文字コードが大きいのね。

こんな低レベルなコード書くの久しぶりだから、忘れちゃってたわ。

ま、ATLASSERT('A' > 'a'); してから、
wchar_t diff = 'A' - 'a'; してるから、
すぐにわかったけどね。

あと、std::wstringstream ss;
に、ss << (*a + diff); とかしたら、数字が出たわ。

a は const wchar_t* 型だからら、wchar_t 型どおしを
足し引きすると、数値型になるみたいね。int かな?しらん。

もちろん、ss << (wchar_t)(*a + diff);
で直ったけど、この仕様はあんまり c っぽくないな。

そんなわけで、assert は有用だから
みんなも正しく使おうね。ではでは!

ミルノ PC フォトフレーム
ミルノ PC フォトフレームのダウンロード
ミルノ PC フォトフレームの更新履歴
ご意見・ご要望連絡窓口


コメント
コメントする