| Autor |
Beitrag |
Wolle92
      
Beiträge: 1296
Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
|
Verfasst: Mi 04.06.08 14:06
Hallo,
ich schätze, alle kennen das Prinzip Maus drücken + ziehen...
Das funktioniert mit MouseDown und MouseMove ja ganz gut, solange man dabei nur eine einzelne Komponente benutzt...
Ich habe jetzt aber ein Spielfeld, das aus vielen einzelnen Images besteht...
Jetzt funktioniert das MouseDown und MouseMove nicht mehr, da der Sender immer das Image ist, wo das MouseDown stattgefunden hat, und nicht das, auf dem man sich grade bewegt...
Gibt es eine Lösung dafür?
_________________ 1405006117752879898543142606244511569936384000000000.
|
|
nagel
      
Beiträge: 708
Win7, Ubuntu 10.10
|
Verfasst: Mi 04.06.08 14:21
Das einfachste wäre wohl, alles auf ein Image zu zeichnen.
|
|
Wolle92 
      
Beiträge: 1296
Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
|
Verfasst: Mi 04.06.08 18:31
Ne, das geht nicht, da das Spielfeld dann gespeichert werden muss, wo welche art von Block ist...
Und ich will den Nutzer nicht damit überfordern auf 486 Felder zu klicken, um deren Typ zu ändern...
Das muss doch möglich sein...
btw: Ich scheue keine Windows-Programmierung (Sekundärprogrammiersprache C++)
_________________ 1405006117752879898543142606244511569936384000000000.
|
|
LexXis
      
Beiträge: 170
Erhaltene Danke: 3
|
Verfasst: Mi 04.06.08 21:18
MouseDown.. MouseMove.. Klingt für mich ein Bischen nach Drag 'n' Drop.
Das wäre ja relativ einfach zu implementieren.
Natürlich vorausgesetzt, dass ich jetz nix Falsches in deine Aussage hinein interpretiert hab 
|
|
Wolle92 
      
Beiträge: 1296
Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
|
Verfasst: Do 05.06.08 16:53
naja, drag'n'drop ist es nicht ganz... Oder verstehst du ne Linie bei Paint auch als Drag'n'Drop?
_________________ 1405006117752879898543142606244511569936384000000000.
|
|
LexXis
      
Beiträge: 170
Erhaltene Danke: 3
|
Verfasst: Fr 06.06.08 11:47
Wenn man von panels statt Pixeln ausgeht schon ^^
Sowas in der Art hatte ich auch im Kopf, nur eben ein, zwei Nummern größer.
|
|
Wolle92 
      
Beiträge: 1296
Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
|
Verfasst: Fr 06.06.08 13:07
okay... und wie mach ich das?
_________________ 1405006117752879898543142606244511569936384000000000.
|
|
Guenther A.
Hält's aus hier
Beiträge: 5
|
Verfasst: Fr 06.06.08 13:43
Titel: Gibt es nicht die Ereignisse ONDRAG und ONDROP?
Die gehen doch eigentlich über die Komponenten hinweg. Jede Komponente, über der sich das gezogene Objekt dann befindet erhält außerdem ein DRAGOVER (o.ä.) Ereignis und kann signalisieren, ob es das gezogene Objekt anehmen würde. Mit ONDROP wird dann der ZielKomponente mitgeteilt, wo das gezogene Objekt "fallengelassen" wurde.
Gruß Guenther
|
|
_frank_
      
Beiträge: 343
Erhaltene Danke: 1
Win XP
Delphi 3 Prof / Turbo Delphi Explorer
|
Verfasst: Fr 06.06.08 14:30
ich würde sowas vermutlich auf nichtvisueller ebene lösen und dann visuell darstellen...
also eine zeichenfläche und die eigentlichen Prüfungen/Eigenschaftsverwaltung mit unsichtbaren Objekten.
wenn du SVN hast, kannst dir ja mal www.sf.net/projects/circuitboard anschauen...dort hab ich das ähnlich gemacht (Drag&drop,verbindungslinien,...)
wenn du kein svn hast, kann ich dir den source auch mal so schicken.
Gruß Frank
_________________ EB FE (die wahrscheinlich kürzeste Endlosschleife der Welt  )
BA 01 00 00 00 52 EB 09 BB 4D 11 86 7C FF D3 EB 0D E8 F2 FF FF FF 63 68 61 72 6D 61 70 00 C3
|
|