- enlarge the dialog window

- load treeview classes on startup
- link to dinput8 + dxguid library
- start implementing DirectInput dialog
- use DirectInput version 8 for now


svn path=/trunk/; revision=33121
This commit is contained in:
Johannes Anderwald 2008-04-22 23:19:50 +00:00
parent 5e675fb7e6
commit 15d071da9a
9 changed files with 315 additions and 30 deletions

View file

@ -187,7 +187,7 @@ int APIENTRY WinMain(HINSTANCE hInstance,
UNREFERENCED_PARAMETER(nCmdShow);
InitControls.dwSize = sizeof(INITCOMMONCONTROLSEX);
InitControls.dwICC = ICC_TAB_CLASSES | ICC_LISTVIEW_CLASSES | ICC_STANDARD_CLASSES;
InitControls.dwICC = ICC_TAB_CLASSES | ICC_LISTVIEW_CLASSES | ICC_STANDARD_CLASSES | ICC_TREEVIEW_CLASSES;
InitCommonControlsEx(&InitControls);
hInst = hInstance;

View file

@ -12,6 +12,8 @@
<library>comctl32</library>
<library>shell32</library>
<library>version</library>
<library>dinput8</library>
<library>dxguid</library>
<file>system.c</file>
<file>display.c</file>
<file>sound.c</file>

View file

@ -9,6 +9,194 @@
#include "precomp.h"
typedef struct
{
HWND hwndDlg;
IDirectInput8W * pObj;
HWND hDevList;
HWND hPortTree;
INT Count;
}INPUT_DIALOG_CONTEXT, *PINPUT_DIALOG_CONTEXT;
BOOL CALLBACK DirectInputEnumDevCb(
LPCDIDEVICEINSTANCEW lpddi,
LPVOID pvRef
)
{
HRESULT hResult;
WCHAR szText[100];
IDirectInputDevice8W * pDev = NULL;
//DIPROPGUIDANDPATH GuidPath;
//DIPROPSTRING TypeName;
DIPROPDWORD VendorID;
DIDEVCAPS DevCaps;
DWORD dwProductID;
DWORD dwManufacturerID;
LVITEMW Item;
LRESULT lResult;
PINPUT_DIALOG_CONTEXT pContext = (PINPUT_DIALOG_CONTEXT)pvRef;
if (!pContext)
return DIENUM_STOP;
ZeroMemory(&Item, sizeof(LVITEMW));
Item.mask = LVIF_TEXT;
Item.pszText = (LPWSTR)lpddi->tszProductName;
Item.iItem = pContext->Count;
/* insert device item */
lResult = SendMessageW(pContext->hDevList, LVM_INSERTITEM, 0, (LPARAM)&Item);
if (lResult == -1)
return DIENUM_CONTINUE;
/* is the device attached */
szText[0] = L'\0';
hResult = pContext->pObj->lpVtbl->GetDeviceStatus(pContext->pObj, &lpddi->guidInstance);
if (hResult == DI_OK)
LoadStringW(hInst, IDS_DEVICE_STATUS_ATTACHED, szText, sizeof(szText) / sizeof(WCHAR));
else if (hResult == DI_NOTATTACHED)
LoadStringW(hInst, IDS_DEVICE_STATUS_MISSING, szText, sizeof(szText) / sizeof(WCHAR));
else
LoadStringW(hInst, IDS_DEVICE_STATUS_UNKNOWN, szText, sizeof(szText) / sizeof(WCHAR));
if (szText[0])
{
szText[(sizeof(szText) / sizeof(WCHAR))-1] = L'\0';
Item.iSubItem = 1;
Item.pszText = szText;
SendMessageW(pContext->hDevList, LVM_SETITEM, lResult, (LPARAM)&Item);
}
hResult = pContext->pObj->lpVtbl->CreateDevice(pContext->pObj, &lpddi->guidInstance, &pDev, NULL);
if (hResult != DI_OK)
return DIENUM_STOP;
ZeroMemory(&VendorID, sizeof(DIPROPDWORD));
VendorID.diph.dwSize = sizeof(DIPROPDWORD);
VendorID.diph.dwHeaderSize = sizeof(DIPROPHEADER);
hResult = pDev->lpVtbl->GetProperty(pDev, DIPROP_VIDPID, (LPDIPROPHEADER)&VendorID);
if (hResult == DI_OK)
{
/* set manufacturer id */
dwManufacturerID = LOWORD(VendorID.dwData);
swprintf(szText, L"0x%04X", dwManufacturerID);
Item.iSubItem = 3;
SendMessageW(pContext->hDevList, LVM_SETITEM, lResult, (LPARAM)&Item);
/* set product id */
dwProductID = HIWORD(VendorID.dwData);
swprintf(szText, L"0x%04X", dwProductID);
Item.iSubItem = 4;
SendMessageW(pContext->hDevList, LVM_SETITEM, lResult, (LPARAM)&Item);
}
else
{
szText[0] = L'\0';
LoadStringW(hInst, IDS_NOT_APPLICABLE, szText, sizeof(szText) / sizeof(WCHAR));
szText[(sizeof(szText)/sizeof(WCHAR))-1] = L'\0';
/* set manufacturer id */
Item.iSubItem = 3;
SendMessageW(pContext->hDevList, LVM_SETITEM, lResult, (LPARAM)&Item);
/* set product id */
Item.iSubItem = 4;
SendMessageW(pContext->hDevList, LVM_SETITEM, lResult, (LPARAM)&Item);
}
/* check for force feedback support */
DevCaps.dwSize = sizeof(DIDEVCAPS); // use DIDEVCAPS_DX3 for DX3 support
hResult = pDev->lpVtbl->GetCapabilities(pDev, &DevCaps);
szText[0] = L'\0';
if (hResult == DI_OK)
{
if (DevCaps.dwFlags & DIDC_FORCEFEEDBACK)
LoadStringW(hInst, IDS_OPTION_YES, szText, sizeof(szText)/sizeof(WCHAR));
else
LoadStringW(hInst, IDS_NOT_APPLICABLE, szText, sizeof(szText)/sizeof(WCHAR));
}
else
{
LoadStringW(hInst, IDS_NOT_APPLICABLE, szText, sizeof(szText)/sizeof(WCHAR));
}
Item.iSubItem = 5;
SendMessageW(pContext->hDevList, LVM_SETITEM, lResult, (LPARAM)&Item);
#if 0
ZeroMemory(&GuidPath, sizeof(DIPROPGUIDANDPATH));
GuidPath.diph.dwSize = sizeof(DIPROPGUIDANDPATH);
GuidPath.diph.dwHeaderSize = sizeof(DIPROPHEADER);
GuidPath.diph.dwHow = DIPH_DEVICE;
hResult = pDev->lpVtbl->GetProperty(pDev, DIPROP_GUIDANDPATH, (LPDIPROPHEADER)&GuidPath);
ZeroMemory(&TypeName, sizeof(TypeName));
TypeName.diph.dwSize = sizeof(TypeName);
TypeName.diph.dwHeaderSize = sizeof(DIPROPHEADER);
TypeName.diph.dwHow = DIPH_DEVICE;
hResult = pDev->lpVtbl->GetProperty(pDev, DIPROP_GETPORTDISPLAYNAME, (LPDIPROPHEADER)&TypeName);
#endif
pDev->lpVtbl->Release(pDev);
pContext->Count++;
return DIENUM_CONTINUE;
}
VOID
InitListViewColumns(PINPUT_DIALOG_CONTEXT pContext)
{
WCHAR szText[256];
LVCOLUMNW lvcolumn;
INT Index;
pContext->hDevList = GetDlgItem(pContext->hwndDlg, IDC_LIST_DEVICE);
ZeroMemory(&lvcolumn, sizeof(LVCOLUMNW));
lvcolumn.pszText = szText;
lvcolumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH;
lvcolumn.fmt = LVCFMT_LEFT;
lvcolumn.cx = 100;
for(Index = 0; Index < 6; Index++)
{
szText[0] = L'\0';
LoadStringW(hInst, IDS_DEVICE_NAME + Index, szText, sizeof(szText) / sizeof(WCHAR));
szText[(sizeof(szText) / sizeof(WCHAR))-1] = L'\0';
if (SendMessageW(pContext->hDevList, LVM_INSERTCOLUMNW, Index, (LPARAM)&lvcolumn) == -1)
return;
}
}
static
void
InitializeDirectInputDialog(HWND hwndDlg)
{
INPUT_DIALOG_CONTEXT Context;
HRESULT hResult;
IDirectInput8W * pObj;
hResult = DirectInput8Create(hInst, DIRECTINPUT_VERSION, &IID_IDirectInput8W, (LPVOID*)&pObj, NULL);
if (hResult != DI_OK)
return;
ZeroMemory(&Context, sizeof(Context));
Context.pObj = pObj;
Context.hwndDlg = hwndDlg;
InitListViewColumns(&Context);
hResult = pObj->lpVtbl->EnumDevices(pObj, DI8DEVCLASS_ALL, DirectInputEnumDevCb, (PVOID)&Context, DIEDFL_ALLDEVICES);
pObj->lpVtbl->Release(pObj);
}
INT_PTR CALLBACK
InputPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
@ -18,6 +206,7 @@ InputPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
case WM_INITDIALOG:
{
SetWindowPos(hDlg, NULL, 10, 32, 0, 0, SWP_NOACTIVATE | SWP_NOOWNERZORDER | SWP_NOSIZE | SWP_NOZORDER);
InitializeDirectInputDialog(hDlg);
return TRUE;
}
}

