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

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


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Delphi

Выпуск № 1062
от 12.02.2008, 16:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 437, Экспертов: 60
В номере:Вопросов: 2, Ответов: 2

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 121975: Уважаемые эксперты, вопрос у меня такой: мне необходимо запускать моё приложение в моменты, когда пользователи входятвыходят и блокируютсяразблокируются на компьютере(ОС Windows 2000), как это реализовать? заранее спасибо....
Вопрос № 122079: Здраствуйте. Каким образом можно отловить изменения checked у элементов (ListItem) TlistView, и получить этот самый элемент ListItem?...

Вопрос № 121.975
Уважаемые эксперты, вопрос у меня такой:
мне необходимо запускать моё приложение в моменты, когда пользователи входятвыходят и блокируютсяразблокируются на компьютере(ОС Windows 2000), как это реализовать?

заранее спасибо.
Отправлен: 06.02.2008, 17:57
Вопрос задал: Mauve (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: PavelGM
Здравствуйте, Mauve!

Для контроля на входе - прописаться в автозагрузку.

Для контроля на выходе - отлавливать WM_QUERYENDSESSION и, может быть, WM_POWERBROADCAST, если надо отследить самовыключение в StandBy.
Ответ отправил: PavelGM (статус: Студент)
Ответ отправлен: 06.02.2008, 18:16
Оценка за ответ: 4


Вопрос № 122.079
Здраствуйте.
Каким образом можно отловить изменения checked у элементов (ListItem) TlistView, и получить этот самый элемент ListItem?
Отправлен: 07.02.2008, 13:06
Вопрос задал: Yujin (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Denisss

Здравствуйте, Yujin!

Хочу предложить Вам следующий способ:

Если какие-то значения ListView заполняются при редактировании формы в дизайнере, то сначала пропишите следующий код:

// Событие Form1.OnCreate
procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  with ListView1.Items do
    for
i:= 0 to Pred(Count) do
      Item[i].Data:= Pointer(Item[i].Checked);
end;

- данный код прописывает в переменную Data каждого пункта списка (TListItem) текущее значение Checked.

Добавление новых пунктов меню при выполнении программы (runtime) производите следующим образом:

  ListView1.AddItem('newItem', TObject(False));

- данный код добавляет новый элемент (TListItem) в список и присваивает его переменной Data значение false.

Теперь остается только воспользоваться событием ListView.OnChange:

// Событие ListView1.OnChange
procedure TForm1.ListView1Change(Sender: TObject; Item: TListItem;
  Change: TItemChange);
begin
  if
(Change = ctState) then
    if
(Boolean(Item.Data) <> Item.Checked) then
    begin

      // Работаем с элементом, у которого изменилось свойство Checked
      Label1.Caption:= Item.Caption;
      // Меняем значение переменной Data
      Item.Data:= Pointer(Item.Checked);
    end;
end;


Прим.:
Data пришлось использовать, т.к. событие ListView.OnChange с Change равным ctState происходит также и при выделении элементов списка.

Удачи!
---------
Будь осторожен, когда молишься ради чего-то, потому что можешь это получить...
Ответ отправил: Denisss (статус: Профессионал)
Россия, Москва
----
Ответ отправлен: 07.02.2008, 20:07
Оценка за ответ: 5
Комментарий оценки:
Спасибо, за хороший ответ
ps: другого способа я не нашел


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

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

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

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.70 от 17.01.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное