ientRect (hwnd, &rect) ;
Rectangle (hdc, 0, 0, rect.right, rect.bottom) ;
// Draw the "x" mark
if (GetWindowLong (hwnd, 0))
{
MoveToEx (hdc, 0, 0, NULL) ;
LineTo (hdc, rect.right, rect.bottom) ;
MoveToEx (hdc, 0, rect.bottom, NULL) ;
LineTo (hdc, rect.right, 0) ;
}
// Draw the "focus" rectangle
if (hwnd == GetFocus ())
{
rect.left += rect.right / 10 ;
rect.right -= rect.left ;
rect.top += rect.bottom / 10 ;
rect.bottom -= rect.top ;
SelectObject (hdc, GetStockObject (NULL_BRUSH)) ;
SelectObject (hdc, CreatePen (PS_DASH, 0, 0)) ;
Rectangle (hdc, rect.left, rect.top, rect.right, rect.bottom) ;
DeleteObject (SelectObject (hdc, GetStockObject (BLACK_PEN))) ;
}
EndPaint (hwnd, &ps) ;
return 0 ;
}
return DefWindowProc (hwnd, message, wParam, lParam) ;
}
滑鼠(三十四)
您应该能回忆起每一个子视窗有唯一的子视窗ID,该ID在呼叫CreateWindow建立视窗时定义。在CHECKER3中,此ID是矩形的x和y位置的组合。一个程式可以通过下面的呼叫来获得一个特定子视窗的子视窗ID:
idChild = GetWindowLong (hwndChild, GWL_ID) ;
下面的函式也有同样的功能:
idChild = GetDlgCtrlID (hwndChild) ;
正如函式名称所表示的,它主要用於对话方块和控制视窗。如果您知道父视窗的代号和子视窗ID,此函式也可以获得子视窗的代号:
hwndChild = GetDlgItem (hwndPa