Часто требуется определить, существует ли окно для некоторого дескриптора. На этот вопрос отвечает функция IsWindow:
1 | BOOL lsWindow( HWND hwnd); |
Если окно с дескриптором hwnd существует, функция возвращает ненулевое значение, иначе — NULL.
Если нужно определить, имеет ли заданное окно фокус ввода, существует функция IsWindowEnabled:
1 | BOOL lsWindowEnabled( HWND hwnd); |
Если окно hwnd активно, функция возвращает ненулевое значение, иначе — NULL.
Для передачи или отнятия фокуса ввода у окна существует функция EnableWindow:
1 | BOOL EnableWindow( HWND hwnd, BOOL bEnable); |
При bEnable=TRUE фокус ввода передают окну hwnd, иначе — блокируют это окно.
Если окно ранее было неактивно, возвращаемое значение отлично от нуля. Если окно было активно, возвращаемое значение — NULL.
Фокус ввода окну hwnd передают с помощью функции SetFocus:
1 | SetFocus(hwnd); |
Следующая функция возвращает ненулевое значение, если окно hwnd свернуто в пиктограмму:
1 | BOOL lslconic(HWND hwnd); |
Функция FindWindow у операционной системы запрашивает дескриптор окна (не дочернего) класса lpClassName с заголовком lpWindowName. Эта функция объявлена следующим образом:
1 | HWND FindWindow( LPCTSTR lpClassName, LPCTSTR lpWindowName); |
Если lpWindowName = NULL, то заголовок искомого окна может быть любым. Если lpClassName = NULL, искомое окно может принадлежать к любому классу. Рекомендуется указывать данные как можно более подробнее. Если такое окно найдено, функция возвращает его дескриптор, иначе — NULL.
0 Комментарии。