Windows-Message wird bei Programm-Aktion ignoriert[2]



  • http://nopaste.info/78cfdd9bda.html

    Hier triffst du den Quellcode,
    habe wohl mit dem Post das Topic geschrottet...

    Ich weiß nicht ob du noch fragen hattest, wenn ja poste sie noch mal...

    ahso

    Natürlich darfst du gerne anmerken wenn ich Überflüssigen code habe, konstruktive kritik ist immer gut.

    Allerdings hatte ich zu der sache mit WM_PAINT ja schon stelltung genommen, dass ist Inperformant und somit -für mich- inakzeptabel,wenn ich mit einem MALprogramm einen DualCore mit á 2.6Ghz auf 52% (kein Multitasking) bekomme.
    Ausserdem Zuckt das Form bei WM_PAINT...



  • Dass dein Programm nach dem Betätigen eines der Buttons nicht mehr auf Tastatureingaben reagiert, liegt schlicht daran, dass danach der Button den Fokus hat und sämtliche Tastaturnachrichten bekommt. Ein einfaches SetFocus sollte da Abhilfe schaffen.

    lippoliv schrieb:

    Allerdings hatte ich zu der sache mit WM_PAINT ja schon stelltung genommen, dass ist Inperformant und somit -für mich- inakzeptabel,wenn ich mit einem MALprogramm einen DualCore mit á 2.6Ghz auf 52% (kein Multitasking) bekomme.

    Das Performanceproblem rührt daher, dass du immer die komplette Fensterfläche für ungültig erklärst. Noch schlimmer, du machst das bei jedem Bewegen der Maus, selbst wenn gar nichts neues gezeichnet werden muss. Das kann man auch effizienter machen. Dann kann man eine Menge der globalen Variablen weglassen und auch sonst einiges an Code entfernen:

    http://nopaste.info/390ca74855.html
    (Das soll nur die Vorgehensweise erläutern, Verbesserungsmöglichkeiten gibt's da immer noch reichlich)



  • Gut das man Teile des Bildes neu machen kann, wusste ich nicht, hät ich mir aber denken müssen. Habe mich schon gewundert, warum er die Buttons auch neu gemacht hatte.

    Ja danke dir auf jeden fall, werd jetzt wohl erstmal umschreiben.



  • http://nopaste.info/12a61e6604.html

    Das ist draus geworden...

    Fehler:
    Wenn man malt entstehen "Löcher" und bei einem Rechtsklick (gesamtest Form neu Zeichnen lassen) ist alles wieder ok.



  • lippoliv schrieb:

    Fehler:
    Wenn man malt entstehen "Löcher" und bei einem Rechtsklick (gesamtest Form neu Zeichnen lassen) ist alles wieder ok.

    Deine normRect-Funktion ist fehlerhaft. Die Bedingung für die Vertauschung von top und bottom ist falsch.

    Diese grundlegenden Fehler solltest du auch noch beheben:

    • returnValue wird uninitialisiert verwendet.
    • aktPen wird uninitialisiert verwendet.
    • kBuff ist zu klein. GetKeyboardState erwartet ein Array von 256 Bytes.


  • http://nopaste.info/24c0c3991c_nl.html

    Habe ich noch etwas übersehen?

    Danke dir für all deine hilfe. Ich werde es so glaube ich stehe lassen, es sei denn, irgendwer sieht da einen krassen fehler, der überhaupt nicht geht.

    Dann mache ich den natürlich weg 😉


Anmelden zum Antworten