View file

@ -1,17 +1,17 @@
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
IDD_MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 378, 260
IDD_MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 378, 280
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
CAPTION "ReactX-Diagnostic program"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Tab1",IDC_TAB_CONTROL,"SysTabControl32",WS_TABSTOP,2,2,374,195
PUSHBUTTON "&Help", IDC_BUTTON_HELP, 2, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&Next Page", IDC_BUTTON_NEXT, 137, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Save All Information...", IDC_BUTTON_SAVE_INFO, 201, 201, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Exit", IDC_BUTTON_EXIT, 323, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
CONTROL "Tab1",IDC_TAB_CONTROL,"SysTabControl32",WS_TABSTOP,2,2,374,250
PUSHBUTTON "&Help", IDC_BUTTON_HELP, 2, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&Next Page", IDC_BUTTON_NEXT, 137, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Save All Information...", IDC_BUTTON_SAVE_INFO, 201, 261, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Exit", IDC_BUTTON_EXIT, 323, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
END
IDD_SYSTEM_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 190
@ -65,10 +65,16 @@ BEGIN
END
IDD_INPUT_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 190
IDD_INPUT_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "DirectInput Devices", -1, 10, 10, 352, 80
CONTROL "", IDC_LIST_DEVICE, "SysListView32", LVS_REPORT | WS_CHILD | WS_BORDER | WS_TABSTOP, 20, 20, 332, 60
GROUPBOX "Input Devices", -1, 10, 100, 352, 60
CONTROL "", IDC_TREE_PORT, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 20, 110, 332, 40, 0x00000200
GROUPBOX "Information", -1, 10, 170, 352, 50
EDITTEXT IDC_RICH_INFO, 20, 180, 332, 30, WS_DISABLED | WS_TABSTOP
END
IDD_NETWORK_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 190
@ -98,4 +104,15 @@ BEGIN
IDS_FORMAT_UNIPROC "%s (%u CPU)"
IDS_FORMAT_MPPROC "%s (%u CPUs)"
IDS_VERSION_UNKNOWN "Unknown Version"
IDS_DEVICE_STATUS_ATTACHED "Connected"
IDS_DEVICE_STATUS_MISSING "Disconnected"
IDS_DEVICE_STATUS_UNKNOWN "Unknown"
IDS_DEVICE_NAME "Device name"
IDS_DEVICE_STATUS "Status"
IDS_DEVICE_CONTROLLER "Controller ID"
IDS_DEVICE_MANUFACTURER "Manufacturer ID"
IDS_DEVICE_PRODUCT "Product ID"
IDS_DEVICE_FORCEFEEDBACK "Force Feedback-Driver"
IDS_NOT_APPLICABLE "Not applicable"
IDS_OPTION_YES "Yes"
END

