AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Buchstabe/Position unter Maus auslesen

Ein Thema von hansklok · begonnen am 11. Jan 2020 · letzter Beitrag vom 22. Jan 2020
Antwort Antwort
hansklok

Registriert seit: 14. Apr 2004
Ort: Karlsruhe
318 Beiträge
 
Delphi 2010 Architect
 
#1

AW: Buchstabe/Position unter Maus auslesen

  Alt 19. Jan 2020, 15:13
Vielen lieben Dank meinen Vorrednern für deren Input.

Mir fehlt tatsächlich nur der letzte Schritt. Nehmen wir an, ich habe die aktuelle Zeile, sagen wir Nummer 2, und das aktuelle StyleRun der Zeile, sagen wir Nummer 4, identifiziert. Das Style<run beginnt an der x-Position 760 und die Maus befindet sich an Position 820. Mir fehlt nur der Ansatz, wie ich jetzt die Buchstaben ermittle. Also, muss man da eine Schleife verwenden und solange immer wieder die Textbreite abfragen, bis man die Koordinate erreicht hat? Wie könnte so ein Pseudo-Code aussehen?
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Buchstabe/Position unter Maus auslesen

  Alt 19. Jan 2020, 15:36
Das macht mein Code oben eigentlich genau.

In DX wird zunächst die X-KlickPosition vom aktuellen WordOffset aus definiert bzw. die Zielposition wo der Cursor sein soll.
Dann wird von der Mitte aus geschaut, ob diese rechts oder links von dieser Position aus ist.
Dann wird der gefundene rechte oder linke Bereich immer weiter eingeschränkt, bis der Buchstabe gefunden wird, der der Zielposition am nächsten ist.

In CaretXPos wird das Ergebnis zurück geliefert.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
hansklok

Registriert seit: 14. Apr 2004
Ort: Karlsruhe
318 Beiträge
 
Delphi 2010 Architect
 
#3

AW: Buchstabe/Position unter Maus auslesen

  Alt 19. Jan 2020, 15:45
Was machen denn die Funktionen Pred und Succ?
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Buchstabe/Position unter Maus auslesen

  Alt 19. Jan 2020, 16:15
Pred = Wert -1
Succ = Wert +1
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
hansklok

Registriert seit: 14. Apr 2004
Ort: Karlsruhe
318 Beiträge
 
Delphi 2010 Architect
 
#5

AW: Buchstabe/Position unter Maus auslesen

  Alt 19. Jan 2020, 16:20
Gibt es einen Unterschied zu Inc und Dec?

Was ist fCaretXPosNear und _MX?
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#6

AW: Buchstabe/Position unter Maus auslesen

  Alt 19. Jan 2020, 16:54
Gibt es einen Unterschied zu Inc und Dec?
Ja, Inc und Dec sind Prozeduren, Succ und Pred sind Funktionen (Prozeduren mit Rückgabe). Inc und Dec können außerdem andere Werte als 1 addieren/subtrahieren, Succ und Pred nur 1.

Grüße
Dalai
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Buchstabe/Position unter Maus auslesen

  Alt 19. Jan 2020, 17:06
fCaretXPosNear ist eine Cursor-Zielposition, wenn man z.B. in einem Gitter nach oben oder unten zwischen den Zellen wechselt.
(Hier ist das näher beschrieben: https://www.delphipraxis.net/185623-...-controls.html)

_MX ist eine temporäre Mausposition.


---

Inc und Dec ändern den Wert der übergebenen Variable.
Succ und Pred geben einen Berechnungsergebnis zurück und lassen die übergebene Variable in Ruhe.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
730 Beiträge
 
Delphi XE5 Professional
 
#8

AW: Buchstabe/Position unter Maus auslesen

  Alt 19. Jan 2020, 17:02
Gibt es einen Unterschied zu Inc und Dec?
Hallo,
Inc(..) und Dec(..) kannst Du für Integer-Werte verwenden: Sie sind schneller als i+1 oder i-1. Pred(..) und Succ(..) sind für Aufzählungstypen verwendbar wie z.B.
Delphi-Quellcode:
Type
  MeineFarben = (keineFarbe, Blau, Gelb, Rot);

VAR
 Farbe: MeineFarben;
...
  Farbe:= Blau;
  Succh(Farbe); // ergibt 'Gelb'
  Pred(Farbe); // ergibt 'Blau'
...
ABER
Inc(Farbe) oder Dec(Farbe) lässt sich dagegen nicht kompilieren.
Gruß, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.513 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Buchstabe/Position unter Maus auslesen

  Alt 20. Jan 2020, 07:05
Sie sind schneller als i+1 oder i-1.
Stimmt IMHO schon lange nicht mehr.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:05 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