Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Delphi


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на Delphi

Выпуск № 052
от 31.07.2002, 11:00

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 106
Отправлено ответов: 145
Активность: 136.7 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе]


 Список экспертов, ответы которых опубликованы в данном выпуске

baldr
Статус: Профессиональный
Общий рейтинг: 117.02
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
Vladimir
Статус: Опытный
Общий рейтинг: 120.51
Телефон: (08242) 43599 40099 раб 41255 дом
[Подробней >>]
Sanya
Статус: Доверительный
Общий рейтинг: 128.57
[Подробней >>]
 
Артём Шегеда
Статус: Профессиональный
Общий рейтинг: 121.2
URL: Пристанище неодинокого программиста
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 103. Вопрос такой - есть массив элементов, я их по ходу выполнения проги создаю по мере необходимости... ... (ответов: 4)
Вопрос № 104. Привет, коллеги! Есть две проблемы. 1) Не могу найти, как установить размер строки в TListView в реж... (ответов: 1)

Вопросов: 2, ответов: 5


 Вопрос № 103

Вопрос такой - есть массив элементов, я их по ходу выполнения проги создаю по мере необходимости... Надо отследить какой элемент (из созданных) в данный момент активен (или имеет фокус)и передать его индекс. Я пробовал... но что-то, видно, не так... помогите разобраться или предложите как это реализовать по-другому.


Приложение:


Вопрос отправлен: 27.07.2002, 11:47
Отправитель: DeadShot

[Следующий вопрос >>] [Список вопросов]

Отвечает baldr

Доброе время суток, DeadShot!
Если у тебя есть список объектов, то тут даже проблем быть не должно. Перебираешь их все по
порядку, вызывая метод Focused, пока он не будет равен True для очередного объекта. Он и будет
активным.
А что за подозрительная процедура такая? :-О !


Ответ отправлен: 28.07.2002, 00:42
Отправитель: baldr


Отвечает Vladimir

Добрый день, DeadShot!
При создании Edit прописывай
Edit[n].tag := n;
Edit[n].OnClick:=Form2.myClick;
procedure TForm2.myclick(sender:Tobject);
var
cont:TWinControl;
begin
cont:=Form2.ActiveControl;
Edittag:= cont.Tag;
end;
где Edittag - глобалбная переменная типа integer. Ну а дальше - дело техники.



Ответ отправлен: 29.07.2002, 08:21
Отправитель: Vladimir


Отвечает Sanya

Здравствуйте, DeadShot!
Используй Self.ActiveControl, Для определения своего контрола при его создании задавай ему сво-во tag,
а для применения действия задавай конкретное имя процедуры см. пример(на всякий случай полностью)!
Удачи!

Приложение:

Ответ отправлен: 29.07.2002, 03:50
Отправитель: Sanya


Отвечает Артём Шегеда

Доброе время суток, DeadShot!

Вообще-то для этих целей удобнее использовать класс TList.
Во-первых, никаких проблем с размером массива.
Во-вторых, удалять из него также просто, как и добавлять.
В-третьих, для поиска элемента не нужно писать цикл, а достаточно вызвать IndexOf
В-четвёртых, не на Pascal же ты программу пишешь, а на ObjectPascal - блюди стиль!

Приложение:

Ответ отправлен: 27.07.2002, 17:19
Отправитель: Артём Шегеда


 Вопрос № 104

Привет, коллеги!
Есть две проблемы.
1) Не могу найти, как установить размер строки в TListView в режиме Viewstyle="vsReport" и OwnerDraw = true. Изменяю шрифт - текст увеличивается, а строки - нет. :(
2) В том же TListView не могу побороть Hint в режиме Viewstyle="vsReport." Нужно высветить какую-либо информацию, связанную с текушим элементом, но TListView упорно высвечивает свой хинт. А если повесить обработчик на OnInfoTip, то появляется сразу два хинта!

Рекомендую отвечать, предварительно проверив свой вариант. Я не профан - если что, админу пожалуюсь...



Вопрос отправлен: 27.07.2002, 17:52
Отправитель: Артём Шегеда

[Следующий вопрос >>] [Список вопросов]

Отвечает Sanya

Добрый день, Артём!
Попробуй так: Повесь на форму ApplicationEvents, и перехватывай его событие OnShowHint, это событие возникает раньше всех остальных!
Что-то типа
procedure TForm1.ApplicationEvents1ShowHint(var HintStr: String; var CanShow: Boolean; var HintInfo: THintInfo);
begin
If (HintInfo.HintControl.ClassName = 'TListView')then
HintStr:= 'Get Lost';
end;


Ответ отправлен: 29.07.2002, 05:14
Отправитель: Sanya



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (43)
C / C++ (29)
Perl (9)
Delphi (16)
Pascal (30)
Basic / VBA (10)
Java / JavaScript (11)
PHP (7)
MySQL / MSSQL (9)
Пользователю
Windows 95/98/Me (43)
Windows NT/2000/XP (31)
"Железо" (33)
Поиск информации (18)
Администратору
Windows NT/2000/XP (15)
Linux / Unix (12)
Юристу
Гражданское право (7)
Семейное право (3)
Трудовое право (7)
КоАП (2)

Отправить вопрос всем экспертам выбранной рассылки.




be number one Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное