Конференция "FreePascal" » Проблема с onClick в TListBox [Win32]
 
  • Melanholly © (30.10.11 19:19) [0]
    Задача:
    1)Обработать OnClick на TListBox.
    2)Обработать нажатие кнопок(тильда, энтер, и ЛКМ)

    Нажатие кнопок реализую:

    procedure TForm1.ListBox1KeyPress(Sender: TObject; var Key: char);
    begin
       if (Key in [ #13, #96]) then
    begin
      if ListBox1.Itemindex = 0  then
       begin
        ...
       end;
      if ListBox1.Itemindex = 1  then
       begin
        ...
       end;
      if ListBox1.Itemindex = 2  then
       begin
        ...
       end;
    end;
    end;


    если вешаю еще на Click то проверка кнопок не происходит, а действия совершаются по нажатию любых клавиш.
  • Cobalt © (31.10.11 12:29) [1]
    отлаживать не пробовал?
    Ставить точки остановки, или выводить в мемо на форме информацию о состоянии переменных?
  • Melanholly © (31.10.11 13:08) [2]
    Может я неправильно реализую, но логика должна быть таковой: есть listbox, в нем несколько элементов, по нажатию на определенный элемент открывается определенная форма.
    Я пробовал это реализовать через KeyPress, перечислив там обрабатываемые клавиши:
    Код:


    procedure TForm1.ListBox1KeyPress(Sender: TObject; var Key: char);
    begin
       if (Key in [ #13, #96]) then
       begin...


    т.е. сначала идет проверка нажатия клавиш потом действия, это 2 кнопки, но т.к. это должно работать на кпк, где нажатие на определенном элементе и есть Click подумал что реализовывать нада всетаки там.
    Вообще, вместо Listbox можна использовать PopupMenu, но там мне не удалось обработать кнопки, а в ListBox не удалось обработать нажатие мышкой.
    Подскажите где неправ или как правильнее сделать.
 
Конференция "FreePascal" » Проблема с onClick в TListBox [Win32]
Есть новые Нет новых   [118645   +50][b:0][p:0.001]