作業週報。2013年第08週。


・[プログラム][ExcelVBA]「コンソールログビューア ver0.12」進捗


ExcelVBA によるフォームアプリケーションの限界を垣間見た週でした。
というのも検索機能が欲しいと思い立ちまして。
メモ帳やエクセルにあるような子ウィンドウによる検索窓を目標にと作り始めたは良かったんですが…。


 ・モードレスフォームにおけるフォーカスの挙動が一般的アプリとかなり違う(別窓から戻った時)
  →同じ挙動を再現するにはフォーム毎に Win32API を駆使して窓・コントロールのフォーカス制御が必要
 ・ExcelVBA のフォームに親子関係という概念がないため親の手前に子を常に表示するという動作が作れない(VB6, VB.NETにはある)
  →Win32API で親子のハンドル取得した後Zオーダー拾って順序を総入れ替えすれば出来なくはない?


検索機能の為だけにここまでするのは流石に割りを食うと判断。
UI 見直して単一のモーダルフォームでやり繰りするという結果に至りました。


before


after


モーダルウィンドウで組むならお手軽且つ強力な環境だと思います。
ワークブックは簡易バッファ・データベースとしても手頃に気軽に使えますし。
ただまあ一丁前のアプリを作るんならやっぱり C# なり VB.NET なり Java なりで作るべきだとも感じました。


その他の実装等。
 ・各コントロールにショートカットキー(Ctrl+? 及びファンクションキー)、アクセラレータ(Alt+?)を設定
 ・一部コントロールの挙動を使いやすいよう調整
 ・エスケープキーによるアプリケーションの終了を Alt+X へ置き換え
 ・スプラッシュスクリーン、バージョン情報ダイアログの微調整


・[イベント]コミックマーケット84
 オンライン締切ギリギリでアンケートの入力。


・[ホームページ]レゲ活ウェブサイト
 Java コンテンツを追加し始め。


・[絵]「ブルーカラー」進捗05
 セル塗りまで。ブラシ塗り面倒そう…どうしよう。


・[絵][R-18]「「に」ほんともはいって「る」!!!」進捗02


 エターナらないように頑張ろう。