Fórum CheckListBox espaçamento entre check? #391564
30/11/2010
0
Tem como dar um espaço maior entre linhas nos checks do checklistbox?
Estou carregando os itens em tempo de projeto.
Obs: Não pode ficar o quadrado co checkbox entre as linhas que terão espaços.
Tipo ficar igual ao radiogroup que os itens vão ficando com espaços cfe. o tamanho. Preciso calcular o tamanho do checklistbox para ver qual o espaço entre linhas no ItemHeight, não posso simplesmente colocar um valor fixo.
Adriano Dolce
Curtir tópico
+ 0Posts
30/11/2010
Adriano Dolce
Tem como dar um espaço maior entre linhas nos checks do checklistbox?
Estou carregando os itens em tempo de projeto.
Obs: Não pode ficar o quadrado co checkbox entre as linhas que terão espaços.
Tipo ficar igual ao radiogroup que os itens vão ficando com espaços cfe. o tamanho. Preciso calcular o tamanho do checklistbox para ver qual o espaço entre linhas no ItemHeight, não posso simplesmente colocar um valor fixo.
procedure TForm1.FormCreate(Sender: TObject); var iItem: Integer; begin with CheckListBox1 do begin ItemHeight := (Height Div Items.Count); iItem := ItemHeight; end; CheckListBox1.ItemHeight := iItem -1; end;
Tem como retirar aquela barra (no meu caso aqui azul) do item selecionado? Ou ao menos deixar menor o espaço da barra, ja que ela esta acompanhando o espaçamento do ItemHeigth...
Gostei + 0
01/12/2010
Adriano Dolce
procedure TfrmTributos.chklistTributoDrawItem( Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); begin with (Control as TCheckListBox).Canvas do begin //Font.Color := clBlack; //aqui não deu certo esta negritando a fonte Brush.Style := bsSolid; //aqui testei todas constantes e não deu certo TextOut(Rect.Left + 4, Rect.Top + 10,(Control as TCheckListBox).Items[Index]) ; end; end;
iTotalItem := chklistTributo.Items.Count; if iTotalItem = 7 then begin Brush.Style := bsSolid; TextOut(Rect.Left + 4, Rect.Top + 3,(Control as TCheckListBox).Items[Index]) end else if iTotalItem = 4 then begin Brush.Style := bsSolid; TextOut(Rect.Left + 4, Rect.Top + 10,(Control as TCheckListBox).Items[Index]); end;
Outra coisa, se eu deixo o style como bsSolid no codigo, fica até quase bom, o problema que logo no promeiro ele realça em vota do texto, quero ver se retiro isso também. Grato pela ajuda.
Gostei + 0
24/07/2013
Altec Ltda.
Para que haja espaço entre os Items, precisa ir até a propriedade Styles do CheckListBox e alterar para
"lbOwnerDrawFixed" feito isso é só mudar outra propriedade chamada ItemHeight com um valo inteiro desejado;
outra propriedade que não citei é IntegralHeigth, ela serve para qua a altura do componente se ajusta com o
ultimo ItemCheck...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)