Если вы измените тип параметра item
метода из String
в коллекцию, такую как List & lt; String & gt;
, вы должны получить
@GET @Path ("/ foo") @Produces ("text / plain") public String methodImCalling (@DefaultValue ("Все"), который содержит все значения, которые вы ищете. ) @QueryParam (value = "item") final List & lt; String & gt; item) {return "values:" + item; }
Спецификация JAX-RS (раздел 3.2) говорит следующее относительно аннотации @QueryParam
:
Поддерживаются следующие типы:blockquote>
- Примитивные типы
- Типы, которые имеют конструктор, который принимает один аргумент
String
.- Типы, которые имеют статический метод с именем
] valueOf
с одним аргументомString
.List & lt; T>
,Set & lt; T>
, илиSortedSet & lt; T>
, гдеT
удовлетворяет требованиям 2 или 3.
Для элементов управления статическим текстом нет постоянного способа установить цвет текста или его фон. Даже если вы хотите применить изменения к одному статическому элементу управления; вам все равно придется обрабатывать сообщение уведомления WM_CTLCOLORSTATIC в родительском dlgproc только тогда, когда элемент управления будет готов.
Это связано с тем, что DefWindowProc
перезаписывает ваши изменения в контексте устройства каждый раз, когда он обрабатывает WM_CTLCOLORSTATIC
, как указано в MSDN :
По умолчанию функция DefWindowProc выбирает цвета системы по умолчанию для статического контроля.
static HBRUSH hBrush = CreateSolidBrush(RGB(230,230,230)); case WM_CTLCOLORSTATIC: { if (settingstext == (HWND)lParam) //OR if the handle is unavailable to you, get ctrl ID DWORD CtrlID = GetDlgCtrlID((HWND)lParam); //Window Control ID if (CtrlID == IDC_STATIC1) //If desired control { HDC hdcStatic = (HDC) wParam; SetTextColor(hdcStatic, RGB(0,0,0)); SetBkColor(hdcStatic, RGB(230,230,230)); return (INT_PTR)hBrush; } }
Если вы хотите сделать прозрачный фон элемента управления над родительским диалогом, вы можете использовать
SetBkMode(hdcStatic, TRANSPARENT)
.
Вы рассматривали подклассирование статического окна и рисование владельца?
Я думаю, что существует постоянный способ сделать это.
Сразу после создания метки используйте функцию GetDC (), чтобы получить Контекст устройства. Затем используйте:
SetTextColor(hdcStatic, RGB(0,0,0));
SetBkColor(hdcStatic, RGB(230,230,230)); // Code Copied from the above answer by cpx.
И он должен это сделать.
DefWindowProc
сбрасывает эти изменения в контексте устройства каждый раз, когда обрабатывает сообщение WM_CTLCOLORSTATIC
для элемента управления. MSDN : «По умолчанию функция DefWindowProc выбирает цвета системы по умолчанию для статического управления. & quot;
– whY
21 March 2018 в 08:31
hBrush
для фона, если вы уже вызвалиSetBkColor
? А в случае прозрачного фона вам нужна прозрачная кисть? – Ameen 5 December 2015 в 16:26