C++ Anfängerprobleme bei VCL-Anwendung

Fritze

Level-1
Beiträge
90
Reaktionspunkte
19
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich bin dabei mich in C++ einzuarbeiten und habe nun folgendes Problem:
Bei meinem Versuch mit ScrollBar eine Anzeige für Farbeinstellungen zu schaffen wird die Grafik (Kreis) erst nach dem ersten betätigen eines ScrollBar angezeigt.
Wie kann ich es schaffen, das schon beim starten der Kreis angezeigt wird?
Kann ich die sich wiederholenden Funktionalitäten der ScrollBar auch zu einer Funktion zusammenfassen, die ich dann nur noch aufrufen muß?
Über Hilfe und Anregungen würde ich mich sehr freuhen Fritze.
 

Anhänge

  • Slider.txt
    4 KB · Aufrufe: 21
ich würde eine funktion elipse machen:

Code:
*
void elipse(){
    HRGN EHandle=CreateEllipticRgn(70,220,140,280);
    HDC hdc=GetDC(Form1->Handle);
    HBRUSH hbr1=CreateSolidBrush(RGB(Farbe_RT,Farbe_GN,Farbe_BL));
    FillRgn(hdc,EHandle,hbr1);
    ReleaseDC(Form1->Handle,hdc);};

und diese dann in den entsprechenden änderungsbehandlungen aufrufen

Code:
*
void __fastcall TForm1::ScrollBar3Change(TObject *Sender)
{
        Farbe_BL = ScrollBar3->Position;
        Label3->Caption = Farbe_BL;

        elipse();
}

und eben auch in der main.

bin in C++ nicht so sattelfest, also code muß nicht stimmen, aber die idee sollte klar sein :rolleyes:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und wahrscheinlich mußt du die Routine auch schon beim allerersten Bildaufbau aufrufen, wenn die Applikation gestartet wird, da ansonsten ja erst bei einem OnChange-Ereignis die erste Ellipse gezeichnet wird. Was passiert denn, wenn du ein Fenster eines anderen Applikation über deine Ellipse hinwegziehst, verschwindet die dann? Dann sollte die Ellipsenroutine (4L) vielleicht in das Ereignis OnPaint des Fensters hinein und mit den Werten der Slider ständig neu gezeichnet werden.
 
Vielen Dank für eure Antworten.
Der theoretische Ablauf ist mir schon klar aber das Problem bleibt die Umsetzung. Ich habe es durch nachlesen und probieren geschafft die Grafik in Form einer Funktion aus den einzelnen ScrollBars`s herauszulösen. Mein Problem bleibt aber immer noch das Aufrufen dieser Funktion beim START.
Also bitte doch eine Lösung für meine Anwendung (Borland C++).
Mit freundlichen Grüßen und auf Hilfe wartend Fritze.
 
@Ralle
Ich hatte das mit dem OnPaint überlesen, das war die Lösung.:p
Vielen Dank nun kann ich wenigstens beruhigt ins Wochenende gehen.
MfG Fritze.
 
Zurück
Oben