Перебор элементов окна

Общие вопросы, не зависящие от языка реализации.

Модераторы: Duncon, Hawk, Romeo, Eugie

Ответить
ikol
Сообщения: 16
Зарегистрирован: 15 апр 2005, 23:49
Откуда: Калининград

16 июл 2005, 00:54

Народ, подскажите пожалуйста как перебрать элементы окна(чужого окна), найти нужные(нужны textbox'ы ) и очистить их. Полагаю надо через API (может через FindWindowEx()), но я не знаю назначения её параметров. :cry: Подскажите кто знает.
Eugie
Сообщения: 707
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

18 июл 2005, 11:58

Примерно так:

Код: Выделить всё

#define CN_BUFLEN 50
#define CLASSNAME _TEXT("EDIT")

BOOL CALLBACK ClearProc(
  HWND hwnd,      // handle to child window
  LPARAM lParam   // application-defined value (not used now)
)
{
  TCHAR class_name[CLASSNAMEBUFLEN];
  if (0 != GetClassName(hWnd, class_name, sizeof(class_name))
    if (!lstrcmpi(class_name, CLASSNAME))
      SendMessage(hWnd, WM_SETTEXT, 0, LPARAM(_TEXT("")));
  return TRUE;
}

void ClearEditboxes(HWND hParent)
{
  EnumChildWindows(hParent, ClearProc, 0);
}
ikol
Сообщения: 16
Зарегистрирован: 15 апр 2005, 23:49
Откуда: Калининград

18 июл 2005, 17:25

Спасибо, все получилось :lol:
Ответить