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 | ハンドラ |