hComboExParentWnd, NULL, hMainHinst, NULL);
}
-static LONG addItem(HWND cbex, int idx, LPTSTR text) {
- COMBOBOXEXITEM cbexItem;
+static LONG addItem(HWND cbex, int idx, const char *text) {
+ COMBOBOXEXITEMA cbexItem;
memset(&cbexItem, 0x00, sizeof(cbexItem));
cbexItem.mask = CBEIF_TEXT;
cbexItem.iItem = idx;
- cbexItem.pszText = text;
+ cbexItem.pszText = (char*)text;
cbexItem.cchTextMax = 0;
- return SendMessage(cbex, CBEM_INSERTITEM, 0, (LPARAM)&cbexItem);
+ return SendMessageA(cbex, CBEM_INSERTITEMA, 0, (LPARAM)&cbexItem);
}
-static LONG setItem(HWND cbex, int idx, LPTSTR text) {
- COMBOBOXEXITEM cbexItem;
+static LONG setItem(HWND cbex, int idx, const char *text) {
+ COMBOBOXEXITEMA cbexItem;
memset(&cbexItem, 0x00, sizeof(cbexItem));
cbexItem.mask = CBEIF_TEXT;
cbexItem.iItem = idx;
- cbexItem.pszText = text;
+ cbexItem.pszText = (char*)text;
cbexItem.cchTextMax = 0;
- return SendMessage(cbex, CBEM_SETITEM, 0, (LPARAM)&cbexItem);
+ return SendMessageA(cbex, CBEM_SETITEMA, 0, (LPARAM)&cbexItem);
}
static LONG delItem(HWND cbex, int idx) {
- return SendMessage(cbex, CBEM_DELETEITEM, idx, 0);
+ return SendMessageA(cbex, CBEM_DELETEITEM, idx, 0);
}
-static LONG getItem(HWND cbex, int idx, COMBOBOXEXITEM *cbItem) {
- memset(cbItem, 0x00, sizeof(COMBOBOXEXITEM));
+static LONG getItem(HWND cbex, int idx, COMBOBOXEXITEMA *cbItem) {
+ memset(cbItem, 0x00, sizeof(COMBOBOXEXITEMA));
cbItem->mask = CBEIF_TEXT;
cbItem->pszText = textBuffer;
cbItem->iItem = idx;
cbItem->cchTextMax = 100;
- return SendMessage(cbex, CBEM_GETITEM, 0, (LPARAM)cbItem);
+ return SendMessageA(cbex, CBEM_GETITEMA, 0, (LPARAM)cbItem);
}
static LRESULT WINAPI editbox_subclass_proc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
WNDPROC oldproc;
HWND hwnd;
- hwnd = (HWND)SendMessage(hwndComboEx, CBEM_GETEDITCONTROL, 0, 0);
+ hwnd = (HWND)SendMessageA(hwndComboEx, CBEM_GETEDITCONTROL, 0, 0);
oldproc = (WNDPROC)SetWindowLongPtrA(hwnd, GWLP_WNDPROC,
(LONG_PTR)editbox_subclass_proc);
SetWindowLongPtrA(hwnd, GWLP_USERDATA, (LONG_PTR)oldproc);
static void test_comboboxex(void) {
HWND myHwnd = 0;
LONG res = -1;
- COMBOBOXEXITEM cbexItem;
- static TCHAR first_item[] = {'F','i','r','s','t',' ','I','t','e','m',0},
- second_item[] = {'S','e','c','o','n','d',' ','I','t','e','m',0},
- third_item[] = {'T','h','i','r','d',' ','I','t','e','m',0},
- middle_item[] = {'B','e','t','w','e','e','n',' ','F','i','r','s','t',' ','a','n','d',' ',
- 'S','e','c','o','n','d',' ','I','t','e','m','s',0},
- replacement_item[] = {'B','e','t','w','e','e','n',' ','F','i','r','s','t',' ','a','n','d',' ',
- 'S','e','c','o','n','d',' ','I','t','e','m','s',0},
- out_of_range_item[] = {'O','u','t',' ','o','f',' ','R','a','n','g','e',' ','I','t','e','m',0};
+ COMBOBOXEXITEMA cbexItem;
+ static const char *first_item = "First Item",
+ *second_item = "Second Item",
+ *third_item = "Third Item",
+ *middle_item = "Between First and Second Items",
+ *replacement_item = "Between First and Second Items",
+ *out_of_range_item = "Out of Range Item";
/* Allocate space for result */
textBuffer = HeapAlloc(GetProcessHeap(), 0, MAX_CHARS);
"Failed to add item %d\n", i);
}
- hCombo = (HWND)SendMessage(hComboEx, CBEM_GETCOMBOCONTROL, 0, 0);
- hEdit = (HWND)SendMessage(hComboEx, CBEM_GETEDITCONTROL, 0, 0);
+ hCombo = (HWND)SendMessageA(hComboEx, CBEM_GETCOMBOCONTROL, 0, 0);
+ hEdit = (HWND)SendMessageA(hComboEx, CBEM_GETEDITCONTROL, 0, 0);
cbInfo.cbSize = sizeof(COMBOBOXINFO);
result = pGetComboBoxInfo(hCombo, &cbInfo);
/* Click on the button to drop down the list */
x = cbInfo.rcButton.left + (cbInfo.rcButton.right-cbInfo.rcButton.left)/2;
y = cbInfo.rcButton.top + (cbInfo.rcButton.bottom-cbInfo.rcButton.top)/2;
- result = SendMessage(hCombo, WM_LBUTTONDOWN, 0, MAKELPARAM(x, y));
+ result = SendMessageA(hCombo, WM_LBUTTONDOWN, 0, MAKELPARAM(x, y));
ok(result, "WM_LBUTTONDOWN was not processed. LastError=%d\n",
GetLastError());
ok(GetFocus() == hCombo ||
broken(GetFocus() != hCombo), /* win98 */
"Focus not on ComboBoxEx's ComboBox Control, instead on %p\n",
GetFocus());
- ok(SendMessage(hComboEx, CB_GETDROPPEDSTATE, 0, 0),
+ ok(SendMessageA(hComboEx, CB_GETDROPPEDSTATE, 0, 0),
"The dropdown list should have appeared after clicking the button.\n");
- idx = SendMessage(hCombo, CB_GETTOPINDEX, 0, 0);
+ idx = SendMessageA(hCombo, CB_GETTOPINDEX, 0, 0);
ok(idx == 0, "For TopIndex expected %d, got %d\n", 0, idx);
- result = SendMessage(hCombo, WM_LBUTTONUP, 0, MAKELPARAM(x, y));
+ result = SendMessageA(hCombo, WM_LBUTTONUP, 0, MAKELPARAM(x, y));
ok(result, "WM_LBUTTONUP was not processed. LastError=%d\n",
GetLastError());
ok(GetFocus() == hCombo ||
GetFocus());
/* Click on the 5th item in the list */
- item_height = SendMessage(hCombo, CB_GETITEMHEIGHT, 0, 0);
+ item_height = SendMessageA(hCombo, CB_GETITEMHEIGHT, 0, 0);
ok(GetClientRect(hList, &rect), "Failed to get list's client rect.\n");
x = rect.left + (rect.right-rect.left)/2;
y = item_height/2 + item_height*4;
- result = SendMessage(hList, WM_MOUSEMOVE, 0, MAKELPARAM(x, y));
+ result = SendMessageA(hList, WM_MOUSEMOVE, 0, MAKELPARAM(x, y));
ok(!result, "WM_MOUSEMOVE was not processed. LastError=%d\n",
GetLastError());
ok(GetFocus() == hCombo ||
"Focus not on ComboBoxEx's ComboBox Control, instead on %p\n",
GetFocus());
- result = SendMessage(hList, WM_LBUTTONDOWN, 0, MAKELPARAM(x, y));
+ result = SendMessageA(hList, WM_LBUTTONDOWN, 0, MAKELPARAM(x, y));
ok(!result, "WM_LBUTTONDOWN was not processed. LastError=%d\n",
GetLastError());
ok(GetFocus() == hCombo ||
broken(GetFocus() != hCombo), /* win98 */
"Focus not on ComboBoxEx's ComboBox Control, instead on %p\n",
GetFocus());
- ok(SendMessage(hComboEx, CB_GETDROPPEDSTATE, 0, 0),
+ ok(SendMessageA(hComboEx, CB_GETDROPPEDSTATE, 0, 0),
"The dropdown list should still be visible.\n");
- result = SendMessage(hList, WM_LBUTTONUP, 0, MAKELPARAM(x, y));
+ result = SendMessageA(hList, WM_LBUTTONUP, 0, MAKELPARAM(x, y));
ok(!result, "WM_LBUTTONUP was not processed. LastError=%d\n",
GetLastError());
todo_wine ok(GetFocus() == hEdit ||
"Focus not on ComboBoxEx's Edit Control, instead on %p\n",
GetFocus());
- result = SendMessage(hCombo, CB_GETDROPPEDSTATE, 0, 0);
+ result = SendMessageA(hCombo, CB_GETDROPPEDSTATE, 0, 0);
ok(!result ||
broken(result != 0), /* win98 */
"The dropdown list should have been rolled up.\n");
- idx = SendMessage(hComboEx, CB_GETCURSEL, 0, 0);
+ idx = SendMessageA(hComboEx, CB_GETCURSEL, 0, 0);
ok(idx == 4 ||
broken(idx == -1), /* win98 */
"Current Selection: expected %d, got %d\n", 4, idx);
item.iItem = 0;
item.pszText = buff;
item.cchTextMax = 1;
- ret = SendMessage(hCombo, CBEM_GETITEMA, 0, (LPARAM)&item);
+ ret = SendMessageA(hCombo, CBEM_GETITEMA, 0, (LPARAM)&item);
ok(ret != 0, "CBEM_GETITEM failed\n");
ok(buff[0] == 0, "\n");
- ret = SendMessage(hCombo, CB_GETLBTEXTLEN, 0, 0);
+ ret = SendMessageA(hCombo, CB_GETLBTEXTLEN, 0, 0);
ok(ret == 0, "Expected zero length\n");
- ret = SendMessage(hCombo, CB_GETLBTEXTLEN, 0, 0);
+ ret = SendMessageA(hCombo, CB_GETLBTEXTLEN, 0, 0);
ok(ret == 0, "Expected zero length\n");
buff[0] = 'a';
- ret = SendMessage(hCombo, CB_GETLBTEXT, 0, (LPARAM)buff);
+ ret = SendMessageA(hCombo, CB_GETLBTEXT, 0, (LPARAM)buff);
ok(ret == 0, "Expected zero length\n");
ok(buff[0] == 0, "Expected null terminator as a string, got %s\n", buff);
return 0L;
}
-static int init(void)
+static BOOL init(void)
{
HMODULE hComctl32;
BOOL (WINAPI *pInitCommonControlsEx)(const INITCOMMONCONTROLSEX*);
if (!pInitCommonControlsEx)
{
win_skip("InitCommonControlsEx() is missing. Skipping the tests\n");
- return 0;
+ return FALSE;
}
iccex.dwSize = sizeof(iccex);
iccex.dwICC = ICC_USEREX_CLASSES;
wc.cbWndExtra = 0;
wc.hInstance = GetModuleHandleA(NULL);
wc.hIcon = NULL;
- wc.hCursor = LoadCursorA(NULL, IDC_ARROW);
+ wc.hCursor = LoadCursorA(NULL, (LPCSTR)IDC_ARROW);
wc.hbrBackground = GetSysColorBrush(COLOR_WINDOW);
wc.lpszMenuName = NULL;
wc.lpszClassName = ComboExTestClass;
hComboExParentWnd = CreateWindowExA(0, ComboExTestClass, "ComboEx test", WS_OVERLAPPEDWINDOW|WS_VISIBLE,
CW_USEDEFAULT, CW_USEDEFAULT, 680, 260, NULL, NULL, GetModuleHandleA(NULL), 0);
- assert(hComboExParentWnd != NULL);
+ ok(hComboExParentWnd != NULL, "failed to create parent window\n");
hMainHinst = GetModuleHandleA(NULL);
- return 1;
+
+ return hComboExParentWnd != NULL;
}
static void cleanup(void)
hComboEx = createComboEx(WS_BORDER | WS_VISIBLE | WS_CHILD | CBS_DROPDOWN);
- hCombo = (HWND)SendMessage(hComboEx, CBEM_GETCOMBOCONTROL, 0, 0);
+ hCombo = (HWND)SendMessageA(hComboEx, CBEM_GETCOMBOCONTROL, 0, 0);
ok(hCombo != NULL, "Failed to get internal combo\n");
- hEdit = (HWND)SendMessage(hComboEx, CBEM_GETEDITCONTROL, 0, 0);
+ hEdit = (HWND)SendMessageA(hComboEx, CBEM_GETEDITCONTROL, 0, 0);
ok(hEdit != NULL, "Failed to get internal edit\n");
if (pSetWindowSubclass)
item.mask = CBEIF_TEXT;
item.pszText = textA;
item.iItem = -1;
- ret = SendMessage(hComboEx, CBEM_SETITEMA, 0, (LPARAM)&item);
+ ret = SendMessageA(hComboEx, CBEM_SETITEMA, 0, (LPARAM)&item);
expect(TRUE, ret);
ok_sequence(sequences, EDITBOX_SEQ_INDEX, test_setitem_edit_seq, "set item data for edit", FALSE);
item.mask = CBEIF_LPARAM;
item.iItem = -1;
item.lParam = 0xdeadbeef;
- ret = SendMessage(hComboEx, CBEM_GETITEMA, 0, (LPARAM)&item);
+ ret = SendMessageA(hComboEx, CBEM_GETITEMA, 0, (LPARAM)&item);
expect(TRUE, ret);
ok(item.lParam == 0, "Expected zero, got %lx\n", item.lParam);
item.lParam = 0x1abe11ed;
- ret = SendMessage(hComboEx, CBEM_SETITEMA, 0, (LPARAM)&item);
+ ret = SendMessageA(hComboEx, CBEM_SETITEMA, 0, (LPARAM)&item);
expect(TRUE, ret);
item.lParam = 0;
- ret = SendMessage(hComboEx, CBEM_GETITEMA, 0, (LPARAM)&item);
+ ret = SendMessageA(hComboEx, CBEM_GETITEMA, 0, (LPARAM)&item);
expect(TRUE, ret);
ok(item.lParam == 0x1abe11ed, "Expected 0x1abe11ed, got %lx\n", item.lParam);