edit.bottom = rcClient.bottom - 2;
infoPtr->Self = hwnd;
- infoPtr->Enabled = FALSE;
+ infoPtr->Enabled = TRUE;
infoPtr->Notify = lpCreate->hwndParent;
for (i = 0; i < 4; i++) {
part->OrigProc = (WNDPROC)
SetWindowLongPtrW (part->EditHwnd, GWLP_WNDPROC,
(DWORD_PTR)IPADDRESS_SubclassProc);
+ EnableWindow(part->EditHwnd, infoPtr->Enabled);
}
return 0;
WORD wCtrl = HIWORD(GetKeyState(VK_CONTROL));
BOOL bResult = FALSE;
+ TRACE("nItem=%d, wShift=%d, wCtrl=%d\n", nItem, wShift, wCtrl);
if ((nItem >= 0) && (nItem < infoPtr->nItemCount))
{
if (infoPtr->dwStyle & LVS_SINGLESEL)
}
else if (wCtrl)
{
+ LVITEMW lvItem;
+ lvItem.state = ~LISTVIEW_GetItemState(infoPtr, nItem, LVIS_SELECTED);
+ lvItem.stateMask = LVIS_SELECTED;
+ LISTVIEW_SetItemState(infoPtr, nItem, &lvItem);
+
+ if (lvItem.state & LVIS_SELECTED)
+ infoPtr->nSelectionMark = nItem;
+
bResult = LISTVIEW_SetItemFocus(infoPtr, nItem);
}
else
switch (nVirtualKey)
{
+ case VK_SPACE:
+ nItem = infoPtr->nFocusedItem;
+ break;
+
case VK_RETURN:
if ((infoPtr->nItemCount > 0) && (infoPtr->nFocusedItem != -1))
{
break;
}
- if ((nItem != -1) && (nItem != infoPtr->nFocusedItem))
+ if ((nItem != -1) && (nItem != infoPtr->nFocusedItem || nVirtualKey == VK_SPACE))
LISTVIEW_KeySelection(infoPtr, nItem);
return 0;
static BOOL PROPSHEET_AddPage(HWND hwndDlg,
HPROPSHEETPAGE hpage)
{
+ PropPageInfo * ppi;
PropSheetInfo * psInfo = (PropSheetInfo*) GetPropW(hwndDlg,
PropSheetInfoStr);
HWND hwndTabControl = GetDlgItem(hwndDlg, IDC_TABCONTROL);
/*
* Allocate and fill in a new PropPageInfo entry.
*/
- psInfo->proppage = (PropPageInfo*) ReAlloc(psInfo->proppage,
- sizeof(PropPageInfo) *
- (psInfo->nPages + 1));
+ ppi = (PropPageInfo*) ReAlloc(psInfo->proppage,
+ sizeof(PropPageInfo) *
+ (psInfo->nPages + 1));
+ if (!ppi)
+ return FALSE;
+
+ psInfo->proppage = ppi;
if (!PROPSHEET_CollectPageInfo(ppsp, psInfo, psInfo->nPages))
return FALSE;