Fórum Desenhar Bmps nos comps padrões do Delphi #213946

13/02/2004

0

to fazendo um sistema de skin, dai eu preciso saber como desenhar bitmaps em botões, checkbox, ..... etc.....


ouse naum for possível, queria alguma base p/ eu mesmo poder criar componentes q aceitem bmps.....


valew...


::d::a::m::m::i::t::

::d::a::m::m::i::t::

Responder

Posts

13/02/2004

Marcelo Saviski

talvez funcione, mas se você tiver a handle do componente, pode blitar um bitmap para lá:

BitBlt(Componente.handle, X, Y, Width, Height, Bitmap.Canvas.Handle, 0, 0, SRCCOPY);


vc tb pode usar outros parametros no lugar do copy também, como [color=green:635b930c03]SRCINVERT [/color:635b930c03], [color=green:635b930c03]SRCAND [/color:635b930c03]etc.... que realizam operação booleanas nos pixels


Responder

Gostei + 0

14/02/2004

::d::a::m::m::i::t::

cara... naum funcionou.....

eu consegui desenhar em um label utilizando o canvas...

mas foi soh no label.....

aguem ai tem mais alguma sugestão....???


vlew


Responder

Gostei + 0

14/02/2004

Beppe

Nem todos os controles tem um OnPaint ou exportam um Canvas. O método mais apropriado para renderizar diferente, seria sobrepor o método Paint do controle. Lá você pode usar o Canvas.

procedure TMeuControle.Paint;
begin
  inherited;

  // pinta como quiser
end;


Desta maneira, cada vez que o controle precise ser repintado, ele será pintado como você quer, isto não é possível sem herdar(ou um OnPaint).

Seria isso?


Responder

Gostei + 0

14/02/2004

Marcelo Saviski

um detalhe!

BitBlt([b:50e0dc29c1]GetDC[/b:50e0dc29c1](Componente.handle), X, Y, Width, Height, Bitmap.Canvas.Handle, 0, 0, SRCCOPY);

talvez funfa agora....


Responder

Gostei + 0

14/02/2004

::d::a::m::m::i::t::

[quote:cc6391dce6=´Marcelo Saviski´]um detalhe!

BitBlt([b:cc6391dce6]GetDC[/b:cc6391dce6](Componente.handle), X, Y, Width, Height, Bitmap.Canvas.Handle, 0, 0, SRCCOPY);

talvez funfa agora....[/quote:cc6391dce6]

agora sim!!!!

valew tb beppe..... vo faze isso q tu disse tb...


valew....


Responder

Gostei + 0

14/02/2004

::d::a::m::m::i::t::

agora ta funcionando tudo certo....

mas eu naum consigo colocar o caption no meu btn....

eu usei o TetOut, mas daí naum consigo ajeitar fonte e tb naum consigo deixar o caption centralizado.......


e agora???????



valwwwwww :lol:


Responder

Gostei + 0

14/02/2004

Marcelo Saviski

só uma dica, você pode fazer assim para facilitar o trabalho em um Objeto que não tenha um canvas

[color=green:0986166284]Canvas := TCanvas.Create;
Canvas.Handle:= GetDC(Comp.Handle);[/color:0986166284]

ai você pode usar as opções do canavas, e alterar a fonte pelo método tradicional

para desenhar um texto centralizado você usa o:

[color=green:0986166284]DrawText(DC, PChar(´texto´), -1, r, DT_CENTER + DT_VCENTER + DT_SINGLELINE);[/color:0986166284]

onde r é uma variavel TRect


Responder

Gostei + 0

14/02/2004

::d::a::m::m::i::t::

valew galera.....

valew mesmo....


:lol: :lol: :lol:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar