void OnCreate();
void OnCreated();
void OnSubClass();
サブクラス時。
- Inheritance:
-
継承元がISubClassを継承しているのであればsuper.OnSubClassを呼ばなければならない。
bool OnSize(SIZE_TYPE SizeType
, int Width
, int Height
);
サイズ変更時。
- Params:
- SIZE_TYPE SizeType
- サイズ変更の種類。
- int Width
- サイズ変更後のクライアント領域の幅。
- int Height
- サイズ変更後のクライアント領域の高さ。
- Returns:
- 処理を終了する場合はtrue、処理をWindowsに引き継ぐ場合はfalseを返す。
- Note:
-
パネルのおかげで出番が少なくなりました。
void OnSizing(SIDEFLAG Sides
, ref RECT Rect
);
サイズ変更中。
- Params:
- SIDEFLAG Sides
- 変更中のウィンドウの辺の組み合わせ。
- RECT Rect
- 変更中の矩形を示す領域。
必要であれば値を書き換える。
void OnMoving(SIDEFLAG Sides
, ref RECT Rect
);
位置変更中。
- Params:
- SIDEFLAG Sides
- 変更中のウィンドウの辺の組み合わせ。
- RECT Rect
- 変更中の矩形を示す領域。
必要であれば値を書き換える。
void OnWindowPosChanging(ref WINDOWPOS WindowPos
);
位置・サイズ・Z位置変更中。
- Params:
- WINDOWPOS WindowPos
- 新しい情報を受け取る領域。
必要であれば値を書き換える。
- History:
- 1.110
- sourceWindowPosの型変更(WINDOWPOS* -> ref WINDOWPOS)。
void OnWindowPosChanged(ref WINDOWPOS WindowPos
);
位置・サイズ・Z位置変更。
- Params:
- WINDOWPOS WindowPos
- 変更情報を受け取る領域。
void OnMinMax(ref SIZE MaxSize
, ref POINT MaxPos
, ref SIZE MaxTrack
, ref SIZE MinTrack
);
最大位置とサイズ、最小・最大のトラッキングサイズ。
- Params:
- SIZE MaxSize
- 最大化時のサイズ。
必要であれば値を書き換える。
- POINT MaxPos
- 最大化時の座標(左上)。
必要であれば値を書き換える。
- SIZE MaxTrack
- 最大トラッキングサイズ。
必要であれば値を書き換える。
- SIZE MinTrack
- 最小トラッキングサイズ。
必要であれば値を書き換える。
- History:
- 1.110
- source引数全ての型変更(ポインタ -> 参照)。
- sourceMaxSizeの型変更(POINT -> SIZE)。
- sourceMaxTrackの型変更(POINT -> SIZE)。
- sourceMinTrackの型変更(POINT -> SIZE)。
- source戻り値変更(bool -> void)。
void OnEnterSizeMove();
位置・サイズが変更される。
変更される前に一度だけ実行される。
void OnExitSizeMove();
void OnShowWindow(bool Show
, SHOW_FLAG Flag
);
表示状態が変更される。
- Params:
- bool Show
- 表示されようとしている場合はtrue、
非表示にされようとしている場合はfalse。
- SHOW_FLAG Flag
- ウィンドウの表示状態。
bool OnClose();
終了時の確認。
プログラムが終了しなければならないときに送られる。
この処理にてユーザーの確認を行うべき。
- Returns:
- trueの場合にthis.destroy()を呼び出す。
void OnDestroy();
破棄された。
- Inheritance:
-
常にsuper.OnDestroyを呼ばなければならない。
- Note:
-
NeWindowとかNeControlとかISubClassとかの終了処理が親にあるかもしれない。
super.OnDestroyの呼び出しは自身に影響が少ないであろう最後(scope(exit)とか)にすべき。
void OnMeasureItem(ref MEASUREITEM Measure
);
オーナードロー描画準備。
- Params:
- MEASUREITEM Measure
- オーナードローコントロールのサイズ。
必要であれば値を書き換える。
- History:
- 1.110
- sourceMeasureの型変更(MEASUREITEM* -> ref MEASUREITEM)。
void OnDrawItem(ITEM_ID Id
, DRAWITEM* DrawItem
);
void OnActive(WINDOW_ACTIVE Active
, bool NotSmall
, HWND NextWnd
);
void OnActiveOther(in bool Active
, in HANDLE OtherHandle
);
bool OnInitMenu(Menu menu
);
bool OnInitPupUpMenu(size_t Position
, bool SystemFlag
, Menu menu
);
- History:
- 1.00β20
- sourceIdの型をITEM_IDからsize_tに変更。
- sourceIdの名前をPositionに変更。
void OnMenuSelect(ITEM_ID Id
, MENU_FLAG MenuFlag
, Menu menu
);
bool OnCommand(ITEM_ID Id
, MESSAGETYPE MessageType
, NeGui Sender
);
bool OnMenuCommand(COMMAND_ID Id
);
bool OnAccelerator(COMMAND_ID Id
);
void OnContextMenu(NeGui CatchItem
, int x
, int y
);
マウスを右クリック、コンテキストメニューボタンが押された。
x
== y
&& x
== 0xFFFFならばマウスではなくキーが押された。
- Params:
- NeGui CatchItem
- マウスカーソルの下にあるアイテム。
- int x
- マウスカーソルのX座標。
- int y
- マウスカーソルのY座標。
- History:
- 1.110
- source名前変更(OnContexMenu -> OnContextMenu)。
HIT_TEST OnNonClientHitTest(HIT_TEST HitFlag
, int x
, int y
);
typedef NonClientMouseEvent;
処理した場合はtrue、しなければfalse。(あんまし関係ないけど)
bool OnNonClientMouseLeftDown(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseLeftUp(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseLeftClick(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseLeftDoubleClick(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseRightDown(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseRightUp(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseRightClick(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseRightDoubleClick(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseMiddleDown(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseMiddleUp(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseMiddleClick(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseMiddleDoubleClick(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseOtherButtonDown(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseOtherButtonUp(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseOtherButtonClick(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseOtherButtonDoubleClick(HIT_TEST HitFlag
, int x
, int y
);
bool OnNonClientMouseMove(HIT_TEST HitFlag
, int x
, int y
);
void OnEnable(bool Enable
);
void OnEnterFocus(NeGui LostedGui
);
void OnExitFocus(NeGui NewGui
);
void OnScroll(DIRECTION Direction
, SCROLL Scroll
, int Position
, NeGui Sender
);
void OnMouseMove(MOUSE_KEY Keys
, int x
, int y
);
オブジェクト内でマウス移動[WM_MOUSEMOVE]
void OnMouseOver(MOUSE_KEY Keys
, int x
, int y
);
void OnMouseHover(MOUSE_KEY Keys
, int x
, int y
);
マウスがオブジェクト上に留まった。[WM_MOUSEHOVER]
void OnMouseLeave(MOUSE_KEY Keys
, int x
, int y
);
マウスがオブジェクトの外に出た。[WM_MOUSELEAVE]
typedef MouseEvent;
bool OnMouseLeftDown(MOUSE_KEY Keys
, int x
, int y
);
左ボタンが押された。[WM_LBUTTONDOWN]
bool OnMouseLeftUp(MOUSE_KEY Keys
, int x
, int y
);
左ボタンが上げられた。[WM_LBUTTONUP]
bool OnMouseLeftClick(MOUSE_KEY Keys
, int x
, int y
);
左ボタンがクリックされた。[WM_LBUTTONDOWN + WM_LBUTTONUP]
bool OnMouseLeftDoubleClick(MOUSE_KEY Keys
, int x
, int y
);
左ボタンがダブルクリック[WM_LBUTTONDBLCLK]
bool OnMouseRightDown(MOUSE_KEY Keys
, int x
, int y
);
右ボタンが押された。[WM_RBUTTONDOWN]
bool OnMouseRightUp(MOUSE_KEY Keys
, int x
, int y
);
右ボタンが上げられた。[WM_RBUTTONUP]
bool OnMouseRightClick(MOUSE_KEY Keys
, int x
, int y
);
右ボタンがクリックされた。[WM_RBUTTONDOWN + WM_RBUTTONUP]
bool OnMouseRightDoubleClick(MOUSE_KEY Keys
, int x
, int y
);
右ボタンがダブルクリック[WM_RBUTTONDBLCLK]
bool OnMouseMiddleDown(MOUSE_KEY Keys
, int x
, int y
);
ホイールが押された。[WM_MBUTTONDOWN]
bool OnMouseMiddleUp(MOUSE_KEY Keys
, int x
, int y
);
ホイールが上げられた。[WM_MBUTTONUP]
bool OnMouseMiddleClick(MOUSE_KEY Keys
, int x
, int y
);
ホイールがクリックされた。[WM_MBUTTONDOWN + WM_MBUTTONUP]
bool OnMouseMiddleDoubleClick(MOUSE_KEY Keys
, int x
, int y
);
ホイールがダブルクリック[WM_MBUTTONDBLCLK]
bool OnMouseWhellDown(MOUSE_KEY Keys
, int x
, int y
);
ホイールが下に回された。[WM_MOUSEWHELL]
bool OnMouseWhellUp(MOUSE_KEY Keys
, int x
, int y
);
ホイールが上に回された。[WM_MOUSEWHELL]
bool OnMouseOtherButtonDown(MOUSE_KEY Keys
, int x
, int y
);
bool OnMouseOtherButtonUp(MOUSE_KEY Keys
, int x
, int y
);
bool OnMouseOtherButtonClick(MOUSE_KEY Keys
, int x
, int y
);
bool OnMouseOtherButtonDoubleClick(MOUSE_KEY Keys
, int x
, int y
);
bool OnChar(KEY Key
, KEYDATA KeyData
);
- Returns:
- 処理を終了する場合はtrue、処理をWindowsに引き継ぐ場合はfalseを返す。
bool OnKeyDown(KEY Key
, KEYDATA KeyData
);
- History:
- 1.00β16
- othersかるーくドキュメント見てて勘違いだったかもしれないKeyData.keyupをassertから除外。
bool OnKeyPress(KEY Key
, KEYDATA KeyData
);
bool OnKeyUp(KEY Key
, KEYDATA KeyData
);
- History:
- 1.021
- othersバグかどうかも怪しいけど修正しといた。
void OnDropFiles(DropFile drop
);
bool OnPaint(Canvas canvas
, ref const(RECT) Rect
, bool BackReDraw
);
bool OnPrint(Canvas canvas
, PRF Prf
);
typedef OnEraseBackGroundDg;
OnEraseBackGroundDg OnEraseBackGround(Canvas canvas
);
void OnTimer(in TIMER_ID Id
);
void OnHotKey(HOTKEY_ID Id
, HOTKEY HotKey
, KEY VKey
);
int OnNotify(ITEM_ID Id
, NOTIFY* Notify
);
bool OnOtherEvent(UINT Message
, WPARAM wParam
, LPARAM lParam
);
void OnDisplayChange(int Bits
, int Horizontal
, int Vertical
);
void OnChildCreate(NeGui ChildGui
);
void OnChildDestroy(NeGui ChildGui
);
typedef ChildEvent;
void OnChildMouseLeftDown(NeGui ChildGui
, ref const(POINT) Point
);
void OnChildMouseRightDown(NeGui ChildGui
, ref const(POINT) Point
);
void OnChildMouseMiddleDown(NeGui ChildGui
, ref const(POINT) Point
);
void OnChildMouseOtherButtonDown(NeGui ChildGui
, ref const(POINT) Point
);
bool OnQueryEndSession(bool TaskList
, END_SESSION EndSession
);
void OnEndSession(bool ExitSession
, END_SESSION EndSession
);
void OnChild(WPARAM wParam
, LPARAM lParam
);