Boa noite... Acredito eu. Estou com uma dúvida, na verdade não sei fazer. Eu estou usando o componente TCheckListBox, insere diversos itens nele. Aí eu criei dois botões um chamado UP, e outro DOWN, eles fazem o item subir ou descer de acordo com a necessidade do usuário. ;D. Só que quando eu clico no botão UP por exemplo eu perco o foco do CHECKLISTBOX no item que eu estava, e eu não quero ficar clicando no item do Checklist para toda vez ele se referenciar e o cara ir de novo e clicar no botão UP. Enfim quando o usuário apertar no UP ele movimentar o item sem perder o foco deste item, se ele apertar de novo ainda estará nele. Abaixo segue o meu botão UP. Já fiz de tudo. procedure TForm1.Button2Click(Sender: TObject); begin // affs não consigo me referenciar CheckListBox1.Selected[index]; if CheckListBox1.ItemIndex > 0 then begin index:= CheckListBox1.ItemIndex - 1; // index uma variavel do tipo private declarada no inicio da class FORM CheckListBox1.Items.Move( CheckListBox1.ItemIndex, CheckListBox1.ItemIndex - 1 ); FocusControl(CheckListBox1); CheckListBox1.Selected[index]; CheckListBox1.ItemEnabled[index]:= True; // CheckListBox1.State[index]:= cbChecked; CheckListBox1.SetFocus; // Forçando end; end;