Hi Carsten, <br>
<nitpicking>
<ul>
<li><tt>if bMarkieren = False then</tt> ist evil. Das muss <tt>if not bMarkieren then</tt> heißen -
ist schöner :-) und richtiger. Bei manchen booleschen Typen (LongBool etc. - Rückgabewert vieler
API-Funktionen) funktioniert deine Variante nicht zuverlässig.
<li>Nimm Edit1.SelectAll.
<li>Noch besser: Lass das Verhalten der Editbox, wie es ist, nämlich standardkonform. :-)
Wenn der Benutzer den ganzen Edit-Text selektieren will, kann er das nämlich bei Standard-Edits
locker tun: Doppelklick oder Kontextmenü -> Alles markieren oder per Lasso-/Drag-Selektion usw.
Umgedreht dürfte dein Vorgehen das gezielte Selektieren eines <i>Teils</i> des Textes aushebeln.
</ul>
</nitpicking>
<p><i>Was ich noch nicht verstehe ist, warum der Code des OnClick-Events nicht beim OnEnter-Event funktioniert.
</i><br>
Ich hab jetzt nicht groß nachgeschaut, aber ich vermute mal, dass Windows,
nachdem es (indirekt, via VCL) deinen OnEnter-Handler aufgerufen hat, mit
seinem normalen Vorgehen bei einem Fokuswechsel weitermacht und dabei
die Selektion des angeklickten Edits verändert.
Das OnClick-Ereignis kommt vermutlich später.
<p>Wenn es dich näher interessiert, kannst du mal beiden Handler mit OutputDebugString-Aufrufen
o.ä. spicken.
<p>Ciao, Uli
<nitpicking>
<ul>
<li><tt>if bMarkieren = False then</tt> ist evil. Das muss <tt>if not bMarkieren then</tt> heißen -
ist schöner :-) und richtiger. Bei manchen booleschen Typen (LongBool etc. - Rückgabewert vieler
API-Funktionen) funktioniert deine Variante nicht zuverlässig.
<li>Nimm Edit1.SelectAll.
<li>Noch besser: Lass das Verhalten der Editbox, wie es ist, nämlich standardkonform. :-)
Wenn der Benutzer den ganzen Edit-Text selektieren will, kann er das nämlich bei Standard-Edits
locker tun: Doppelklick oder Kontextmenü -> Alles markieren oder per Lasso-/Drag-Selektion usw.
Umgedreht dürfte dein Vorgehen das gezielte Selektieren eines <i>Teils</i> des Textes aushebeln.
</ul>
</nitpicking>
<p><i>Was ich noch nicht verstehe ist, warum der Code des OnClick-Events nicht beim OnEnter-Event funktioniert.
</i><br>
Ich hab jetzt nicht groß nachgeschaut, aber ich vermute mal, dass Windows,
nachdem es (indirekt, via VCL) deinen OnEnter-Handler aufgerufen hat, mit
seinem normalen Vorgehen bei einem Fokuswechsel weitermacht und dabei
die Selektion des angeklickten Edits verändert.
Das OnClick-Ereignis kommt vermutlich später.
<p>Wenn es dich näher interessiert, kannst du mal beiden Handler mit OutputDebugString-Aufrufen
o.ä. spicken.
<p>Ciao, Uli
Comment