DrawGrid - przenoszenie elementów pomiędzy komórkami

dział ogólny

DrawGrid - przenoszenie elementów pomiędzy komórkami

Nowy postprzez tomik » piÄ…tek, 5 czerwca 2009, 15:35

Witam

Potrzebuję zrobić planszę 8x8, wypełnić dolne 8 komórek Image1, a górne Image2 -> udało mi się to uzyskać dzięki TDrawGrid, ustawiłem mu 8x8 i zrobiłem coś ala:
Kod: Zaznacz cały
If ((ARow == 2) && (ACol == 2)) DrawGrid1->Canvas->Draw(Rect.Left, Rect.Top, Image2->Picture->Graphic);
Nie potrafię jednak poradzić sobie z przeciąganiem Imagex pomiędzy komórkami DrawGrid, np. przeciągam Image1 z (i,j) na (i++,j--) . Szukałem dużo w google, na tej stronie i w książkach, ale nic nie znalazłem ciekawego. A na pewno widziałem projekty gdzie jest to realizowane. Jakiś drag&drop ??
Avatar użytkownika
tomik
Bladawiec
Bladawiec
 
Posty: 3
Dołączył(a): piątek, 5 czerwca 2009, 14:58
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
    NieznanyNieznana

Re: DrawGrid - przenoszenie elementów pomiędzy komórkami

Nowy postprzez Miroo_007 » piÄ…tek, 5 czerwca 2009, 18:47

Ostatnio edytowano sobota, 6 czerwca 2009, 08:30 przez Miroo_007, Å‚Ä…cznie edytowano 1 raz
Avatar użytkownika
Miroo_007
Intelektryk
Intelektryk
 
Posty: 160
Dołączył(a): sobota, 18 października 2008, 10:49
Lokalizacja: Rzeszów
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
    NieznanyNieznana

Re: DrawGrid - przenoszenie elementów pomiędzy komórkami

Nowy postprzez tomik » piÄ…tek, 5 czerwca 2009, 22:46

dzięki Ci wielkie ! jak na razie udaje mi się realizować to co potrzebuję
Dzięki!
Avatar użytkownika
tomik
Bladawiec
Bladawiec
 
Posty: 3
Dołączył(a): piątek, 5 czerwca 2009, 14:58
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
    NieznanyNieznana

Re: DrawGrid - przenoszenie elementów pomiędzy komórkami

Nowy postprzez tomik » niedziela, 14 czerwca 2009, 17:38

W jaki sposób załadować taką grafikę jaką bym chciał, tzn. potrzebuję wyświetlić kształt, który ma obszary przeźroczyste. BCB6 nie chce mi załadować plików .png, a ImageList umożlwia wybranie kanału alpha w pliku .bmp, ale strasznie kompresuje i pomniejsza obrazek. Istnieje jakieś rozwiązanie?
Avatar użytkownika
tomik
Bladawiec
Bladawiec
 
Posty: 3
Dołączył(a): piątek, 5 czerwca 2009, 14:58
PodziÄ™kowaÅ‚ : 0
OtrzymaÅ‚ podziÄ™kowaÅ„: 0
    NieznanyNieznana

Re: DrawGrid - przenoszenie elementów pomiędzy komórkami

Nowy postprzez Cyfrowy Baron » poniedziaÅ‚ek, 15 czerwca 2009, 15:58

Posłuż się bitmapą z jednolitym tłem, które ma być przeźroczyste, potem przed odrysowaniem w Canvas ustaw przeźroczystość dla tej bitmapy, określając kolor do usunięcia.

► patrz serwis: Cyfrowy Baron dziaÅ‚: porady -> grafika; porada: Przeźroczyste kolory w bitmapach.

Inny sposób to skorzystanie zamiast z Canvas z GDI+

► patrz serwis: Cyfrowy Baron dziaÅ‚: porady -> grafika; porada: WyÅ›wietlanie grafiki z wykorzystaniem biblioteki gdiplus.dll GDI+.



Jeżeli w Image masz załadowaną bitmapę to musisz najpierw określić przeźroczystość dla tej bitmapy, przed przerysowaniem do Canvas:
Kod: Zaznacz cały
Image1->Picture->Bitmap->Transparent = true;
Image1->Picture->Bitmap->TransparentColor = Image1->Picture->Bitmap->Canvas->Pixels[1][1];


UWAGA! Nie zadziała z plikami JPEG.
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4716
Dołączył(a): niedziela, 13 lipca 2008, 15:17
PodziÄ™kowaÅ‚ : 12
OtrzymaÅ‚ podziÄ™kowaÅ„: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    NieznanyNieznana


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przeglÄ…da forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 6 gości