etc.negui.event.events

イベントを模したもの。
基本的な定数や構造体のみ。 コントロール特有なものなんかはそのコントロールのmoduleで補完。
History:
1.100
  • sourcemodule変更(event -> events)。
  • source記述方法を大幅変更
template MixInNeGuiEvent()
Note:
非ポインタに変更可能な部分は変更すべき.
History:
1.00β12
  • OnNonClientMouseXXX追加。
void OnCreate();
NeWindow作成時
void OnCreated();
OnCreat終了時
bool OnSize(SIZE_TYPE, int Width , int Height );
サイズ変更時。パネルのおかげで出番が少なくなりました。
Returns:
処理した場合はtrue、処理をWindowsに引き継ぐ場合はfalseを返す。
History:
1.00β17
  • program処理判定の追加。
void OnSizing(SIDEFLAG Sides , ref RECT Rect );

void OnMoving(SIDEFLAG Sides , ref RECT Rect );

void OnWindowPosChanging(WINDOWPOS* WindowPos );

void OnWindowPosChanged(ref WINDOWPOS WindowPos );

bool OnMinMax(POINT* MaxSize , POINT* MaxPos , POINT* MaxTrack , POINT* MinTrack );

void OnEnterSizeMove();

void OnExitSizeMove();

void OnShowWindow(bool Show , SHOW_FLAG Flag );
History:
1.00β17
  • 新規作成。
bool OnClose();
終了時の確認。trueで終了。
void OnDestroy();
常にsuper.OnDestroyを最後に呼ぶべし。
History:
1.00β19
  • programLogger削除。
void OnMeasureItem(MEASUREITEM* Measure );

void OnDrawItem(ITEM_ID Id , DRAWITEM* DrawItem );
History:
1.00β17
  • sourceあんまし意味無いけど引数追加。
void OnActive(WINDOW_ACTIVE Active , bool NotSmall , HWND NextWnd );

void OnActiveOther(in bool Active , in HANDLE OtherHandle );

bool OnInitMenu(Menu menu );
History:
1.00β20
  • source引数変更。
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 );
History:
1.00β20
  • source引数変更。
bool OnCommand(ITEM_ID Id , MESSAGETYPE MessageType , NeGui Sender );

bool OnMenuCommand(COMMAND_ID Id );

bool OnAccelerator(COMMAND_ID Id );

void OnContexMenu(NeGui CatchItem , int x , int y );

HIT_TEST OnNonClientHitTest(HIT_TEST HitFlag , int x , int y );
History:
1.070
  • source名前変更。
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 );
X
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:
Windowsに処理させる場合はfalseを返す。
History:
1.00β17
  • 新規作成。
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 );
History:
1.021
  • 新規作成。
void OnEndSession(bool ExitSession , END_SESSION EndSession );
History:
1.021
  • 新規作成。
void OnChild(WPARAM wParam , LPARAM lParam );

struct EVENTS(NEGUITYPE : NeGui);
History:
1.100
  • source名前変更(EVENTLOOP -> EVENTS)。
  • source構造体そのものに型を設定
  • bugOnMouseHoverでOnMouseLeaveを呼んでいた
  • bugWM_BUTTONUPでWM_MBUTTONUPがfall through
string WM_CREATE(in string NeGuiObject = _NEGUIOBJECT, in string hWnd = _HWND, in string Message = _MESSAGE, in string wParam = _WPARAM, in string lParam = _LPALAM);
History:
1.00β19
  • programLogger削除
template MixInNeGuiEventProc(NEGUI : NeGui)
History:
1.00β12
  • WM_NCLBUTTONDOWN, WM_NCRBUTTONDOWN, WM_NCMBUTTONDOWN, WM_NCXBUTTONDOWN, WM_NCLBUTTONUP, WM_NCRBUTTONUP, WM_NCMBUTTONUP, WM_NCXBUTTONUP, WM_NCLBUTTONDBLCLK, WM_NCRBUTTONDBLCLK, WM_NCMBUTTONDBLCLK, WM_NCXBUTTONDBLCLKの追加。 WM_XBUTTONUP, WM_XBUTTONDOWN, WM_XBUTTONDBLCLKを拾ってなかったのでそれを修正。