Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2007, 23:44   #1
CrazyJohn
 
Регистрация: 02.12.2006
Сообщений: 4
По умолчанию ListBox, вопрос...

Вообщем нужно сделать так, чтобы меню небольшой программки выводилось при помощи функции ListBox. Не понятно одно - как заставить реагировать прогу на выбор пунктов в меню. То есть как вывести из функции значение того поля, которое в данный момент активно. Желательно с хорошим примером. Заранее спасибо.
CrazyJohn вне форума Ответить с цитированием
Старый 27.12.2007, 04:33   #2
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Если я правильно понял, то нужно просто обрабатывать событие OnClick для ListBox. Список элементов можно записать в ListBox и на этапе разработки, и во время работы программы. Код ниже выводит название текущего пункта в заголовок формы.
Код:
procedure TForm1.ListBox1Click(Sender: TObject);
begin
  Caption := ListBox1.Items[ListBox1.ItemIndex];
end;
Что можно еще посоветовать, так это установить у ListBox свойство Style равным lbOwnerDrawFixed, тогда можно увеличить значение ItemHeight, чтобы строки лучше отделялись друг от друга.
Jeni вне форума Ответить с цитированием
Старый 05.01.2008, 14:12   #3
CrazyJohn
 
Регистрация: 02.12.2006
Сообщений: 4
По умолчанию

Не фига не понял. Замучался уже искать в инете и качать учебники. Большинство учебников рассказывает, как создавать приложения с помощью компонентов, а мне нужно с помощью API. Если кто сможет посоветовать учебник, который описывает работу с Делфи + АПИ, то буду очень благодарен. Так как дурацких вопросов, думаю, ещё будет много, но делать нечего.

Код:
ListBox:=CreateWindowEx
(0,'LISTBOX', ' ', WS_CHILD or LBS_STANDARD, 500,150,120,100,
mainmix,
BTN_TEXT_0,hInstance,0);
  Line[0]:='Добавить';
  n:=SendMessage(ListBox,LB_ADDSTRING,0,Longword(Line[0]));
  Line[1]:='Удалить';
  n:=SendMessage(ListBox,LB_ADDSTRING,0,Longword(Line[1]));
  Line[2]:='Сортоировка';
  n:=SendMessage(ListBox,LB_ADDSTRING,0,Longword(Line[2]));
  ShowWindow(ListBox,SW_SHOW);
Значит, например, есть такой код. Нужно вывести в переменную значение того поля, которое в данный момент активно в списке (то есть выделено мышкой). Либо как-то ещё заставить реагировать на выбор пункта в меню.

Есть мысль сделать кнопку ОК под менюшкой на основе ListBox, но это крайний вариант. Препод может докапаться.

Надеюсь объяснил понятно, заранее спасибо за помощь.
CrazyJohn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ListBox Shouldercannon Общие вопросы Delphi 15 08.01.2010 12:11
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) Albert2008 Общие вопросы Delphi 4 21.08.2008 15:33
ListBox werser Помощь студентам 1 29.05.2008 22:32
Вопрос по ListBox Rahim1993 Общие вопросы Delphi 2 17.01.2008 20:04
из ListBox в БД Spectre БД в Delphi 5 31.12.2007 13:58