Изменение цвета выбранного подразделения.
Модераторы: m0p3e, edward_K, Модераторы
Изменение цвета выбранного подразделения.
Привет всем.
Извените за такой вопрос, но у меня не получается сделать так чтоб при выборе из дерева нужного подразделения его цвет менялся(напр с синего на зелёный) и наоборот при повторном выборе этого же подразделения цвет его менялся с зелёного на синий.
Извените за такой вопрос, но у меня не получается сделать так чтоб при выборе из дерева нужного подразделения его цвет менялся(напр с синего на зелёный) и наоборот при повторном выборе этого же подразделения цвет его менялся с зелёного на синий.
-
- Постоянный гость
- Сообщения: 86
- Зарегистрирован: 28 апр 2005, 12:15
- Откуда: Москва
может, кто подскажет почему цвет не меняется?
interface ForTree 'Выбор подразделений' cyan, doaccept;
create view
var
gnrec,groups: comp;
gkod, gname: string;
as select KatPodr.name, KatPodr.code
from
katPodr,
synonym KatPodr KatP
where ((
KatPodr.Nrec==pick.crec and
1==pick.wlist and
groups== Katpodr.cpodr and
KatPodr.nrec == KatP.cpodr
))
order by KatPodr.Kod;
create view ap
as select *
from pick
where (( 1==pick.wList));
parameters
gnrec;
tree Tr (,,sci14EnIns);
Table KatPodr;
fields
{
font={color =if( isvalid(tnpick) and pick.wlist=1,colorsysTeal,0)}} ;
katpodr.name 'наименование': [50];
KatPodr.kod 'Код подразделения': [15];
end;
handleevent
cmInit:
{ groups:=gnrec;
}
cmDefault:
{ gnrec := katPodr.nrec;
gkod := KatPodr.kod;
gname := KatPodr.name;
}
cmTreeNodeType:
{ if isvalidall(tnKatP)
then TreeSetNodeType(Tr, if(TreeNodeIsOpen(Tr), ntfopen, ntfclose))
else TreeSetNodeType(Tr, ntftext);
}
cmTreeTop: groups :=gnrec;
cmTreeDown: groups:=KatPodr.nrec;
cmTreeUp: groups:=KatPodr.cpodr;
cmMarkUnMark:
{
delete from pick where pick.crec=KatPodr.nrec and 1=pick.wlist;
insert pick set pick.crec:=KatPodr.nrec,
pick.wlist:=1;
reDrawPanel(#KatPodr);
}
end;
end.
interface ForTree 'Выбор подразделений' cyan, doaccept;
create view
var
gnrec,groups: comp;
gkod, gname: string;
as select KatPodr.name, KatPodr.code
from
katPodr,
synonym KatPodr KatP
where ((
KatPodr.Nrec==pick.crec and
1==pick.wlist and
groups== Katpodr.cpodr and
KatPodr.nrec == KatP.cpodr
))
order by KatPodr.Kod;
create view ap
as select *
from pick
where (( 1==pick.wList));
parameters
gnrec;
tree Tr (,,sci14EnIns);
Table KatPodr;
fields
{
font={color =if( isvalid(tnpick) and pick.wlist=1,colorsysTeal,0)}} ;
katpodr.name 'наименование': [50];
KatPodr.kod 'Код подразделения': [15];
end;
handleevent
cmInit:
{ groups:=gnrec;
}
cmDefault:
{ gnrec := katPodr.nrec;
gkod := KatPodr.kod;
gname := KatPodr.name;
}
cmTreeNodeType:
{ if isvalidall(tnKatP)
then TreeSetNodeType(Tr, if(TreeNodeIsOpen(Tr), ntfopen, ntfclose))
else TreeSetNodeType(Tr, ntftext);
}
cmTreeTop: groups :=gnrec;
cmTreeDown: groups:=KatPodr.nrec;
cmTreeUp: groups:=KatPodr.cpodr;
cmMarkUnMark:
{
delete from pick where pick.crec=KatPodr.nrec and 1=pick.wlist;
insert pick set pick.crec:=KatPodr.nrec,
pick.wlist:=1;
reDrawPanel(#KatPodr);
}
end;
end.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
да это круто
delete from pick where pick.crec=KatPodr.nrec and 1=pick.wlist;
правильней так
if isvalid(#pick)
delete current pick
else
insert into pick set pick.crec:=KatPodr.nrec,
pick.wlist:=1;
вместо redrow лучше
Rescanpanel(#katpodr)
наверное когда побегаете по древу, то цвет всетаки отображаеться на помеченной записи?
delete from pick where pick.crec=KatPodr.nrec and 1=pick.wlist;
правильней так
if isvalid(#pick)
delete current pick
else
insert into pick set pick.crec:=KatPodr.nrec,
pick.wlist:=1;
вместо redrow лучше
Rescanpanel(#katpodr)
наверное когда побегаете по древу, то цвет всетаки отображаеться на помеченной записи?
screen scr1;
Fields
WordValue : noProtect;
<<
[.] Мой чекбокс`
>>
или сложнее
screen scr1;
Fields
WordValue : noProtect;
<<
[.] Мой чекбокс 1`
[.] Мой чекбокс 2`
[.] Мой чекбокс 3`
[.] Мой чекбокс 4`
>>
В этой случае в WordValue будет выборка
1+2+4+8
Какой выбран проверить можно например так
Function IsChecked ( Value : word; Item : byte ) : boolean;
Begin
IsChecked := ( ( Value shr ( Item - 1 ) ) and 1 ) = 1;
End;
Fields
WordValue : noProtect;
<<
[.] Мой чекбокс`
>>
или сложнее
screen scr1;
Fields
WordValue : noProtect;
<<
[.] Мой чекбокс 1`
[.] Мой чекбокс 2`
[.] Мой чекбокс 3`
[.] Мой чекбокс 4`
>>
В этой случае в WordValue будет выборка
1+2+4+8
Какой выбран проверить можно например так
Function IsChecked ( Value : word; Item : byte ) : boolean;
Begin
IsChecked := ( ( Value shr ( Item - 1 ) ) and 1 ) = 1;
End;