kategoria: C++
[#1] wizualne zobrazowanie "przeciagania" w oknie
Czesc,
uplynelo troche czasu od ostatniego wlaczenia amigi ale udalo sie i widze, ze dziala jak dzialala.


To co widac na filmie ponizej to:
- klik na jednym z kolorow + trzymanie LMB
- przesuwanie myszki nad inny kolor (LMB ciagle wcisniety)
- puszczenie LMB gdy wskaznik najedzie na inny kolor

no i w efekcie mamy zmiane kolorow



To co bym chcial:
jakies graficzne zobrazowanie ze wlasciwie cos przeciagam...
- moze kwadrat o kolorze ciaganego koloru pod kursorem
- moze strzalka/kreska rysowana od zrodla do wskaznika myszki (gdy LMB jest wcisniety)

Pytanie :
jak do tego podejsc bo wszystko zapomnialem

Dzieki


editos:
nie chodzi mi o pomysly wizualizacji :) a jedynie o sposob wykonania "pod system", heh

Ostatnia aktualizacja: 09.06.2022 09:56:35 przez pch
[#2] Re: wizualne zobrazowanie "przeciagania" w oknie

@pch, post #1

Proponuję któryś z poniższych sposobów (lub kombinacji):

1. Możesz zmienić kursor myszy na "rączkę" (funkcja SetWindowPointerA).

2. W tym przypadku możesz też wykorzystać jeden kolor sprajta kursora na kolor tego prostokąta i np. wyświetlić pod kursorem. Domyślnie kolory kursora to 17, 18 i 19.

3. Możesz użyć Bobów systemowych, utworzyć Boba z przeciąganym obrazkiem i dodać go do niewidocznej warstwy na całym ekranie lub warstwy okna (RastPort, funkcja AddBob). W ten sposób prawdopodobnie przeciągane są ikony na WB. System sam dba o wszystko - zapamiętanie i odrysowanie tła itp.

Boba przemieszczasz wpisując:

bob->BobVSprite->X = x;
bob->BobVSprite->Y = y;

I rysujesz:
SortGList(rp);
DrawGList(rp, vp);
[#3] Re: wizualne zobrazowanie "przeciagania" w oknie

@Hexmage960, post #2

Dzieki za szybka (jak zawsze) podpowiedz OK

Ale mysle, ze potrzebuje nieco wiecej nakierowan (5 miesiecy bez amigi i sie zgubilem w autodocs)

Chce wykorzystac sposob 1szy na paczatek (z podmiana wskaznika myszki) ale nie wiem gdzie znajduje sie obrazek tej "raczki" o ktorej wspomniales - bo chyba nie musze tworzyc wlasnej grafiki skoro to jest systemowa (no chyba ze nie jest) ?
[#4] Re: wizualne zobrazowanie "przeciagania" w oknie

@pch, post #3

Chce wykorzystac sposob 1szy na paczatek (z podmiana wskaznika myszki) ale nie wiem gdzie znajduje sie obrazek tej "raczki" o ktorej wspomniales - bo chyba nie musze tworzyc wlasnej grafiki skoro to jest systemowa (no chyba ze nie jest) ?

Tak, grafikę wskaźnika myszy trzeba przygotować samemu.

Najprościej to utworzyć standardową bitmapę z grafiką i utworzyć obiekt BOOPSI klasy "pointerclass" z systemu 3.x. Jest to dość proste.

Pełny przykład znajdziesz w pliku PointerDemo.c w NDK 3.1.

Tę bitmapę możesz narysować dowolną funkcją typu WritePixel, WritePixelArray8, Draw, RectFill.

Ostatnia aktualizacja: 09.06.2022 12:01:48 przez Hexmage960
[#5] Re: wizualne zobrazowanie "przeciagania" w oknie

@Hexmage960, post #4

Ok, skoro wlasna grafika to juz wszystko jasne.
Dzieki.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem