Meine Frage ist nicht sprachbasiert oder OS basiert. Ich denke, jedes System bietet eine Art von TextOut (Text, x, y) -Methode. Ich bin auf der Suche nach einigen Richtlinien oder Artikeln, wie soll ich die Auswahl von outputed Text implementieren. Konnte keine Informationen darüber finden.Wie implementiert man Textauswahl?
Das einzige, was mir in den Sinn kommt, ist wie folgt:
Wenn Benutzer klickt auf einen Punkt auf den Text Leinwand ich die Koordinaten dieses Punktes kennen. Ich muss berechnen, wo genau es in meinem Textpuffer sein wird. Also beginne ich vom Anfang des Puffers und ich gebe jedem Zeichen (oder Textblock) einen Stil (wenn es einen hat). Danach weiß ich, dass nach gegebenem Stil der Brief Größe gegeben hat. Ich addiere seine Breite und Höhe zu vorher berechneten X, Y Koordinaten. Auf diese Weise durchquere ich den Puffer, bis die berechnete Position nicht den Punkt erreicht hat, auf den der Benutzer geklickt hat. Nachdem ich den Punkt erreicht habe, der in einem gewissen Abstand liegt, habe ich einen Startpunkt für die Auswahl.
Dies ist die Grundidee. Ich weiß nicht, ob das gut ist, ich würde gerne wissen, wie dies zum Beispiel in Firefox wirklich gemacht wird. Ich weiß, dass ich die Quellen durchsuchen kann und wenn ich keine Wahl habe, werde ich es tun. Aber zuerst versuche ich, einen Artikel darüber zu finden ...
Sehr interessant in der Tat. Ich würde empfehlen, sich den Quellcode anzusehen, um zu sehen, wie andere dieses Problem gelöst haben. –