-replace the ListView in swappage dialog with a ListBox

-fix some minor issues

svn path=/trunk/; revision=27980
This commit is contained in:
Christoph von Wittich 2007-07-28 22:34:42 +00:00
parent d6bbe9b6e8
commit ff42fce079
10 changed files with 28 additions and 71 deletions

View file

@ -185,9 +185,7 @@ FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN BEGIN
LTEXT "Laufwerk [Bezeichnung]", IDC_STATIC, 12, 5, 96, 9 LTEXT "Laufwerk [Bezeichnung]", IDC_STATIC, 12, 5, 96, 9
LTEXT "Auslagerungsdatei (MB)", IDC_STATIC, 115, 5, 96, 9 LTEXT "Auslagerungsdatei (MB)", IDC_STATIC, 115, 5, 96, 9
CONTROL "", IDC_PAGEFILELIST, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP, LISTBOX IDC_PAGEFILELIST, 10, 16, 204, 52, LBS_NOTIFY | LBS_USETABSTOPS
10, 16, 204, 52, WS_EX_CLIENTEDGE
GROUPBOX "Größe der Auslagerungsdatei für das gewählte Laufwerk", IDC_DRIVEGROUP, 10, 70, 204, 104 GROUPBOX "Größe der Auslagerungsdatei für das gewählte Laufwerk", IDC_DRIVEGROUP, 10, 70, 204, 104
LTEXT "Laufwerk:", IDC_STATIC, 20, 80, 40, 8 LTEXT "Laufwerk:", IDC_STATIC, 20, 80, 40, 8
LTEXT "", IDC_DRIVE, 105, 81, 100, 9 LTEXT "", IDC_DRIVE, 105, 81, 100, 9

View file

@ -177,9 +177,7 @@ FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN BEGIN
LTEXT "Drive [Volume Label]", IDC_STATIC, 12, 5, 96, 9 LTEXT "Drive [Volume Label]", IDC_STATIC, 12, 5, 96, 9
LTEXT "Paging File Size (MB)", IDC_STATIC, 115, 5, 96, 9 LTEXT "Paging File Size (MB)", IDC_STATIC, 115, 5, 96, 9
CONTROL "", IDC_PAGEFILELIST, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP, LISTBOX IDC_PAGEFILELIST, 10, 16, 204, 52, LBS_NOTIFY | LBS_USETABSTOPS
10, 16, 204, 52, WS_EX_CLIENTEDGE
GROUPBOX "Paging file size for selected drive", IDC_DRIVEGROUP, 10, 70, 204, 104 GROUPBOX "Paging file size for selected drive", IDC_DRIVEGROUP, 10, 70, 204, 104
LTEXT "Drive:", IDC_STATIC, 20, 80, 20, 8 LTEXT "Drive:", IDC_STATIC, 20, 80, 20, 8
LTEXT "", IDC_DRIVE, 88, 81, 100, 9 LTEXT "", IDC_DRIVE, 88, 81, 100, 9

View file

@ -181,10 +181,7 @@ FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN BEGIN
LTEXT "Lecteur [Nom de Volume]", IDC_STATIC, 12, 5, 96, 9 LTEXT "Lecteur [Nom de Volume]", IDC_STATIC, 12, 5, 96, 9
LTEXT "Taille de fichier swap (MB)", IDC_STATIC, 115, 5, 96, 9 LTEXT "Taille de fichier swap (MB)", IDC_STATIC, 115, 5, 96, 9
CONTROL "", IDC_PAGEFILELIST, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP, LISTBOX IDC_PAGEFILELIST, 10, 16, 204, 52, LBS_NOTIFY | LBS_USETABSTOPS GROUPBOX "Taille de fichier swap pour le disque sélectionné", IDC_DRIVEGROUP, 10, 70, 204, 104
10, 16, 204, 52, WS_EX_CLIENTEDGE
GROUPBOX "Taille de fichier swap pour le disque sélectionné", IDC_DRIVEGROUP, 10, 70, 204, 104
LTEXT "Lecteur :", IDC_STATIC, 20, 80, 30, 8 LTEXT "Lecteur :", IDC_STATIC, 20, 80, 30, 8
LTEXT "", IDC_DRIVE, 88, 81, 100, 9 LTEXT "", IDC_DRIVE, 88, 81, 100, 9
LTEXT "Espace disponible :", IDC_STATIC, 20, 92, 66, 9 LTEXT "Espace disponible :", IDC_STATIC, 20, 92, 66, 9

View file

