WideStudio Programming (5-2)
~WSCnwbase

本家のクラスライブラリレファレンスによれば WSCnwbase クラスは、

このクラスはウィンドウ資源を持たないクラスの基本となるサブクラスです。このサブクラスを基底とすると、ウィンドウ資源を持たないにもかかわらず、ウィンドウ資源を持つものと同じように振舞うことができます。

ということですが、実際には多くの「これウィンドウ資源持ってるよね」なクラスもここから派生されています。どういう事かというと、 続きを読む

WideStudio Programming (5-1)
~WSCbase

WSCbaseは、基底クラスを持たないデータ型クラスのようなものを除き、WideStudioで使われるすべてのパーツの基底クラスです。

WSCbase自体が持っている機能で重要なのは、まず何と言っても WSCbase という名前のクラスが存在することです。 続きを読む

WideStudio Programming (4-4)
~WM_DROPFILESの処理

さて、ここまでくれば、あとは WM_DROPFILES メッセージを受け取った時の処理を書くだけです。
タンゴレンではドロップされたファイル名をvectorに格納して返すというインターフェースで共通ライブラリ的に使える基底クラスを作って使っています。 続きを読む

WideStudio Programming (4-2)
~メッセージループへの介入

一口にメッセージループに介入すると言っても、メッセージループの処理自体に介入するのは困難です。ここでは自前のメッセージ処理を追加したいだけですから、ウィンドウプロシージャを入れ替えて、自前の処理が必要なら実行するし、必要無ければ元のウィンドウプロシージャを呼び出して処理させる、というやり方(いわゆるサブクラス化)でいけるでしょう。 続きを読む

WideStudio Programming (4)
~ドラッグアンドドロップ

ドラッグアンドドロップはWindowsを使っているユーザーにはお馴染みの機能です。タンゴレンでも、単語帳ファイルをドラッグしてメイン画面にドロップすれば、単語帳が開くようになっています。

が、この機能の実装にはWideStudio/MWTは使われていません。 続きを読む