Habe Probleme mit Canvas bzw bsSolid und bsClear



  • Hi,
    Ich bin eingenlich mit Delphi zum Programmieren gekommen wer kann mir sagen wieso das Rechteck nicht ausgefüllt wird ? sondern bsClear ist???

    // -----Skala------------------
    int abst,i,zaehler;
    zaehler = 0;
    abst = (PB_Anzeige->Width/20);
    Canvas->Brush->Style = bsSolid;
    Canvas->Pen->Color = clBlack;
    Canvas->Rectangle(0,0,PB_Anzeige->Width,PB_Anzeige->Height);<---------------------!!!!!
    Canvas->Pen->Color = clLime;
    for(i=0;i<21;i++)
    {
    Canvas->MoveTo(zaehler,0);
    Canvas->LineTo(zaehler,20);
    zaehler = zaehler + abst;
    }
    

    Problem hab ich auch mit einem anderen Programm 😞
    Danke für die Hilfe



  • Du mußt auch die Farbe vom Pinsel (Brush) setzen, z.B.

    Canvas->Brush->Color = clWhite;
    

    oder aber ein Bitmap definieren, z.B.

    Canvas->Brush->Bitmap = pMyBitmap;
    


  • das klappt aber ich hab jetzt noch was hinzugefürgt das klappt nicht wird nicht angezeigt ???

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    // -----Skala------------------
    int abst,i,zaehler;
    zaehler = 0;
    abst = (PB_Anzeige->Width/20);
    Canvas->Brush->Style = bsSolid;
    Canvas->Brush->Color = clBlack;
    Canvas->Pen->Color = clBlack;
    Canvas->Rectangle(0,0,PB_Anzeige->Width,PB_Anzeige->Height);
    
    Canvas->Pen->Color = clGreen;
    for(i=0;i<41;i++)
    {
    Canvas->MoveTo(zaehler,0);
    Canvas->LineTo(zaehler,20);
    zaehler = zaehler + (abst/2);
    }
    PB_Anzeige->Canvas->Pen->Color = clLime; <--------ab hier wird nicht übernommen vom proggi 
    
    for(i=0;i<21;i++)
    {
    Canvas->MoveTo(zaehler,0);
    Canvas->LineTo(zaehler,20);
    zaehler = zaehler + abst;
    }
    int grad;
    grad = StrToInt(E_Grad->Text);
    abst = (PB_Anzeige->Width/4);
    for(i=0;i<4;i++)
    {
    Canvas->MoveTo(zaehler,20);
    Canvas->LineTo(zaehler,35);
    zaehler = zaehler + abst;
    }
    


  • ist PB_Anzeige->Canvas == Canvas ?



  • hab ein bischen probiert hat aber nicht geklappt Canvas ->pen ... und sollte es nur heißen



  • Bitte die Code-Tags verwenden.

    Und versuch doch mal, deinen Code durch Einrückungen zu gliedern, das macht es auch dir selbst einfacher, das zu lesen.


Anmelden zum Antworten