@ -177,10 +177,7 @@ FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN BEGIN
LTEXT "Drive [Label Volume]", IDC_STATIC, 12, 5, 96, 9 LTEXT "Drive [Label Volume]", IDC_STATIC, 12, 5, 96, 9
LTEXT "Ukuran File Paging (MB)", IDC_STATIC, 115, 5, 96, 9 LTEXT "Ukuran File Paging (MB)", IDC_STATIC, 115, 5, 96, 9
CONTROL "", IDC_PAGEFILELIST, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP, LISTBOX IDC_PAGEFILELIST, 10, 16, 204, 52, LBS_NOTIFY | LBS_USETABSTOPS GROUPBOX "Ukuran file paging untuk drive yang dipilih", IDC_DRIVEGROUP, 10, 70, 204, 104
10, 16, 204, 52, WS_EX_CLIENTEDGE
GROUPBOX "Ukuran file paging untuk drive yang dipilih", IDC_DRIVEGROUP, 10, 70, 204, 104
LTEXT "Drive:", IDC_STATIC, 20, 80, 20, 8 LTEXT "Drive:", IDC_STATIC, 20, 80, 20, 8
LTEXT "", IDC_DRIVE, 88, 81, 100, 9 LTEXT "", IDC_DRIVE, 88, 81, 100, 9
LTEXT "Ruang tersedia:", IDC_STATIC, 20, 92, 56, 9 LTEXT "Ruang tersedia:", IDC_STATIC, 20, 92, 56, 9

View file

@ -177,9 +177,7 @@ FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN BEGIN
LTEXT "Disco [Etichetta Volume]", IDC_STATIC, 12, 5, 96, 9 LTEXT "Disco [Etichetta Volume]", IDC_STATIC, 12, 5, 96, 9
LTEXT "Dimensione del file di paginazione (MB)", IDC_STATIC, 115, 5, 96, 9 LTEXT "Dimensione del file di paginazione (MB)", IDC_STATIC, 115, 5, 96, 9
CONTROL "", IDC_PAGEFILELIST, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP, LISTBOX IDC_PAGEFILELIST, 10, 16, 204, 52, LBS_NOTIFY | LBS_USETABSTOPS
10, 16, 204, 52, WS_EX_CLIENTEDGE
GROUPBOX "Dimensione del file di paginazione per il disco selezionato", IDC_DRIVEGROUP, 10, 70, 204, 104 GROUPBOX "Dimensione del file di paginazione per il disco selezionato", IDC_DRIVEGROUP, 10, 70, 204, 104
LTEXT "Disco:", IDC_STATIC, 20, 80, 20, 8 LTEXT "Disco:", IDC_STATIC, 20, 80, 20, 8
LTEXT "", IDC_DRIVE, 88, 81, 100, 9 LTEXT "", IDC_DRIVE, 88, 81, 100, 9

View file

@ -183,10 +183,7 @@ FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN BEGIN
LTEXT "&Dysk [Etykieta woluminu]", IDC_STATIC, 12, 5, 96, 9 LTEXT "&Dysk [Etykieta woluminu]", IDC_STATIC, 12, 5, 96, 9
LTEXT "Rozmiar pliku stronicowania (MB)", IDC_STATIC, 115, 5, 96, 9 LTEXT "Rozmiar pliku stronicowania (MB)", IDC_STATIC, 115, 5, 96, 9
CONTROL "", IDC_PAGEFILELIST, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP, LISTBOX IDC_PAGEFILELIST, 10, 16, 204, 52, LBS_NOTIFY | LBS_USETABSTOPS GROUPBOX "Rozmiar pliku stronicowania dla wybranego dysku", IDC_DRIVEGROUP, 10, 70, 204, 104
10, 16, 204, 52, WS_EX_CLIENTEDGE
GROUPBOX "Rozmiar pliku stronicowania dla wybranego dysku", IDC_DRIVEGROUP, 10, 70, 204, 104
LTEXT "Dysk:", IDC_STATIC, 20, 80, 20, 8 LTEXT "Dysk:", IDC_STATIC, 20, 80, 20, 8
LTEXT "", IDC_DRIVE, 88, 81, 100, 9 LTEXT "", IDC_DRIVE, 88, 81, 100, 9
LTEXT "Dostępne miejsce:", IDC_STATIC, 20, 92, 56, 9 LTEXT "Dostępne miejsce:", IDC_STATIC, 20, 92, 56, 9

View file

