Робимо першу форму Foxpro – ставимо Listbox
Отже, форму створено, має заголовок та назву. Тепер потрібно якось показувати в ній список людей, і щоб зі списку, клацнувши по потрібному рядку, можна було відкривати другу форму, для введення та зміни персональних даних цієї людини.
І ще потрібна кнопка, щоб форму закрити. Робити це хрестиком у куточку вікна – погано, його навіть блокують спеціально.
Список можна отримати кількома способами.
1.ListBox- найпростіший спосіб. По суті це просто меню, елементами якого є, в даному випадку, прізвища та імена людей. 2.ComboBox– складніший, але й досконаліший спосіб. Дозволяє не лише вибирати прізвища зі списку, а й проводити певні маніпуляції з даними. 3.Grid- найдосконаліший спосіб, іноді дозволяє замінити все інше введення. Але працювати з ним непросто, та й можливості його часто надмірні. Інакше двох попередніх способів просто не було б 4.Browse- Старий метод роботи з базою. Дозволяє працювати з таблицями безпосередньо. Зазвичай не рекомендують його застосовувати, але іноді може здорово виручити.
Нам поки що особливі вишукування не потрібні, і Лістбокс цілком підійде.
1. У вікні Form Control натискаємо кнопку “Listbox” 2. Ставимо покажчик миші в лівий верхній кут майбутнього листбоксу, натискаємо кнопку миші, і тягнемо її в нижній правий кут 3. Не захоплюємося – внизу потрібно залишити місце для кнопки закриття вікна 4. Відпускаємо кнопку миші, милуємося результатом

Але працювати без налаштування цей елемент, звичайно, не буде. Потрібно як мінімум вказати джерело даних для його заповнення. Це можна зробити руками, але швидше і простіше використовувати будівельник. Для цього в будь-якому місці листбоксу потрібноклацнути правою кнопкою миші, і з контекстного меню вибрати Builder

Перше вікно, яке відкриє Побудовник, найімовірніше, буде таким:

Вибирати тут особливо нема з чого, і, не соромлячись назвою, потрібно натиснути кнопку праворуч від Free Tables (вільні таблиці, що не входять до бази даних).
Внизу з'явиться список таблиць, яких у нас поки що дві, і обидві входять до бази даних. Нічого страшного, Фокс сам зрозуміє, що до чого варто вам тільки клацнути по таблиці.

Тепер краще, є з чим працювати. У лівому вікні спостерігаємо дві наші таблиці, вище за нього – назва бази. Вказівник дуже вдало стоїть на таблиці з прізвищами, а в середньому вікні відображається список полів цієї таблиці.
Не всі ці поля потрібно показувати на екрані, але все по ширині вікна і не помістяться. Тому обираємо чотири – прізвище, ім'я, по батькові та ідентифікатор. В принципі, ідентифікатор на екрані не потрібен, але нехай поки що буде.
Вибрані поля переносяться в праву частину, натиснувши кнопку із синім трикутником. Кнопка з подвійною стрілкою перенесе відразу всі поля. Тож можна натиснути на неї, а потім зворотною стрілкою дату народження прибрати.
Вийти має так

Тут видно, що відібрано чотири поля, що Data_ro щойно була прибрана з відібраних полів натисканням кнопки з трикутником вліво, і що порядок відібраних полів можна змінити, перетягнувши кнопку зі стрілками вгору-вниз.
Поки що все нормально, але натискати ОК не слід. Потрібно вибрати другу вкладку

Тут один важливий пункт, що вимагає контролю, – дозволити чи не дозволяти вибір з уточненням. Тобто, чи прокручувати список до прізвища Іванов, якщо натиснуто букву «І».
Третя вкладка цікавіша – тут ужевидно макет листбоксу. Тут можна змінити ширину колонок, перетягуючи праву межу, і можна приховати непотрібні колонки. Сенс цієї дії в тому, що через властивості листбоксу вони будуть доступні, але на екрані не відображатимуться.

Трохи бентежать заголовки колонок, начебто треба їх українською, але ж це не комбобокс. Тут і так все зрозуміло, а заголовки не відображатимуться.
В принципі, можна і межі стовпців не перетягувати, поставивши галочку навпроти Adjust the width ... і т.д., у цьому випадку ширина буде обрана автоматично, за вмістом. Але це не завжди добре, оскільки за наявності десь хоча б одного довгого рядка весь список розповзеться.
Вибираємо четверту вкладку

Перше питання дуже важливе, і цього разу значення за умовчанням не підходить зовсім.
Тут потрібно визначитися, значення якого поля використовуватиметься, коли користувач вибере конкретне прізвище. Правильніше сказати, значення якого поля повертає команда, що і написано ясним і зрозумілим англійською мовою.
Зрозуміло, це значення має однозначно визначати цей запис, і прізвище тут не годиться. І саме на цей випадок у нас припасене поле KOD, в якому значення просто не можуть повторюватись (первинний ключ, однак).
Розкриваємо список, дивимося

ось так, дати народження немає. Є лише те, що відібрано для листбоксу. І хороші ми були б, якби не включили до числа відібраних полів KOD. Прихований він, чи ні, а у списку буде присутнім, що нам і треба.
Друге питання стосується того, чи хочете ви помістити це значення в якусь таблицю, і якщо так, то яку. Цього нам не треба, залишаємо поле порожнім.
Все, тиснемо ОК. На екрані спостерігаємо зміни – у листбоксіз'явилися вертикальні рисочки, що відзначають межі колонок

Тепер форму можна спробувати запустити на виконання, цілком автономна. Але мудрі розробники вимагають, щоб перед цим форму було збережено. Ризик її зависання дуже великий, і було б шкода втратити зміни.
Тиснемо на дискетку, потім на знак оклику

Так, це не верх витонченість, але форма - таки працює! Тепер її треба вдосконалити. Закриваємо форму, натискаючи хрестик у кутку вікна (а куди подітися, кнопки поки немає) і працюємо далі. Дивимося, які властивості має наш листбокс та коригуємо їх.