tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
617
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    inuh inuh ist offline Mitglied
    Registriert seit
    Feb 2005
    Beiträge
    10
    Hallo erstmal !

    Ich habe eine Frage bezüglich Klickevents und einem Image..

    Ich habe folgendes Szenario:

    Ich erstelle ein Bild, bemale es mit den GDI-Funktionen (ein Chart) und setze es dann
    in eine Picture-Box in einem Form.

    Nun gibt es in dem Image (bzw. in der PictureBox) verschiedene Bereiche (Punkte in dem Chart), die "anklickbar" sein sollen, d.h. wenn der Benutzer mit der Maus drüberfährt, soll sich der Maus-Cursor ändern und beim Klick soll eine bestimmte Aktion ausgeführt werden.

    Jetzt weiss ich nicht so recht, wie ich das "elegant" lösen soll, ich bin da in Sachen GDI und Grafik echt nicht sonderlich bewandert (wie ihr ja seht).

    Ich könnte natürlich jeden klickbaren Bereich in dem Image mit seinen Koordinaten in irgendeiner Collection (z.B. ArrayList) festhalten, und beim MouseOver-Event der Picturebox nachsehen, ob sich die Maus über einem dieser Bereiche befindet, aber irgendwie erscheint mir das "krückig".

    Gibt es da eine andere / besserere / gängigerere / elegantere Methode ?

    Bin dankbae für jeden Tipp !

    Danke schön und allerbeste Grüsse,

    inuh.
     

  2. #2
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Du hast die Lösung meiner Meinung nach schon definiert.
    Ich würde es nicht anders machen. Ich hab noch nicht gehort das man Controlbereiche in eine Art Gitternetz verwandeln kann und somit seine Auswahlflächen definieren kann, wenn ich jetzt verstanden habe was Du machen willst.
    So ähnlich implementiert man es ja auch wenn man zum Beispiel einen TreeView mit Click&Drop Funktionen versieht oder das KontextMenu für die angeklickten Elemente konfiguriert bevor es angezeigt wird.

    MfG cosmo
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  3. #3
    inuh inuh ist offline Mitglied
    Registriert seit
    Feb 2005
    Beiträge
    10
    Hallo cosmochaosmaker!

    Danke für die Antwort, dann werde ich es so machen.
    Ich hoffe nur, daß es keine Performance-Probleme (z.B. Mausruckeler) geben wird,
    da die ganze Geschichte sehr dynamisch ist und unter Umständen sehr viele Bereiche in dem Image "anklickbar" sein werden, und bei jeder Mausbewegung muss ja die gesamte Collection mit den Bereichs-Koordinaten abgegrast/durchlaufen werden.

    Ich versuchs dann mal, vielleicht fällt mir ja noch irgendeinen pfiffige Routone ein.

    Allerbesten Dank für sie Bestätigung,

    beste Grüsse,

    Huni.
     

  4. #4
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Das erfassen solltest Du in einem Thread durchführen. Dann gibt es auch keine "Mausruckler".
    Wenn Du beim erfassen bist, kannst Du ja temporär sowas wie eine Uhr anzeigen bis deine Routine herausgefunden hast über welchen Element sich der Cursor grad befindet. Damit erkennt der User das grad wenigstens was passiert.
    Und prüfe immer zuerst auf den letzten Bereich wo sich der Coursor befand. ( zwischen Max&Min X oder Y ) dann geht es denke ich mal schneller. Aber ich glaub Du würdest es sowieso so machen.

    Hoffe ich konnte helfen.

    MfG cosmo
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  5. #5
    inuh inuh ist offline Mitglied
    Registriert seit
    Feb 2005
    Beiträge
    10
    Ja, do konnest sehr helfen, danke schön !

    Ich habs jetzt testweise umgesetzt und es scheint, daß es keinerlei Performance-Probleme gibt, funtioniert bestens, zumindestens hier auf der Kiste (XP 2500+).
    Ma sehen, ob ich zum Testen irgendwo noch nen "Gurkenrechner" finde.

    Allerbesten Dank nochmal und Grüsse,

    inuh.
     

Ähnliche Themen

  1. Problem mit image in Picturebox / Clipboard
    Von deusfalsus im Forum .NET Café
    Antworten: 4
    Letzter Beitrag: 02.09.10, 20:53
  2. Bild aus Accessdatenbank in Picturebox oder Image anzeigen
    Von Pherdacil im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 27.05.05, 15:29
  3. Beliebige Datei in Image oder PictureBox laden
    Von wasserflasche im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 03.06.04, 10:01
  4. Image in PictureBox: Koordinaten gehen verloren?
    Von drumomatico im Forum Visual Basic 6.0
    Antworten: 7
    Letzter Beitrag: 10.02.04, 12:38
  5. In Image/Picturebox scrollen?
    Von daDom im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 13.12.03, 09:49