@ -177,9 +177,7 @@ FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN BEGIN
LTEXT "Äèñê [ìåòêà òîìà]", IDC_STATIC, 12, 5, 96, 9 LTEXT "Äèñê [ìåòêà òîìà]", IDC_STATIC, 12, 5, 96, 9
LTEXT "Ôàéë ïîäêà÷êè (MB)", IDC_STATIC, 115, 5, 96, 9 LTEXT "Ôàéë ïîäêà÷êè (MB)", IDC_STATIC, 115, 5, 96, 9
CONTROL "", IDC_PAGEFILELIST, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP, LISTBOX IDC_PAGEFILELIST, 10, 16, 204, 52, LBS_NOTIFY | LBS_USETABSTOPS
10, 16, 204, 52, WS_EX_CLIENTEDGE
GROUPBOX "Ðàçìåð ôàéëà ïîäêà÷êè äëÿ âûáðàííîãî äèñêà", IDC_DRIVEGROUP, 10, 70, 204, 104 GROUPBOX "Ðàçìåð ôàéëà ïîäêà÷êè äëÿ âûáðàííîãî äèñêà", IDC_DRIVEGROUP, 10, 70, 204, 104
LTEXT "Äèñê:", IDC_STATIC, 20, 80, 20, 8 LTEXT "Äèñê:", IDC_STATIC, 20, 80, 20, 8
LTEXT "", IDC_DRIVE, 88, 81, 100, 9 LTEXT "", IDC_DRIVE, 88, 81, 100, 9

View file

@ -185,9 +185,7 @@ FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN BEGIN
LTEXT "Äèñê [ì³òêà òîìó]", IDC_STATIC, 12, 5, 96, 9 LTEXT "Äèñê [ì³òêà òîìó]", IDC_STATIC, 12, 5, 96, 9
LTEXT "Ôàéë äîâàíòàæåííÿ (ÌÁ)", IDC_STATIC, 115, 5, 96, 9 LTEXT "Ôàéë äîâàíòàæåííÿ (ÌÁ)", IDC_STATIC, 115, 5, 96, 9
CONTROL "", IDC_PAGEFILELIST, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | WS_TABSTOP, LISTBOX IDC_PAGEFILELIST, 10, 16, 204, 52, LBS_NOTIFY | LBS_USETABSTOPS
10, 16, 204, 52, WS_EX_CLIENTEDGE
GROUPBOX "Ðîçì³ð ôàéëó äîâàíòàæåííÿ äëÿ âèáðàíîãî äèñêà", IDC_DRIVEGROUP, 10, 70, 204, 104 GROUPBOX "Ðîçì³ð ôàéëó äîâàíòàæåííÿ äëÿ âèáðàíîãî äèñêà", IDC_DRIVEGROUP, 10, 70, 204, 104
LTEXT "Äèñê:", IDC_STATIC, 20, 80, 20, 8 LTEXT "Äèñê:", IDC_STATIC, 20, 80, 20, 8
LTEXT "", IDC_DRIVE, 88, 81, 100, 9 LTEXT "", IDC_DRIVE, 88, 81, 100, 9

View file

