Dialogfeld mit Zeichenfunktion, Problem beim Punktespeichern



  • Hallo,

    ich habe ein dialogfeldbasiertes Zeichenprogramm geschrieben, bei welchem die Pixelposition beim klicken der Maus (OnLButtonDown) in einem Textfeld ausgegeben wird. Diese werden aus einem Gruppenfeld ausgelesen (nebenbei: wie ändere ich die Hintergrundfarbe eines solchen Feldes und den Mauscursor innerhalb dieses Feldes, z.B. zu nem Kreuz).

    Dies habe ich so gelöst:

    if (IsOnInput(point.x, point.y)) //Nur auslesen, wenn Maus sich im Gruppenfeld befindet
    {
    int i=0;
    CClientDC dc(this);
    dc.SetPixel(point.x, point.y, RGB(0,0,0));
    m_bOnLeftMouseButton = true;
    SetCapture();

    m_iStartX = point.x;
    m_iStartY = point.y;

    sprintf(lpszAusgabe, "Startposition x: %i Startposition y: %i",point.x-14, point.y-125);

    m_strDisplayStart = lpszAusgabe;

    UpdateData(FALSE);

    Jetzt zu meinem Problem:
    Ich möchte jetzt jede Startposition einzeln speichern, in einem Listenfeld ausgeben und jederzeit wieder aufrufen können.
    Ich weiß, dass ich hierfür einen Array füllen muß, aber das WIE ist mein Problem.

    Ich hoffe, es erbarmt sich jemand.
    Gruß aus Stuttgart



  • Schau Dir mal CPoint an. Diese Objekte könntest Du dann in einem statischen oder dynamischen Array speichern.

    CPoint P[1000]; //statisches Array
    //...
    //mit i als fortlaufendem Index:
    i++;
    P[i].x = point.x;
    P[i].y = point.y;
    


  • ...danke für die Antwort. 👍


Anmelden zum Antworten