![]() |
Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
hab noch ein gemeinsames(oder emeinsamen??? ka) Bug gefunden:
dein und mein Programm haben beide das Problem. dass wenn man ganz schnell über die Buttons geht, dass dann unter umständen ein Button aktiviert bleibt, weil die Maus sich, da sie so schnell bewegt wurde ja offiziel nicht wegbewet sondern einfach verschwunden ist die Maus ist mit einem Sprung vom Button dahingesprungen, wo sie nicht mehr kontrolliert wird... wie kann man das ändern? ich will z.B. nen Timer bestimmen, der jedesmal überprüft, wo sich die maus befindet, aber im gegensatz zu onmousemove wird nem timer nicht die x,y koordinaten der maus übergeben... |
Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
Der Fehler kommt bei TGraphicControl, so wie Du in Beschrieben hast öfters vor.
Wenn ich ehrlich bin, hatte ich noch keine Zeit, Deinen Quellcode anzusehen :( Das mit dem Timer mache ich normalerweise bei meinen Kompos, aber weil ich diese als Open-Source veröffentlicht habe, hab ich das gelassen, weol ich das für eine schlechte programmierweise halte. Was besserers ist mir noch nicht eingefallen, man könnte ggf. MouseCapture verwenden, aber ob das ideal ist und bei ohne Handle Fenster funkt hab ich noch nicht probiert. PS: Du muß bei dem Timer die MousePos abfragen und auf das gewünschte Control umrechnen. |
Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
ich habe immernoch nicht verstanden, darum frag ich nochmal verienfacht:
wie kann ich z.B. ner Timerprozedur die Mauskoordinaten übergeben? |
Timer in Kompo
Zitat:
Hast Du ne jetzt ne Kompo, nutzt Du meine oder hast das nur so auf einem Formaular? Ich werde das mal in die Kompo einbauen, dann kannst Du Dir das ansehen. Das sind dann 2 Fliegen mit einer Klappe (Nicht das Du ne Fliege wärst). |
Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
wofür bruache ich deine Kompo?
nenne mich alltmodisch, aber ich hätte wenn dann gerne ein Projekt, wo das drin vorkommt... wenn der timer die Koordiaten erhalten will, muss sie jemand eben, nur solche sachen wie onmousemove oder irgendwa onmouse klappt nicht, da die maus sich nicht auf der Form befindet und somit auch keine koordinatenüberreichende anweisungen macht |
Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
Update hochgeladen... siehe oben.
Zitat:
Zitat:
Kompos haben halt den Vorteil, das man Sie nur einmal Programmieren muß, und sie dann leichter in mehreren Projekten verwenden kann. Wegen den Timer: 1. Gucke Dir die neue Kompo an, oder 2. Gib in Deinem Projekt einen "Reset", sobald das Formular einen MouseMove feststellt. 2teres funkt nicht immer, wenn die Form sehr klein ist. |
Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
2. funktioniert auch nicht, wenn die buttons am rand sind, weil man dann ja auch schafft davonzuspringen...
also allgemein nochmal die frage: schhafft mans die koordinaten zu kriegen, auch wennn die maus nicht auf der Form ist?(oder zumindest zu erkennen, dass die Maus nicht auf der Form ist) bisher erkenne ich den Standpunkt der Maus nur, wenn ch eine taste drücke, oder die maus bewee sonst nicht... |
Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
Hast Du Dir die neue Kompo nicht angesehen?
Genauso, wie es da drin steht kannst Du es auch auf einer Form machen. |
Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
ne noch nicht, aber wenn du schon sagst, dass es auf einer kleinen Form immernoch vorkommt, weiss ich ja, dass du bei form1 onmousemove den reset durchführst, was aber nichts bringt, solange die maus ausserhalb der Form rumläuft...
also entweder, wir holen uns die mausosition irgendwie anders, oder wir schummeln, indem wir die form screengröße geben, es aber so aussehen lassen, als sei sie kleiner, indem wir das Fensterdesign normal darstellen und darumherrum den hintergrund zeigen... kann man in dem Fall bei Klick in den äusseren bereich dem hintergrund übergeben?(dass man per rechtsklick auf die form das sieht, wenn man auf den desktop klickt |
Re: Runde, ovale, diagonale, geschwungene oder sonstwie Butt
Sieh Dir zuerst die Komponente an ...
Da ist die 1. Option mit Timer drin Die 2. würde ohne gehen, aber wie gesagt, funkt net immer. Edit: Falls Du die Exe probiert hast, die hab ich nicht neu hoch geladen, die hat den Fehler noch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz