|
LIBURANIA
GUI library (a wrapper of Win32 API) in C++
|
メッセージハンドラ基底 [詳解]
#include <window.h>
公開型 | |
| using | CmdHandler = void (*)(Window*) |
| コマンドハンドラ | |
公開メンバ関数 | |
| virtual | ~WMHandler ()=default |
| 解體子 | |
| void | setCommand (int cmdid, CmdHandler c) |
| コマンドに對するハンドラを登録する | |
| LRESULT | operator() (urania::WndMessage *msg) |
| メッセージに應じたハンドラを呼び出す | |
| virtual bool | onDestroy () |
| ウィンドウ破棄時のハンドラ | |
| virtual bool | onSize (Window *win, int typ, int w, int h) |
| ウィンドウサイズ變化時のハンドラ | |
| virtual bool | onKeyDown (Window *win, int code, int rep, bool prev) |
| キー押下時のハンドラ | |
| virtual bool | onLButtonDown (Window *win, int x, int y, bool ctrl, bool shft, bool lb, bool mb, bool rb) |
| マウス左ボタン押下時のハンドラ | |
| virtual bool | onMButtonDown (Window *win, int x, int y, bool ctrl, bool shft, bool lb, bool mb, bool rb) |
| マウス中ボタン押下時のハンドラ | |
| virtual bool | onRButtonDown (Window *win, int x, int y, bool ctrl, bool shft, bool lb, bool mb, bool rb) |
| マウス右ボタン押下時のハンドラ | |
| virtual void | onPaint (BasicWindow *win, PaintDevice *pd) |
| 再描畫要求時のハンドラ | |
| virtual void | onScroll (Window *win, int id, int pos) |
| スクロールバー操作時のハンドラ | |
| virtual void | onMouseWheel (Window *w, int delta, int keys, int x, int y) |
| マウスホイール操作時のハンドラ | |
| virtual void | onDropFiles (Window *w, std::vector< std::wstring > &fa, int x, int y) |
| ファイルドロップ時のハンドラ | |
メッセージハンドラ基底
| using urania::WMHandler::CmdHandler = void (*)(Window*) |
コマンドハンドラ
ウィンドウがWM_COMMANDを受け取つたときに呼び出される コマンドハンドラの型。 コマンドのID毎に必要な處理をハンドラとして實裝し、 WMHandler::regist()で登錄する。
|
virtualdefault |
解體子
|
inlinevirtual |
ウィンドウ破棄時のハンドラ
ウィンドウが破棄されたときに呼び出されるハンドラ。 ライブラリのユーザは適宜オーバーライドして必要な處理を實裝する。
|
inlinevirtual |
ファイルドロップ時のハンドラ
ファイルをドロップしたときに呼び出されるハンドラ。 ライブラリのユーザは適宜オーバーライドして必要な處理を實裝する。
| w | ウィンドウ |
| fa | ファイル名のベクタ |
| x | ドロップ位置のX座標 |
| y | ドロップ位置のY座標 |
|
inlinevirtual |
キー押下時のハンドラ
キーが押下されたときに呼び出されるハンドラ。 ライブラリのユーザは適宜オーバーライドして必要な處理を實裝する。
| win | ウィンドウ |
| code | キーのコード |
| rep | リピート回數 |
| prev | メッセージが送られる前、キーが押されてゐたならtrue |
|
inlinevirtual |
マウス左ボタン押下時のハンドラ
マウス左ボタンが押下されたときに呼び出されるハンドラ。 ライブラリのユーザは適宜オーバーライドして必要な處理を實裝する。
| win | ウィンドウ |
| x | X座標 |
| y | Y座標 |
| ctrl | Ctrlキーが押されてゐるかどうか |
| shft | Shiftキーが押されてゐるかどうか |
| lb | 左ボタンが押されてゐるかどうか |
| mb | 中ボタンが押されてゐるかどうか |
| rb | 右ボタンが押されてゐるかどうか |
|
inlinevirtual |
マウス中ボタン押下時のハンドラ
マウス中ボタンが押下されたときに呼び出されるハンドラ。 ライブラリのユーザは適宜オーバーライドして必要な處理を實裝する。
| win | ウィンドウ |
| x | X座標 |
| y | Y座標 |
| ctrl | Ctrlキーが押されてゐるかどうか |
| shft | Shiftキーが押されてゐるかどうか |
| lb | 左ボタンが押されてゐるかどうか |
| mb | 中ボタンが押されてゐるかどうか |
| rb | 右ボタンが押されてゐるかどうか |
|
inlinevirtual |
マウスホイール操作時のハンドラ
マウスホイールを操作したときに呼び出されるハンドラ。 ライブラリのユーザは適宜オーバーライドして必要な處理を實裝する。
| w | ウィンドウ |
| delta | 廻轉量 |
| keys | 押下されてゐるキー MK_CONTROL, MK_LBUTTON, MK_MBUTTON, MK_RBUTTON, MK_SHIFT, MK_XBUTTON1, MK_XBUTTON2 の論理和 |
| x | マウスカーソルのX座標 |
| y | マウスカーソルのY座標 |
|
inlinevirtual |
再描畫要求時のハンドラ
再描畫が要求されたときに呼び出されるハンドラ。 ライブラリのユーザは適宜オーバーライドして必要な處理を實裝する。
| win | ウィンドウ |
| pd | 再描畫用のPaintDevice。 呼び出し元が生成と破棄の責任を負ふので、 onPaint()の中で破棄してはならない。 |
|
inlinevirtual |
マウス右ボタン押下時のハンドラ
マウス右ボタンが押下されたときに呼び出されるハンドラ。 ライブラリのユーザは適宜オーバーライドして必要な處理を實裝する。
| win | ウィンドウ |
| x | X座標 |
| y | Y座標 |
| ctrl | Ctrlキーが押されてゐるかどうか |
| shft | Shiftキーが押されてゐるかどうか |
| lb | 左ボタンが押されてゐるかどうか |
| mb | 中ボタンが押されてゐるかどうか |
| rb | 右ボタンが押されてゐるかどうか |
|
inlinevirtual |
スクロールバー操作時のハンドラ
スクロールバーが操作されたときに呼び出されるハンドラ。 ライブラリのユーザは適宜オーバーライドして必要な處理を實裝する。
| win | ウィンドウ |
| id | スクロールバーのID 水平スクロールバーはurania::ID_SBH 垂直スクロールバーはurania::ID_SBV 他の値(2以上の整數値)の場合はスクロールバーコントロール |
| pos | スクロールバーの位置 |
|
inlinevirtual |
ウィンドウサイズ變化時のハンドラ
ウィンドウの大きさが變化したときに呼び出されるハンドラ。 ライブラリのユーザは適宜オーバーライドして必要な處理を實裝する。
| win | ウィンドウ |
| typ | サイズ變更のタイプ |
| w | 幅 |
| h | 高さ |
| LRESULT urania::WMHandler::operator() | ( | urania::WndMessage * | msg | ) |
メッセージに應じたハンドラを呼び出す
| msg | メッセージ |
|
inline |
コマンドに對するハンドラを登録する
| cmdid | コマンドのID |
| c | ハンドラ |