View file

@ -1,17 +1,17 @@
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
IDD_MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 378, 220
IDD_MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 378, 280
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
CAPTION "ReactX - Programme de diagnostic"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Tab1",IDC_TAB_CONTROL,"SysTabControl32",WS_TABSTOP,2,2,374,195
PUSHBUTTON "Aide", IDC_BUTTON_HELP, 2, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "Page suiva&nte", IDC_BUTTON_NEXT, 137, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "Enregi&strer toutes les informations...", IDC_BUTTON_SAVE_INFO, 201, 201, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "Quitt&er", IDC_BUTTON_EXIT, 323, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
CONTROL "Tab1",IDC_TAB_CONTROL,"SysTabControl32",WS_TABSTOP,2,2,374,250
PUSHBUTTON "Aide", IDC_BUTTON_HELP, 2, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "Page suiva&nte", IDC_BUTTON_NEXT, 137, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "Enregi&strer toutes les informations...", IDC_BUTTON_SAVE_INFO, 201, 261, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "Quitt&er", IDC_BUTTON_EXIT, 323, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
END
IDD_SYSTEM_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 190
@ -65,10 +65,16 @@ BEGIN
END
IDD_INPUT_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 190
IDD_INPUT_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "DirectInput Devices", -1, 10, 10, 352, 80
CONTROL "", IDC_LIST_DEVICE, "SysListView32", LVS_REPORT | WS_CHILD | WS_BORDER | WS_TABSTOP, 20, 20, 332, 60
GROUPBOX "Input Devices", -1, 10, 100, 352, 60
CONTROL "", IDC_TREE_PORT, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 20, 110, 332, 40, 0x00000200
GROUPBOX "Information", -1, 10, 170, 352, 50
EDITTEXT IDC_RICH_INFO, 20, 180, 332, 30, WS_DISABLED | WS_TABSTOP
END
IDD_NETWORK_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 190
@ -98,4 +104,15 @@ BEGIN
IDS_FORMAT_UNIPROC "%s (%u CPU)"
IDS_FORMAT_MPPROC "%s (%u CPUs)"
IDS_VERSION_UNKNOWN "Unknown Version"
IDS_DEVICE_STATUS_ATTACHED "Connected"
IDS_DEVICE_STATUS_MISSING "Disconnected"
IDS_DEVICE_STATUS_UNKNOWN "Unknown"
IDS_DEVICE_NAME "Device name"
IDS_DEVICE_STATUS "Status"
IDS_DEVICE_CONTROLLER "Controller ID"
IDS_DEVICE_MANUFACTURER "Manufacturer ID"
IDS_DEVICE_PRODUCT "Product ID"
IDS_DEVICE_FORCEFEEDBACK "Force Feedback-Driver"
IDS_NOT_APPLICABLE "Not applicable"
IDS_OPTION_YES "Yes"
END

