Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kleinkauff

[Resolvido] Problema na imagem do SpeedButton

Recommended Posts

Bom la vou eu com mais uma, talvez simples, dúvida..

 

Tenho alguns speedbuttons 33x33, e após colocar a imagem .bmp no glyph do botao, a imagem fica errada cmo por exemplo alguns pixels faltando.. e isso acontece em todas as imagens que ponho no glyph.. alguem sabe cmo psso resolver?

 

 

P.S: a imagem foi redimensionada no photoshop.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode postar uma cópia da imagem do problema e da imagem usada no glyph?

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui o chronos

 

http://img261.imageshack.us/img261/6996/semttulo1f.jpg

 

a imagem q to usando no speedbuttom eh a mesma dali..

 

 

-------------------

 

e tenho outra duvida tb, irei aproveitar o topico..

 

tah vendo q ali eu tenho varios speedbuttoms, cmo eu faço para , apos clicar em algum botao apareca no form2 os dados daquele registro(cada botao é um registro) acho q deu pra entende..

 

Vlw !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Manda a imagem do botão em um arquivo separado por favor pra dar uma analisada nela....

 

Quanto a sua outra pergunta, é só programar cada botão para fazer a consulta referente ao registro que vai mostrar na figura. Isto é, você tem que por um evento para cada botão que faça a pesquisa e carregue os dados onde você quiser. A sugestão que lhe dou é criar uma procedure genérica, onde vai passar um parâmetro por referência que vai mudar por botão... algo do tipo o código abaixo (incompleto).

 

procedure TForm1.RealizaConsulta (codRegistro : Integer);
begin
	 Query.Close;
	 Query.SQL.Clear;
	 Query.SQL.ADD('Select campoA, campoB From tabela where codigo = ' + IntToStr(codRegistro));
	 Query.SQL.Open;
	 If not Query.IsEmpty then
	 begin
		  <comandos para carregar os dados onde quiser>
	 end
	 else
		  showmessage('Dados não encontrados.');
end;

procedure TForm1.SpeedButton1Click();
begin
	 RealizaConsulta(1);
end;

procedure TForm1.SpeedButton2Click();
begin
	 RealizaConsulta(2);
end;

procedure TForm1.SpeedButton3Click();
begin
	 RealizaConsulta(3);
end;

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema da imagem é o fundo preto, que o componente troca pela cor do fundo do botão... não tem muito o que se fazer quanto a isso... agora, dá pra fazer uma solução alternativa usando o combo panel + Image.

 

1°) Coloca um componente panel e dimensiona ele como 37x37 (Height e width), depois muda a propriedade dele para bvRaised nas propriedades BevelInner e BevelOuter.

2º) Joga dentro dele um TImage e seta o TImage com Align = AllClient. Depois carrega a imagem que quiser para o TImage e configura o evento onClick dele para simular o evento onClick do SpeedButton.

 

Acho que isso resolve seu problema.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, o problema da imagem funcionou.

 

Agora chronos

 

procedure TForm1.RealizaConsulta (codRegistro : Integer);

begin

Form2.Query.Close;

Form2.Query.SQL.Clear;

Form2.Query.SQL.ADD('Select * From dota where codigo = ' + IntToStr(codRegistro));

Form2.Query.Open;

If not Form2.Query.IsEmpty then

begin

aki

end

else

showmessage('Dados não encontrados.');

end;

 

coloquei isto mudei algumas coisas pois estava dandos alguns error, so agora ali onde eu pus 'aki' eu nao sei oq colocar.. hehe estava usando paradox, num sei nada d sql..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, o que eu sugeri é fazer um procedimento que varra os dados de acordo com o valor que você passa para a rotina... no caso do paradox, você poderia mudar os códigos sql para um locate da TTable... pegue algum código que você use pra pesquisar e adapte para isso que você consegue resolver.

 

Não sei qual é a versão do Delphi que está usando ai, mas aqui onde trabalho usamos o delphi 5 atualmente... nele tem um exemplo de programa pronto que pode lhe ajudar (caso use o 5 ai também) em Arquivos de Programas\Borland\Delphi5\Demos\DB\Filter\Filter.dpr

 

Se for outra versão a que usa do delphi, dê uma pesquisada aqui no fórum no comando Locate do TTable.

 

TBDEDataSet.Locate

Searches the dataset for a specified record and makes that record the current record.

function Locate(const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions): Boolean;

Description

Call Locate to search a dataset for a specific record and position the cursor on it.

KeyFields is a string containing a semicolon-delimited list of field names on which to search.

KeyValues is a variant array containing the values to match in the key fields. If KeyFields lists a single field, KeyValues specifies the value for that field on the desired record. To specify multiple search values, pass a variant array as KeyValues, or construct a variant array on the fly using the VarArrayOf routine. For example:

with CustTable do
  Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]);

Options is a set that optionally specifies additional search latitude when searching on string fields. If Options contains the loCaseInsensitive setting, then Locate ignores case when matching fields. If Options contains the loPartialKey setting, then Locate allows partial-string matching on strings in KeyValues. If Options is an empty set, or if the KeyFields property does not include any string fields, Options is ignored.

Locate returns True if it finds a matching record, and makes that record the current one. Otherwise Locate returns False.

Locate uses the fastest possible method to locate matching records. If the search fields in KeyFields are indexed and the index is compatible with the specified search options, Locate uses the index. Otherwise Locate creates a filter for the search.

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

eh eu ja tinah pensado em fazer algo com o locate, findkey, mas queria ver oq os que entendem mlehor iriam dizer.. Muito obrigado memso pela atencao chronos..

 

E desculpa upa aki d novo, mas axo q o minimo eh agradecer..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hehehe, sem stress... eu particularmente prefiro trabalhar com bancos de dados como MySQL, SQL Server e Firebird, pois trabalho e uso muitos recursos que o SQL disponibiliza, como criação de Stored Procedures.... mas no começo a grande maioria começa usando o Paradox com as infernais Tables hehehehe.

 

Qualquer coisa posta ai.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.