int MessageWindowHandler::messageCallBack(Window *parent, Window *child, MessageQueue &msgQueue)
{
	int returnValue = 0;
	while (msgQueue.hasMessage())
	{
		switch (msgQueue.getMessage().controlID)
		{
		case BUTTON_OK:
			switch (msgQueue.getMessage().messageID)
			{
			case MOUSE_ENTER:
				returnValue = ButtonOK_MouseEner(static_cast<MessageWindow*>(parent), static_cast<Button*>(child), msgQueue);
				break;
			case MOUSE_LEAVE:
				returnValue = ButtonOK_MouseEner(static_cast<MessageWindow*>(parent), static_cast<Button*>(child), msgQueue);
				break;
			case LEFT_MOUSE_BUTTON_CLICK:
				returnValue = ButtonOK_LeftClick(static_cast<MessageWindow*>(parent), static_cast<Button*>(child), msgQueue);
				break;
			default:
				break;
			}
			break;
		case BUTTON_CANCEL:
			switch (msgQueue.getMessage().messageID)
			{
			case LEFT_MOUSE_BUTTON_CLICK:
				returnValue = ButtonCancel_LeftClick(static_cast<MessageWindow*>(parent), static_cast<Button*>(child), msgQueue);
				break;
			default:
				break;
			}
			break;
		default:
			
			break;
		}
		msgQueue.removeMessage();
	}
	return returnValue;
}