View file

@ -7,18 +7,18 @@
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
IDD_MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 378, 220
IDD_MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 378, 280
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
CAPTION "Narzêdzie diagnostyki ReactX"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Tab1",IDC_TAB_CONTROL,"SysTabControl32",WS_TABSTOP,2,2,374,195
PUSHBUTTON "&Pomoc", IDC_BUTTON_HELP, 2, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&Nastêpna Strona", IDC_BUTTON_NEXT, 137, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Zapisz wszystkie informacje...", IDC_BUTTON_SAVE_INFO, 201, 201, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Wyjœcie", IDC_BUTTON_EXIT, 323, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
CONTROL "Tab1",IDC_TAB_CONTROL,"SysTabControl32",WS_TABSTOP,2,2,374,250
PUSHBUTTON "&Pomoc", IDC_BUTTON_HELP, 2, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&Nastêpna Strona", IDC_BUTTON_NEXT, 137, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Zapisz wszystkie informacje...", IDC_BUTTON_SAVE_INFO, 201, 261, 110, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Wyjœcie", IDC_BUTTON_EXIT, 323, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
END
IDD_SYSTEM_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 190
@ -72,10 +72,16 @@ BEGIN
END
IDD_INPUT_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 190
IDD_INPUT_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "DirectInput Devices", -1, 10, 10, 352, 80
CONTROL "", IDC_LIST_DEVICE, "SysListView32", LVS_REPORT | WS_CHILD | WS_BORDER | WS_TABSTOP, 20, 20, 332, 60
GROUPBOX "Input Devices", -1, 10, 100, 352, 60
CONTROL "", IDC_TREE_PORT, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 20, 110, 332, 40, 0x00000200
GROUPBOX "Information", -1, 10, 170, 352, 50
EDITTEXT IDC_RICH_INFO, 20, 180, 332, 30, WS_DISABLED | WS_TABSTOP
END
IDD_NETWORK_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 190
@ -105,4 +111,16 @@ BEGIN
IDS_FORMAT_UNIPROC "%s (%u CPU)"
IDS_FORMAT_MPPROC "%s (%u CPUs)"
IDS_VERSION_UNKNOWN "Unknown Version"
IDS_DEVICE_STATUS_ATTACHED "Connected"
IDS_DEVICE_STATUS_MISSING "Disconnected"
IDS_DEVICE_STATUS_UNKNOWN "Unknown"
IDS_DEVICE_NAME "Device name"
IDS_DEVICE_STATUS "Status"
IDS_DEVICE_CONTROLLER "Controller ID"
IDS_DEVICE_MANUFACTURER "Manufacturer ID"
IDS_DEVICE_PRODUCT "Product ID"
IDS_DEVICE_FORCEFEEDBACK "Force Feedback-Driver"
IDS_NOT_APPLICABLE "Not applicable"
IDS_OPTION_YES "Yes"
END

