Ресурсы. Файл описания ресурса, страница 14

SetWindowLong и CallWindowProc для создания подкласса элемента управления.

 

Синтаксис

HWND GetDlgItem( HWND hwndDlg, int idControl )

 

Параметры

 

hwndDlg

HWND. Дескриптор диалогового окна, содержащего элемент управления.

 

idControl

int. Идентификатор элемента управления, который должен быть выбран.

 

Возвращаемое значение

HWND. В случае успешного выполнения возвращаемое значение — дескриптор окна данного элемента управления; в ином случае возвращаемое значение — NULL (это указывает, что дескриптор диалогового окна является недопустимым или элемент управления не существует).

 

Включаемый файл

winuser.h

 

См. также

CallWindowProc, GetDIgCtrllD, SetWindowLong

 

Пример

См. пример для функции GetDIgCtrllD.

 

GetDlgltemlnt                                      • Windows 98   •  Windows 2000

 

Описание

Функция GetDlgltemlnt представляет собой сокращенный метод выборки целочисленного значения из элемента управления в диалоговом окне. Эта функция эквивалентна использованию сообщения WM_GETTEXT для выборки символьной строки из элемента управления и последующему преобразованию этой строки в целое число с использованием функции atoi библиотеки С. Текстовые символы в элементе управления редактированием преобразуются в целочисленное значение, начиная с самого левого символа. При появлении первого нецифрового символа считывание символов прекращается.

 

Синтаксис

UINT GetDlgItemInt( HWND hDlg, int nIDDlgltem, BOOL* IpTranslated, BOOL bSigned )

 

Параметры

 

hDlg

HWND. Дескриптор диалогового окна.

 

nIDDIgltem

int. Идентификатор элемента управления редактированием.

 

IpTranslated

BOOL*. Указатель на переменную типа BOOL. Значение этой переменной устанавливается в TRUE, если содержимое элемента управления редактированием было правильно преобразовано в целое число. Эта переменная устанавливается в FALSE, если возникает ошибка.

 

bSigned

BOOL. TRUE, если выбираемое значение должно представлять собой целое числом со знаком (int). FALSE, если это — целое число без знака (UINT).

 

Возвращаемое значение

UINT. Целочисленное значение, которое соответствует тексту в элементе управления редактированием. Поскольку 0 — допустимое возвращаемое значение, для обнаружения ошибок должен применяться параметр IpTranslated. Если значение bSigned установлено в TRUE, приложение должно привести возвращаемое значение к формату целого числа со знаком (int).

 

Включаемый файл

winuser.h

 

См. также

SetDlgltemlnt, GetDlgltemText, SetDlgltemText

 

Соответствующие сообщения

WM_GETTEXT

Пример

См. пример для функции DialogBox.

GetDlgltemText                                    • Windows 98   • Windows 2000

Описание

Функция GetDlgltemText выбирает заголовок или текст, связанный с элементом управления в диалоговом окне.

Синтаксис

UINT GetDIgItemText( HWND hwndDIg, int idControl, LPTSTR Ipsz, int cchMax )

Параметры

hwndDIg

HWND. Дескриптор диалогового окна.

idControl

int. Идентификатор элемента управления.

Ipsz

LPTSTR. Указатель на буфер, в который должен быть записан заголовок или текст.

cchMax

int. Максимальная длина строки (в символах), которая должна быть скопирована в буфер, указанный параметром Ipsz. Если длина строки превышает этот предел, строка усекается.

Возвращаемое значение

UINT. В случае успешного выполнения возвращаемое значение указывает число символов, скопированных в буфер, без заключительного нулевого символа; в ином случае возвращаемое значение — 0.

Включаемый файл

winuser.h

См. также

GetDlgltemlnt, SetDlgltemText, SetDlgltemlnt

Соответствующие сообщения

WM_GETTEXT

Пример

См. пример для функции DialogBox.

GetNextDlgGroupltem                           • Windows 98   *  Windows 2000

Описание

Функция GetNextDlgGroupltem ищет в группе элементов управления, размещенных в диалоговом окне, следующий (или предыдущий) дескриптор окна, которое в дальнейшем получит фокус ввода, если пользователь нажмет одну из клавиш со стрелкой. Первый элемент в группе должен иметь стиль WS_GROUP; все другие элементы управления в группе должны создаваться последовательно и не должны иметь стиль WS GROUP. В группу входят все следующие элементы управления вплоть до очередного элемента, имеющего стиль WS_GROUP.

Синтаксис

HWND GetNextDlgGroupItem( HWND hwndDIg, HWND hwndCtl, BOOL bPrevious )

Параметры

hwndDIg

HWND. Дескриптор диалогового окна.

hwndCtl

HWND. Дескриптор элемента управления, который должен быть использован в качестве отправной точки для поиска. Если этот параметр имеет значение NULL, функция использует последний (или первый) элемент управления в диалоговом окне в качестве отправной точки для поиска.

bPrevious

BOOL. Устанавливается в TRUE, если нужно найти предыдущий элемент управления в группе. Это — элемент, который получит фокус ввода, если пользователь нажмет клавишу со стрелкой влево или клавишу со стрелкой вниз. Устанавливается в FALSE, если нужно найти следующий элемент управления в группе. Это — элемент, который получит фокус ввода, если пользователь нажмет клавишу со стрелкой вправо или клавишу со стрелкой вверх.

 

Возвращаемое значение

HWND. Дескриптор следующего или предыдущего элемента управления диалогового окна в группе элементов управления.

 

Включаемый файл

winuser.h

 

См. также

GetDlgltem, GetNextDlgTabltem

 

Пример

В следующем примере (рис. 8.7) показано диалоговое окно с четырьмя флажками и кнопкой. При создании диалогового окна левый верхний флажок имеет фокус ввода. Функция диалогового окна обрабатывает сообщение WMJNITDIALOG и изменяет имена элементов управления: кнопки, имеющей фокус ввода, следующего элемента группы и следующего элемента в порядке перехода по клавише Tab.

 

Определение диалогового окна в файле GETNDGI.RC

TESTDIALOG   DIALOGEX      20,    20,    156,    68 STYLE   DS MODALFRAME    |   WS  POPUP    |   WS VISIBLE    |    WS_CAPTION    |   WS_SYSMENU CAPTION   "Test   Dialog" FONT   8,    "MS   Sans   Serif" BEGIN CONTROL               "", IDC CHECK1," Button " ,BS AUTOCHECKBOX    |    WS_GROUP    | WSJTABSTOP , 12 , 8 , 66 , 10 CONTROL               " " , IDC_CHECK2 , "Button" , BS_AUTOCHECKBOX ,12,23,67,10 CONTROL               "", IDC  CHECKS, "Button " , BS_AUTOCHECKBOX    |    WS_GR00P    I WS  TABSTOP,83,8,64,10 CONTROL               "",IDC  CHECK4,"Button",BS_AUTOCHECKBOX,83,23,66,10 PUSHBUTTON        "Done" , IDCANCEL, 52 , 47 , 50 , 14 ,WS_GROUP END