forma jako obrazek

0

Ustawiam BorderStyle na bsNone
wstawiam Image i Align na alClient

i teraz tak: jak zrobić żeby określony kolor był przeźroczystym? Usiłowałem w GIMPie zamienić kolor w alfę, ale wtedy zmienia mi kolorystykę całego obrazu, bo usuwa dany odcień z całego obrazu a nie tylko pliki o czystym kolorze który zamieniam.

po drugie jak zrobić, żeby formę dało się przesuwać po ekranie albo za ten obrazek, albo za dowolny element, tak jak to jest standardowo jak klikniemy i przeciągniemy górny pasek formy?

0

Odnośnie drugiego pytania

W zdarzeniu OnMouseDown formularza wpisz:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);  // Handle oczywiście dotyczy Form1
end;

Możesz przypisać tę procedurę do dowolnej kontrolki (np obrazka TImage) i wtedy również uchwycenie tej kontrolki spowoduje przesunięcie całego formularza.
Mała uwaga: jak przypiszesz procedurę do np. Buttona, to aby wykonać procedurę OnClick musisz go najpierw zaznaczyć myszką i nacisnąć spację. Coś za coś, niestety

W podobny sposób możesz przesuwać kontrolki (komponenty posiadające właściwość Handle) po formularzu, dla przykładu Button

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  SendMessage(Button1.Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
end;
0

musisz ustawic TransparentColor Formy na TRUE, i wybrac TransparentColorVAlue...

ale to jeden kolor staje sie niewidoczny a rogi moga byc poszarpane... piwko dla tego kto wie jak PROSTO zrobic dowolny ksztalt bez poszarpan krawedzi formy/image

0
dddddd napisał(a)

musisz ustawic TransparentColor Formy na TRUE, i wybrac TransparentColorVAlue...

ale to jeden kolor staje sie niewidoczny a rogi moga byc poszarpane... piwko dla tego kto wie jak PROSTO zrobic dowolny ksztalt bez poszarpan krawedzi formy/image

a no i tu jest pies pogrzebany, wiedziałem, że w Delphim to było dziecinnie proste, ale teraz siedzę na Lazarusie i tam nie ma TransparentColor :/

dzięki na Handla

1 użytkowników online, w tym zalogowanych: 0, gości: 1