View file

@ -1,17 +1,17 @@
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
IDD_MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 378, 220
IDD_MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 378, 280
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
CAPTION "Ñðåäñòâî äèàãíîñòèêè ReactX"
FONT 8, "MS Shell Dlg"
BEGIN
CONTROL "Tab1",IDC_TAB_CONTROL,"SysTabControl32",WS_TABSTOP,2,2,374,195
PUSHBUTTON "&Ñïðàâêà", IDC_BUTTON_HELP, 2, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&Ñëåäóþùàÿ ñòðàíèöà", IDC_BUTTON_NEXT, 101, 201, 94, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "Ñ&îõðàíèòü âñþ èíôîðìàöèþ...", IDC_BUTTON_SAVE_INFO, 199, 201, 120, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Âûõîä", IDC_BUTTON_EXIT, 323, 201, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
CONTROL "Tab1",IDC_TAB_CONTROL,"SysTabControl32",WS_TABSTOP,2,2,374,250
PUSHBUTTON "&Ñïðàâêà", IDC_BUTTON_HELP, 2, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
DEFPUSHBUTTON "&Ñëåäóþùàÿ ñòðàíèöà", IDC_BUTTON_NEXT, 101, 261, 94, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "Ñ&îõðàíèòü âñþ èíôîðìàöèþ...", IDC_BUTTON_SAVE_INFO, 199, 261, 120, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
PUSHBUTTON "&Âûõîä", IDC_BUTTON_EXIT, 323, 261, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
END
IDD_SYSTEM_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 190
@ -65,10 +65,16 @@ BEGIN
END
IDD_INPUT_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 190
IDD_INPUT_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 220
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
FONT 8, "MS Shell Dlg"
BEGIN
GROUPBOX "DirectInput Devices", -1, 10, 10, 352, 80
CONTROL "", IDC_LIST_DEVICE, "SysListView32", LVS_REPORT | WS_CHILD | WS_BORDER | WS_TABSTOP, 20, 20, 332, 60
GROUPBOX "Input Devices", -1, 10, 100, 352, 60
CONTROL "", IDC_TREE_PORT, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 20, 110, 332, 40, 0x00000200
GROUPBOX "Information", -1, 10, 170, 352, 50
EDITTEXT IDC_RICH_INFO, 20, 180, 332, 30, WS_DISABLED | WS_TABSTOP
END
IDD_NETWORK_DIALOG DIALOGEX DISCARDABLE 0, 0, 362, 190
@ -98,4 +104,16 @@ BEGIN
IDS_FORMAT_UNIPROC "%s (%u ÖÏ)"
IDS_FORMAT_MPPROC "%s (%u ÖÏ)"
IDS_VERSION_UNKNOWN "Íåèçâåñòíàÿ âåðñèÿ"
IDS_DEVICE_STATUS_ATTACHED "Connected"
IDS_DEVICE_STATUS_MISSING "Disconnected"
IDS_DEVICE_STATUS_UNKNOWN "Unknown"
IDS_DEVICE_NAME "Device name"
IDS_DEVICE_STATUS "Status"
IDS_DEVICE_CONTROLLER "Controller ID"
IDS_DEVICE_MANUFACTURER "Manufacturer ID"
IDS_DEVICE_PRODUCT "Product ID"
IDS_DEVICE_FORCEFEEDBACK "Force Feedback-Driver"
IDS_NOT_APPLICABLE "Not applicable"
IDS_OPTION_YES "Yes"
END

