![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Всем доброго времени суток. есть проект, он сохраняет параметры в реестр. но при загрузке из реестра происходит непонятное... в реестре сохраняется булево значение и потом при активации формы возвращается, но проблема в том, что не выполняется активация таймера хотя 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
|
||||
|
||||
|
Давай подумаем. Значение ты загружаешь, галочку задаёшь. А где ты "ОнКликаешь" по чекбоксу? Задача значения и клик - не одно и то же.
|
|
#3
|
|||
|
|||
|
Но ведь все остальное выполняется если сделать так:
Код:
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;Последний раз редактировалось kokon, 22.07.2011 в 15:15. |
|
#4
|
|||
|
|||
|
Надо так
Код:
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
|
||||
|
||||
|
Цитата:
Здесь ты немного не прав. Если задать чекбоксу событие OnClick, а потом программно установить значение Checked (неважно true или false) то событие OnClick СРАБОТАЕТ! Его проблема может быть, что когда он грузит значение из реестра, то оно может быть пустым (false) и тогда при изменении значения Checked ничего не происходит |
|
#6
|
||||
|
||||
|
А какой код в событии таймера?
|