Avatar billede mickni33 Nybegynder
15. september 2006 - 10:59 Der er 3 kommentarer og
1 løsning

gruppering af objekter ( rektangler )

Jeg kan tegne rektangler på en Canvas..
Nu kunne jeg godt tænke mig at man kunne selecte feks 3 rektangler ved at holde shift nede, sådan at jeg kan bevæge alle 3 rektangler samtidigt. I øjeblikket kan jeg kun vælge et af gangen og flytte det til et andet sted på Canvas

jeg har en selectfunktion() som ser sådan ud.

Shape shape = drawCanvas.GetShapeSelectedByUser(new Point(e.X, e.Y));
       
            if (shape != null)
            {
                shape.SelectShape();
                drawCanvas.SelectedShape = shape;
                drawCanvas.Invalidate();
            }

Dvs at Shape shape = det objekt (rektangle) jeg har klikket på.

Jeg har forsøgt mig med en Composite pattern til at holde styr på de valgte objekter med ved ikke hvordan jeg skal kalde mit Composite Pattern
Avatar billede bulgroz Nybegynder
16. september 2006 - 09:26 #1
Normalt ville man nok udvide sin kontrol med en selection handler som håndterede selected items.
Avatar billede mickni33 Nybegynder
16. september 2006 - 09:54 #2
dvs at hvergang man holder shift nede sker der en multiselection hvor objekterne bliver gemt i en ArrayList...
Er det på den måde du mener ?
Avatar billede bulgroz Nybegynder
16. september 2006 - 16:09 #3
Ja stort set.

I din "hoved kontrol" lytter du til dine keys. Og afhængigt af hvad der trykkes ændres selection i selection handleren (så som "Take Selection", "Add Selection", "Extend Selection", "Remove Selection"... ). Selve Selection handleren er generelt kun en Collection Klasse der dog har de respektive metoder til at ændre selection på logisk vis (Så som SetSelection(<Current Element>, <Selection Change Flags>)).
Avatar billede mickni33 Nybegynder
13. november 2006 - 13:12 #4
lav svar :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester