Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.07.2011, 14:38
kokon kokon вне форума
Прохожий
 
Регистрация: 08.04.2011
Сообщения: 2
Репутация: 10
Сообщение CheckBox не выполняет команду в обработчике

Всем доброго времени суток. есть проект, он сохраняет параметры в реестр. но при загрузке из реестра происходит непонятное... в реестре сохраняется булево значение и потом при активации формы возвращается, но проблема в том, что не выполняется активация таймера хотя CheckBox = Checked.

Код:
procedure TForm1.FormActivate(Sender: TObject);
begin
  LoadReg;
end;

procedure TForm1.CheckBox3Click(Sender: TObject);
begin
  if not CheckBox3.Checked then
   begin
      Form1.AlphaBlend := CheckBox2.Checked;
      Form1.AlphaBlendValue := TrackBar1.Position;
   end;
  tmr3.Enabled := CheckBox3.Checked; //Не выполняется...
end;

procedure TForm1.LoadReg;
begin
  reg := TRegistry.Create;
  reg.RootKey := HKEY_CURRENT_USER;
  reg.OpenKey('\Software\ClientChat',true);
  if reg.ValueExists('TransMouse') then CheckBox3.Checked := reg.ReadBool('TransMouse');
  reg.CloseKey;
  reg.Free;
end;
Ответить с цитированием
  #2  
Старый 22.07.2011, 14:48
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Давай подумаем. Значение ты загружаешь, галочку задаёшь. А где ты "ОнКликаешь" по чекбоксу? Задача значения и клик - не одно и то же.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #3  
Старый 22.07.2011, 15:11
kokon kokon вне форума
Прохожий
 
Регистрация: 08.04.2011
Сообщения: 2
Репутация: 10
По умолчанию

Но ведь все остальное выполняется если сделать так:
Код:
procedure TForm1.CheckBox3Click(Sender: TObject);
begin
  if not CheckBox3.Checked then
   begin
      Form1.AlphaBlend := CheckBox2.Checked;
      Form1.AlphaBlendValue := TrackBar1.Position;
   end;
  Showmessage('Ok');
  tmr3.Enabled := CheckBox3.Checked; //Не выполняется...
end;
То сообщение "Ok" выводиться. а таймер не включается, даже если ему явно присвоить значение True.

Последний раз редактировалось kokon, 22.07.2011 в 15:15.
Ответить с цитированием
  #4  
Старый 22.07.2011, 17:53
pporokka pporokka вне форума
Прохожий
 
Регистрация: 22.07.2011
Сообщения: 9
Репутация: 10
По умолчанию

Надо так

Код:
procedure TForm1.LoadReg;
begin
  reg := TRegistry.Create;
  reg.RootKey := HKEY_CURRENT_USER;
  reg.OpenKey('\Software\ClientChat',true);
  if reg.ValueExists('TransMouse') then CheckBox3.Checked := reg.ReadBool('TransMouse');
 CheckBox3Click(nil);
  reg.CloseKey;
  reg.Free;
end;
Ответить с цитированием
  #5  
Старый 25.07.2011, 17:33
Аватар для DenNik
DenNik DenNik вне форума
Прохожий
 
Регистрация: 25.07.2011
Адрес: Около 300000 км от Луны
Сообщения: 25
Версия Delphi: D7 Enterprise
Репутация: 10
По умолчанию

Цитата:
Сообщение от DJ PhoeniX
Давай подумаем. Значение ты загружаешь, галочку задаёшь. А где ты "ОнКликаешь" по чекбоксу? Задача значения и клик - не одно и то же.

Здесь ты немного не прав. Если задать чекбоксу событие OnClick, а потом программно установить значение Checked (неважно true или false) то событие OnClick СРАБОТАЕТ! Его проблема может быть, что когда он грузит значение из реестра, то оно может быть пустым (false) и тогда при изменении значения Checked ничего не происходит
Ответить с цитированием
  #6  
Старый 25.07.2011, 17:41
Аватар для DenNik
DenNik DenNik вне форума
Прохожий
 
Регистрация: 25.07.2011
Адрес: Около 300000 км от Луны
Сообщения: 25
Версия Delphi: D7 Enterprise
Репутация: 10
По умолчанию

А какой код в событии таймера?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:39.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025