Announcement

Collapse
No announcement yet.

TMainMenu aktualisieren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TMainMenu aktualisieren

    Hallo zusammen,
    habe folgendes Problem:
    benutze ein menü, bei dem ich zur Laufzeit den ImageIndex ändere, dh es soll ein anders
    bildchen angezeigt werden. Die Aktualisierung wird aber erst vorgenommen wenn der Mauszeiger
    über dem betroffenen Steuerelement ist. Hat jemand eine Idee? Ich habe schon probiert
    eine Message zu senden und zwar wm_paint an den Handle des Menüs war aber auch Keiner.

    Danke im Voraus

    Gruß Andre

  • #2
    Hi

    wm_Paint gilt nur für den Clientbereich eines Fensters. Ein Menu ist aber wie die Caption/Frame im Nichtclientbereich (NC-Area).
    Also probier <b>SendMessage(Form1.Handle, wm_NCPaint, 0, 0)</b> oder besser <b>RedrawWindow(Form1.Handle, 0, nil, RDW_FRAME or RDW_UPDATENOW)</b>.
    Bei der Funktion RedrawWindow() wird als zweiter Paramerter eine Region (hRgn) angegeben. Diese solltest Du benutzen da sonst der KOMPLETTE NC-Bereich neugezeichnet wird. Ok, das stört meistens nicht, da im NC-Bereich immer nur "drübergezeichnet" wird und NICHT erst alles in einer Farbe gelöscht wird. (wm_EraseBkGnd). Somit wird der Rahmen im Normalfall identisch über sich selbst gemalt.

    Gruß hage

    Comment


    • #3
      Danke hagen werd's probieren.
      Andr

      Comment

      Working...
      X