Рейтинг:
2
Jochen Arndt
Видеть Класс CIPAddressCtrl[^]. Класс обеспечивает IsBlank()
метод проверки пустоты всех полей и GetAddress () возвращает количество непустых полей.
Member 13089825
спасибо за ваш ответ.
когда я жужжал под этой штукой
CWnd* pwndCtrl = GetFocus();
int ctrl_ID = pwndCtrl- & gt;GetDlgCtrlID();
if (! ((CIPAddressCtrl*) pwndCtrl)- & gt;IsBlank()) {
AfxMessageBox(L " не пустой");
}
его всегда будет внутри (печать не пустая)
не могли бы вы посоветовать мне, как показать 0.0.0.0 на cedit
Jochen Arndt
Есть ли у вас элемент управления IP-адресом или элемент управления редактированием?
Откуда вы вызываете вышеприведенный код?
GetFocus()
возвращает элемент управления, который имеет фокус. Это может быть любой элемент управления, а не элемент управления IP-адресом.
Если вы вызываете это из диалогового окна, содержащего этот элемент управления, используйте
CIPAddressCtrl* pCtrl = (CIPAddressCtrl*)GetDlgItem(ID_OF_IP_ADDRD_CTRL);
if (pCtrl->IsBalnk())
и замените идентификатор на тот, который используется в вашем приложении.
Или если у вас есть переменная-член для элемента управления, используйте ее.
Member 13089825
Я использую элемент управления редактированием
когда я сделал это ниже
CIPAddressCtrl* pCtrl = (CIPAddressCtrl*)GetDlgItem(IDC_EDIT_IP_RANGE_START);
if (pCtrl - > IsBlank ()) / / ненулевое значение, если все поля управления IP-адресом пусты; в противном случае 0
{
AfxMessageBox(L " пустой");
}
он приходит как пустой после ввода значений как 0.0.0.0
Jochen Arndt
Если у вас есть элемент управления CEdit, вы не можете привести его к CIPAddressCtrl.
Я предположил, что CIPAddressCtrl beacuse предмет вашего вопроса - "контроль Ip-адресов".
Если у вас есть элемент управления CEdit с маской ввода, вы должны реализовать проверку самостоятельно (например, с помощью GetWindowText() и проверки содержимого).
ЗАПИСКА:
При использовании GetDlgItem () приведите к точному типу элемента управления, на который ссылается идентификатор. Все остальное не будет работать и может привести к сбою вашего приложения.
Member 13089825
всякий раз, когда он вводится как 0.0.0.0, он считается пустым (пустым) и не отображается на элементе управления редактированием.
(в соответствии с вашим предложением я проверил пустое состояние для каждого элемента управления редактированием.
какой бы вход ни содержал 0.0.0.0, он считается пустым.
не могли бы вы подсказать, как показать 0.0.0.0 на элементе управления редактированием