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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2011, 18:29   #11
abzhapparovmaxat
Пользователь
 
Регистрация: 05.10.2011
Сообщений: 33
По умолчанию

Asinkrit Начинаю понимать (действительно внимательней надо быть), трудно соорентироватся в коде, Бэйсик избаловал меня) СПАСИБО!

evg_m Сейчас посмотрим, СПАСИБО!

СПАСИБО ВСЕМ! Сначала не было ничего а теперь, Вы меня даже обеспечили выбором)

П.С. (не хочу создавать новую тему) Для практики я начал программировать Файловый менеджер, Вообщем все путем, только либо баг, либо фича... Скачаля я КОМПОНЕНТЫ АльфаСкинов, у него есть прекрасный компонент TsShellListView вообщем создаю ему обработчик на событие ОнЧэнж, и во время исполнения программы, когда я меняю МЫШЬю выделение, он работает, но стоит мне поменять выделенный элемент клавиатурой(стрелками) то он у меня выполняется три раза,
procedure TForm1.sShellListView1Change(Sender : TObject; Item: TListItem;
Change: TItemChange);
begin
ShowMessage('asd');
end;

// При изменение выделения клавиатурой - выдает три раза подряд сообщение "asd"
Подскажите, где я не прав. Заранее спасибо
abzhapparovmaxat вне форума Ответить с цитированием
Старый 07.10.2011, 19:04   #12
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
то он у меня выполняется три раза,
в справке написано.
Цитата:
TItemChange describes the type of change a list item undergoes.
Цитата:
TItemChange can have one of the following values:
при этом одно их них
Цитата:
ctState A change to the list item’s Cut, Focused, or Selected property.
Т.Е. данное событие происходит не только при выборе нового item. но и при УХОДЕ со старого. Вот тебе уже ДВА события одно для старого, одно для нового. где возникает третье надо смотреть значения параметров.+

видимо так
старый потеря фокуса.(focused)
новый получение фокуса.(focused)
новый пометка как выбранный (selectted)
вот их уже три.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 07.10.2011 в 19:12.
evg_m вне форума Ответить с цитированием
Старый 07.10.2011, 20:12   #13
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Цитата:
а по Дэльфийски КОМПОНЕНТЫ(или ОБЪЕКТЫ) имеют свое ИД,
у нас в Делфи тоже есть ИД для всех видимых и не видимых компонентов на форме. Еслы Вы в инициализацинном блоке, сопоставите ИД всех нужных компонент с нужными Вам обоработичками:
Код:
procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
begin
  for i:=0 to ComponentCount-1 do
  case Components[i].ComponentIndex of
   1:;
   2:;
   ......
  end;
end
;
или для каждой кнопки установите один и тот же обработчик и внутри обработчика будете распределять функции для кнопки вот так:
Код:
procedure TForm1.OnCommonClick(Sender: TObject);
begin
  case TComponent(Sender).ComponentIndex of
   1: обработка кода для кнопки 1
   2: обработка нажатия на Панель
   и.т.п
  end;
end;
То получите тот же эффект что и в Бейсике
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 14.10.2011, 14:37   #14
abzhapparovmaxat
Пользователь
 
Регистрация: 05.10.2011
Сообщений: 33
По умолчанию

evg_m Я использовал Ваш метод Размножения при помощи Фреймов. Но теперь, не могу написать код, создания динамически Фреймов (УЖЕ готовых Фреймов). ЗАДАЧА. Есть Фрейм на нем Компоненты с уже гоовыми наложенными на них процедурами. Как Добавить динамично на Форму этот готовый Фрейм (много раз)?
abzhapparovmaxat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плагин для Windows или действия с контекстным меню при выборе опр. типа файла Человек_Борща Общие вопросы Delphi 7 02.10.2011 21:09
Рекурсивная процедура или функция Homutova_Julia Общие вопросы Delphi 1 29.05.2011 00:57
Нужна функция или процедура для того чтобы программа стала резидентной! star007 Помощь студентам 3 22.03.2010 08:59
Универсальная функция для действия над матрицами devl Общие вопросы C/C++ 10 30.01.2010 18:49
Одна функция для нескольких объектов Salomon Помощь студентам 2 25.11.2008 16:32