@ -58,7 +58,7 @@ typedef struct _PAGEFILE
typedef struct _VIRTMEM typedef struct _VIRTMEM
{ {
HWND hSelf; HWND hSelf;
HWND hListView; HWND hListBox;
LPTSTR szPagingFiles; LPTSTR szPagingFiles;
TCHAR szDrive[10]; TCHAR szDrive[10];
INT Count; INT Count;

View file

@ -89,8 +89,9 @@ ParseMemSettings(PVIRTMEM pVirtMem)
{ {
TCHAR szDrives[1024]; // all drives TCHAR szDrives[1024]; // all drives
LPTSTR DrivePtr = szDrives; LPTSTR DrivePtr = szDrives;
TCHAR szDrive[MAX_PATH]; // single drive TCHAR szDrive[4]; // single drive
TCHAR szVolume[MAX_PATH]; TCHAR szVolume[MAX_PATH];
TCHAR *szDisplayString;
INT InitialSize = 0; INT InitialSize = 0;
INT MaxSize = 0; INT MaxSize = 0;
INT DriveLen; INT DriveLen;
@ -99,9 +100,12 @@ ParseMemSettings(PVIRTMEM pVirtMem)
DriveLen = GetLogicalDriveStrings(1023, DriveLen = GetLogicalDriveStrings(1023,
szDrives); szDrives);
szDisplayString = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, (MAX_PATH * 2 + 70) * sizeof(TCHAR));
if (szDisplayString == NULL)
return;
while (DriveLen != 0) while (DriveLen != 0)
{ {
LVITEM Item;
INT Len; INT Len;
Len = lstrlen(DrivePtr) + 1; Len = lstrlen(DrivePtr) + 1;
@ -134,12 +138,8 @@ ParseMemSettings(PVIRTMEM pVirtMem)
lstrcpy(pVirtMem->Pagefile[PgCnt].szDrive, szDrive); lstrcpy(pVirtMem->Pagefile[PgCnt].szDrive, szDrive);
} }
/* fill out the listview */ _tcscpy(szDisplayString, szDrive);
ZeroMemory(&Item, sizeof(Item)); _tcscat(szDisplayString, _T("\t"));
Item.mask = LVIF_TEXT;
Item.iItem = ListView_GetItemCount(pVirtMem->hListView);
Item.pszText = szDrive;
(void)ListView_InsertItem(pVirtMem->hListView, &Item);
/* set a volume label if there is one */ /* set a volume label if there is one */
if (GetVolumeInformation(DrivePtr, if (GetVolumeInformation(DrivePtr,
@ -154,12 +154,8 @@ ParseMemSettings(PVIRTMEM pVirtMem)
if (szVolume[0] != _T('\0')) if (szVolume[0] != _T('\0'))
{ {
TCHAR szVol[MAX_PATH + 2]; TCHAR szVol[MAX_PATH + 2];
_stprintf(szVol, _T("[%s]"), szVolume); _stprintf(szVol, _T("[%s]"), szVolume);
_tcscat(szDisplayString, szVol);
Item.iSubItem = 1;
Item.pszText = szVol;
(void)ListView_InsertItem(pVirtMem->hListView, &Item);
} }
} }
@ -168,18 +164,19 @@ ParseMemSettings(PVIRTMEM pVirtMem)
TCHAR szSize[64]; TCHAR szSize[64];
_stprintf(szSize, _T("%i - %i"), InitialSize, MaxSize); _stprintf(szSize, _T("%i - %i"), InitialSize, MaxSize);
_tcscat(szDisplayString, _T("\t"));
Item.iSubItem = 2; _tcscat(szDisplayString, szSize);
Item.pszText = szSize;
(void)ListView_InsertItem(pVirtMem->hListView, &Item);
} }
SendMessage(pVirtMem->hListBox, LB_ADDSTRING, (WPARAM)0, (LPARAM)szDisplayString);
PgCnt++; PgCnt++;
} }
DrivePtr += Len; DrivePtr += Len;
} }
SendMessage(pVirtMem->hListBox, LB_SETCURSEL, (WPARAM)0, (LPARAM)0);
HeapFree(GetProcessHeap(), 0, szDisplayString);
pVirtMem->Count = PgCnt; pVirtMem->Count = PgCnt;
} }
@ -245,31 +242,10 @@ WritePageFileSettings(PVIRTMEM pVirtMem)
static VOID static VOID
SetListViewColumns(HWND hwndListView) SetListBoxColumns(HWND hwndListBox)
{ {
RECT rect; INT tabs[2] = {30, 170};
LV_COLUMN lvc; SendMessage(hwndListBox, LB_SETTABSTOPS, (WPARAM)2, (LPARAM)(LPINT) &tabs[0]);
GetClientRect(hwndListView, &rect);
(void)ListView_SetExtendedListViewStyle(hwndListView,
LVS_EX_FULLROWSELECT);
ZeroMemory(&lvc, sizeof(lvc));
lvc.mask = LVCF_SUBITEM | LVCF_WIDTH | LVCF_FMT;
lvc.fmt = LVCFMT_LEFT;
lvc.cx = (INT)((rect.right - rect.left) * 0.1);
lvc.iSubItem = 0;
(void)ListView_InsertColumn(hwndListView, 0, &lvc);
lvc.cx = (INT)((rect.right - rect.left) * 0.3);
lvc.iSubItem = 1;
(void)ListView_InsertColumn(hwndListView, 1, &lvc);
lvc.cx = (INT)((rect.right - rect.left) * 0.6);
lvc.iSubItem = 2;
(void)ListView_InsertColumn(hwndListView, 2, &lvc);
} }
@ -481,10 +457,10 @@ OnInitDialog(HWND hwnd)
} }
pVirtMem->hSelf = hwnd; pVirtMem->hSelf = hwnd;
pVirtMem->hListView = GetDlgItem(hwnd, IDC_PAGEFILELIST); pVirtMem->hListBox = GetDlgItem(hwnd, IDC_PAGEFILELIST);
pVirtMem->bSave = FALSE; pVirtMem->bSave = FALSE;
SetListViewColumns(pVirtMem->hListView); SetListBoxColumns(pVirtMem->hListBox);
/* Load the pagefile systems from the reg */ /* Load the pagefile systems from the reg */
if (ReadPageFileSettings(pVirtMem)) if (ReadPageFileSettings(pVirtMem))