#pragma once #include "KUIWnd.h" struct KUIMBMessage : public KArg { enum KMB_RESULT { KMBRES_OK, KMBRES_CANCEL, KMBRES_RETRY, KMBRES_YES, KMBRES_NO, }; const char* id; KMB_RESULT result; }; enum id_RETURN { KMR_NO_GET = 1 << 1, ///< 메시지를 아예 받지 않음. ( Focus또한 받지 않음) KMR_NORMAL = 1 << 2, ///< 정상적인 경우 KMR_GET_PASS = 1 << 3, ///< 정상적으로 받았고 처리 했고, 이 뒤로도 메시지 보내자. KMR_CHILD_GET_MSG = 1 << 4, ///< Child Control이 Message를 받았음 KMR_CHILD_IN_MSG = 1 << 5, ///< Child 안으로 mouse pointer 가 들어왔음 }; enum KUI_STYLE { // general wnd KSTYLE_NOCLOSE = 1 << 1, KSTYLE_NOMINIMIZE = 1 << 2, KSTYLE_NORESIZE = 1 << 3, KSTYLE_NOTITLE = 1 << 4, KSTYLE_NOSTATUSBAR = 1 << 5, KSTYLE_VSCROLL = 1 << 6, KSTYLE_HSCROLL = 1 << 7, KSTYLE_NOFRAME = 1 << 8, KSTYLE_NOTOPFRAME = 1 << 9, KSTYLE_NOBACKGROUND = 1 << 10, KSTYLE_RESIZE_LEFT = 1 << 11, ///< Resize가 왼쪽에 붙음 KSTYLE_RESIZE_TOP = 1 << 12, ///< Resize가 위에 붙음 KSTYLE_MOVE_BY_TITLEBAR = 1 << 13, KSTYLE_MOVE_BY_TOPFRAME = 1 << 14, KSTYLE_MOVE_BY_ALL = 1 << 15, KSTYLE_MOVE_BY_CUSTOM = 1 << 16, KSTYLE_NO_CLIPPING = 1 << 17, KSTYLE_VERTICAL_REPEAT = 1 << 18, KSTYLE_HORIZONTAL_REPEAT = 1 << 19, KSTYLE_SPR_CAPTION = 1 << 20, // alpha KSTYLE_ALPHA_SHOW = 1 << 21, //=================================== // Static KSTYLE_STRETCH_VERTICAL = 1 << 1, //=================================== // button KSTYLE_BUTTON_LEFTSIDE = 1 << 1, KSTYLE_BUTTON_RIGHTSIDE = 1 << 2, KSTYLE_BUTTON_CANDRAG = 1 << 3, KSTYLE_BUTTON_VERTICAL = 1 << 4, //=================================== // Check KSTYLE_CHECK_CAPTION_RIGHT = 1 << 1, //=================================== // status bar KSTYLE_SB_NOLEFTSIDE = 1 << 1, KSTYLE_SB_NORIGHTSIDE = 1 << 2, //=================================== // Tab Control KSTYLE_TAB_VERTICAL = 1 << 1, //=================================== // Number Control KSTYLE_NUMBER_LEFT = 1 << 1, KSTYLE_NUMBER_CENTER = 1 << 2, KSTYLE_NUMBER_RIGHT = 1 << 3, //=================================== // Gauge Control KSTYLE_GAUGE_WITH_GRADUATION = 1 << 1, ///< 눈금 //=================================== // Msg Control KSTYLE_MSG_VERTICAL_REPEAT = 1 << 0, KSTYLE_MSG_HORIZONTAL_REPEAT = 1 << 1, }; enum KUI_FLAG { KFLAG_NO_GET_MESSAGE = 1 << 1, ///< 아예 메시지 자체를 처리하지 않음 KFLAG_GET_PASS_MESSAGE = 1 << 2, ///< 처리는 하나 기본적으로 return 은 0; KFLAG_CAN_DRAG = 1 << 3, ///< Drag 가능 ( Control에만 설정 가능) KFLAG_SINGLE_LINE = 1 << 4, ///< Text는 무조건 한줄에 표시 (...으로) KFLAG_NO_GET_FOCUS = 1 << 5, ///< Focus를 안받느놈. }; enum KUI_ANCHOR { KANCHOR_LEFT = 1 << 1, KANCHOR_RIGHT = 1 << 2, KANCHOR_TOP = 1 << 3, KANCHOR_BOTTOM = 1 << 4, }; namespace KUI_MESSAGE { const DWORD id_INVALID = 0; /// Edit Control const DWORD KEDIT_CHANGE = 1; /// Syskey is Return, Tab (Syskey can be added) const DWORD KEDIT_SYSKEY = 2; const DWORD KEDIT_VK_DOWN = 3; const DWORD KEDIT_VK_UP = 4; const DWORD KEDIT_IME_CHANGE = 5; const DWORD KEDIT_LINE_CHANGE = 6; /// Button Control const DWORD KBUTTON_CLICK = 10; const DWORD KBUTTON_PRESSING = 11; /// StaticIcon Control const DWORD KICON_PRESSING = 12; const DWORD KICON_CLICK = 15; const DWORD KICON_DBLCLK = 16; const DWORD KICON_RCLICK = 17; /// Scroll Control const DWORD KSCROLL_SELECT = 20; const DWORD KSCROLL_CHANGE = 21; const DWORD KSCROLL_REFRESH = 22; /// Slider Control const DWORD SLIDER_SELECT = 25; const DWORD SLIDER_CHANGE = 26; // List Control /// Current Select Item) lparam: new selected item const DWORD KLIST_ITEM_SELECT = 30; /// (Old Select Item) lparam: new selected item, wparam: old selected item const DWORD KLIST_ITEM_CHANGE = 31; /// First view is change const DWORD KLIST_VIEW_CHANGE = 32; /// Click List Item const DWORD KLIST_ITEM_CLICK = 33; /// Double Click List Item ( by Mouse LButton) const DWORD KLIST_ITEM_LDBLCLK = 34; /// Double Click List Item ( by Mouse RButton) const DWORD KLIST_ITEM_RDBLCLK = 35; // Progress Control /// (Current Progress Value) const DWORD KPROGRESS_SELECT = 40; /// (Old Progress Value) const DWORD KPROGRESS_CHANGE = 41; /// Check Control const DWORD KCHECK_CHANGE = 50; /** Select Control (Current Select Value) */ const DWORD KSELECT_SELECT = 60; /// (Old Select Value) const DWORD KSELECT_CHANGE = 61; /** Tab Control (Current Select Value) */ const DWORD KTAB_SELECT = 70; /// (Old Select Value) const DWORD KTAB_CHANGE = 71; /// GenWnd 가 Resize 됨 const DWORD KGENWND_RESIZE = 80; const DWORD KGENWND_MOVE = 81; const DWORD KGENWND_RIGHT_CLICK = 82; const DWORD KFOCUS_ACTIVATED = 90; const DWORD KFOCUS_DEACTIVATED = 91; const DWORD KCOMBO_CHANGE = 100; ///< Combo 박스 선택 Item 이 바뀌었을때 const DWORD KCOMBO_SELECT = 101; ///< Combo 박스 Item 선택 시 const DWORD KCOMBO_CLICK = 102; ///< Combo 박스 버튼 클릭 시 const DWORD KMINIMAP_PRESSING = 110; //3DMiniMap Static //Quest Info Manager Control const DWORD KQUESTINFOMNG_PRESSING = 111; const DWORD KQUESTINFOMNG_CLICK = 112; const DWORD KQUESTINFOMNG_DBLCLK = 113; const DWORD KQUESTINFOMNG_RCLICK = 114; const DWORD KQUESTINFOMNG_REFRESH = 115; const DWORD KQUESTINFOMNG_GIVEUP = 116; //Effect Gauge const DWORD KEFFECTGAUGE_PRESSING = 120; const DWORD KEFFECTGAUGE_CLICK = 121; const DWORD KEFFECTGAUGE_KICON_DBLCLK = 122; // ListControl const DWORD KLIST_ITEM_LBUTTON_UP = 123; const DWORD KLIST_ITEM_LBUTTON_DOWN = 124; const DWORD KLIST_ITEM_LBUTTON_DBCLICK = 125; const DWORD KLIST_ITEM_RBUTTON_UP = 126; const DWORD KLIST_ITEM_RBUTTON_DOWN = 127; const DWORD KLIST_ITEM_MOUSEMOVE = 128; // 2010.08.13 - prodongi const DWORD KLIST_ITEM_DBSELECT = 129; const DWORD id_END = 10000; }