つぃーと

無題

2009年01月06日 17時44分26秒 | インポート

Delphiを使ってCreateWindowExでES_PASSWORDのEditボックスを作ったんです。他のコンポーネントはDelphiのをぺたぺたはっつけたのです。

で、いくつか問題が発生しました。

  • 表示がクラシックになってしまう→WM_CREATEをとっ捕まえて、そこでCreateWindowExを使うと、クラシックにならない。
  • 背景色がおかしい→WM_CTLCOLORをとっ捕まえて、メッセージのメンバ、Resultにブラシを返せばいい。
  • デフォルトのフォントがでかい。OnCreateでフォームのフォントのハンドルをEditにSendMessageすればいい。

ここまでは試行錯誤でなんとかなりました。しかし、タブキー移動だけはどうもうまく動かなかったのです。で、ふと、幅が0のDelphiのEditボックスをはっつけてOnEnterでWindows.SetFocusで飛べないかなぁと。

半分正解でした。タブキー移動はできるようになったのです。しかし、矢印キーはちゃんと動かないようです。が、ま、いっか。

あっけなかったです。メッセージトラップもうまくいかず、フックをするしかないかなぁと。まぁ、なんだ。難しいことやらずに済んだ。タブキーだけのために、貴重な時間を割くところだったよ。