Files
2026-06-01 12:46:52 +02:00

240 lines
5.9 KiB
C++

#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;
}