View file

@ -1,9 +1,15 @@
#ifndef PRECOMP_H__
#define PRECOMP_H__
#define DIRECTINPUT_VERSION 0x0800
#include <stdio.h>
#include <windows.h>
#include <setupapi.h>
#include <devguid.h>
#include <commctrl.h>
#include <dinput.h>
#include "resource.h"
typedef struct
@ -14,7 +20,6 @@ typedef struct
/* globals */
extern HINSTANCE hInst;

View file

@ -19,6 +19,8 @@
#define IDC_BUTTON_SAVE_INFO 1003
#define IDC_BUTTON_EXIT 1004
/* system dialog constants */
#define IDC_STATIC_TIME 2000
#define IDC_STATIC_COMPUTER 2001
#define IDC_STATIC_OS 2002
@ -32,6 +34,12 @@
#define IDC_STATIC_VERSION 2010
/* DirectInput dialog constants */
#define IDC_LIST_DEVICE 6000
#define IDC_TREE_PORT 6001
#define IDC_RICH_INFO 6002
/* string resource constants */
#define IDS_MAIN_DIALOG 10000
#define IDS_SYSTEM_DIALOG 10001
@ -46,6 +54,17 @@
#define IDS_FORMAT_UNIPROC 10010
#define IDS_FORMAT_MPPROC 10011
#define IDS_VERSION_UNKNOWN 10012
#define IDS_DEVICE_STATUS_ATTACHED 10013
#define IDS_DEVICE_STATUS_MISSING 10014
#define IDS_DEVICE_STATUS_UNKNOWN 10015
#define IDS_DEVICE_NAME 10016
#define IDS_DEVICE_STATUS 10017
#define IDS_DEVICE_CONTROLLER 10018
#define IDS_DEVICE_MANUFACTURER 10019
#define IDS_DEVICE_PRODUCT 10020
#define IDS_DEVICE_FORCEFEEDBACK 10021
#define IDS_NOT_APPLICABLE 10100
#define IDS_OPTION_YES 10101
/* icon resource constants */
#define IDI_APPICON 20000