WSCbaseは、基底クラスを持たないデータ型クラスのようなものを除き、WideStudioで使われるすべてのパーツの基底クラスです。
WSCbase自体が持っている機能で重要なのは、まず何と言っても WSCbase という名前のクラスが存在することです。 続きを読む WideStudio Programming (5-1)
~WSCbase
WSCbaseは、基底クラスを持たないデータ型クラスのようなものを除き、WideStudioで使われるすべてのパーツの基底クラスです。
WSCbase自体が持っている機能で重要なのは、まず何と言っても WSCbase という名前のクラスが存在することです。 続きを読む WideStudio Programming (5-1)
~WSCbase
マニアックな話ばかりではつまらないと思いますので、しばらく基本的なパーツの使い方とノウハウを書いてみます。(WideStudioを取り上げているというところで既に充分マニアックかも知れませんけど) 続きを読む WideStudio Programming (5)
~基本パーツの使い方
日本語キーボードのオリジナル配列には何点か気に入らないところがあります。
まず一つ目はおなじみ、CAPS LOCKキーとCTRLキーの位置です。あと個人的に、Altキーの位置も気に入りません。Altは親指で押したいのですけど、ちょっと端っこ過ぎるのです。真ん中寄りの「無変換」とか「変換」なんてキーはまず使わないので、ここをつぶしてAltにするのが流儀です。 続きを読む Windows8でChangeKey
何かの拍子でNULという名前のファイルができてしまうことがあります。バックアップユーティリティにしてもWinZipにしても、NULという名前のファイルがあるとエラーになっちゃいますし、これ Explorer でも消せないしコマンドプロンプトのDELコマンドでも消せなくて往生こきます。 続きを読む NULの消し方
Windows8 PCを買ったのでさっそくタンゴレンを動かしてみました。
結果は良好、インストーラーを含めてデスクトップアプリケーションとして問題なく動きます。
とは言え少し気になる点はあって、 続きを読む 単語連想帳タンゴレンのWindows8動作報告
さて、ここまでくれば、あとは WM_DROPFILES メッセージを受け取った時の処理を書くだけです。
タンゴレンではドロップされたファイル名をvectorに格納して返すというインターフェースで共通ライブラリ的に使える基底クラスを作って使っています。 続きを読む WideStudio Programming (4-4)
~WM_DROPFILESの処理
Version1.0でのサブクラス化にどんな問題があったかというと、このやり方では文字化けを起こすということです。もちろん常に化ける訳ではありません。それならリリースする前にとっくに見つかっているはずです。 続きを読む WideStudio Programming (4-3)
~unicode対応との絡み
一口にメッセージループに介入すると言っても、メッセージループの処理自体に介入するのは困難です。ここでは自前のメッセージ処理を追加したいだけですから、ウィンドウプロシージャを入れ替えて、自前の処理が必要なら実行するし、必要無ければ元のウィンドウプロシージャを呼び出して処理させる、というやり方(いわゆるサブクラス化)でいけるでしょう。 続きを読む WideStudio Programming (4-2)
~メッセージループへの介入
WM_DROPFILESメッセージの配信先を登録するにはWindows API の DropAcceptFilesを発行します。またそのためには、WM_DROPFILESメッセージの配信先となるウィンドウのウィンドウハンドル(HWND)が必要です。 続きを読む WideStudio Programming (4-1)
~ドロップ通知先の登録
ドラッグアンドドロップはWindowsを使っているユーザーにはお馴染みの機能です。タンゴレンでも、単語帳ファイルをドラッグしてメイン画面にドロップすれば、単語帳が開くようになっています。
が、この機能の実装にはWideStudio/MWTは使われていません。 続きを読む WideStudio Programming (4)
~ドラッグアンドドロップ