*
INT_PTR CALLBACK InputDevices(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
HWND hDropdown;
UNREFERENCED_PARAMETER(lParam);
switch (message)
{
case WM_INITDIALOG:
{
hDropdown = CreateWindow(L"combobox",L"Die Combobox" , CBS_DROPDOWNLIST | WS_VISIBLE | WS_CHILD , 20, 20, 200, 200, hDlg,
(HMENU) 1000, NULL , NULL);
g_pDirectInput->EnumDevices(DI8DEVCLASS_ALL, EnumDeviceCallback, LPVOID(hWnd), DIEDFL_ALLDEVICES);
//SendDlgItemMessage(hDlg, 1000, CB_ADDSTRING, 0, (LPARAM) L"Test");
return (INT_PTR)TRUE;
}
case WM_COMMAND:
if(LOWORD(wParam) == IDOK)
EndDialog(hDlg,(INT_PTR)TRUE);
break;
case WM_CLOSE:
EndDialog(hDlg,(INT_PTR)TRUE);
break;
}
return (INT_PTR)FALSE;
}
und dann:
BOOL CALLBACK EnumDeviceCallback(LPCDIDEVICEINSTANCE devInstance, LPVOID lpData)
{
SendDlgItemMessage(reinterpret_cast<HWND>(lpData), 1000, CB_ADDSTRING, 0, (LPARAM)TEXT("callback"));
return DIENUM_STOP;
}
Sollte eigentlich gehen. Ich mein das die EnumDeviceCallback Funktion so ne Möglichkeit drin hatte ...