Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Cursor deaktivieren bei TMemo (https://www.delphipraxis.net/1810-cursor-deaktivieren-bei-tmemo.html)

Pseudemys Nelsoni 25. Dez 2002 14:33


Cursor deaktivieren bei TMemo
 
hoi, jo siehe topic

also ich habe "Readonly" eingestellt, trotzdem ist da aber immernoch ein cursor wenn ich das memofeild anklicke, kann man das ausschalten?

Sebastian Nintemann 25. Dez 2002 14:39

Hallo, meinst du jetzt dass gar kein Cursor da sein soll, oder dass nur nicht der "Editier Cursor" angezeigt werden soll?

Gar keinen Cursor erreichst du mit
Code:
Memo1.Cursor := crNone //bzw. im OI einstellen
Um nur einen bestimmten Cursor, zb den normalen Pfeil anzuzeigen muss die Eigenschaft Cursor auf einen Wert ungleich crDefault (z.B. crArrow) gesetzt werden.

Gruß, Sebastan

nailor 25. Dez 2002 14:42

ReadOnly bedeutet, dass man nur markieren und kopieren kann.
Was du meinst, ist enabled:=false;

Yheeky 25. Dez 2002 14:47

@Nailor: Dann wird die Schrift aber grau und das mag er bestimmt auch nicht...

nailor 25. Dez 2002 14:50

Jetzt wollte ich mich schon beinahe ärgern, dass ich zu lahm war, aber meine Antwort ist ja eine ganz andere. Es sei dir verziehen! :wink:

8) Kommt davon, wenn man zu viele IE-Fenster offen hat 8)

PS: Ich hab mal eine Frage zu den Smilies: Wurde :cat: extra für Sakura entworfen?

nailor 25. Dez 2002 14:52

Zum zweiten Mal zu lahm!

Abder was hat man von einem Edit ohne jeglichen Mauszeiger???

nailor 25. Dez 2002 14:57

Er kann auch da:

http://www.delphipraxis.net/viewtopic.php?t=378

schaun was er haben möchte, und dann nochmal fragen, wie genau das am besten geht!

Pseudemys Nelsoni 25. Dez 2002 15:37

sorry, hab mich völlig falsch ausgedrückt, thx für die vielen antworten.
Also ich meine nicht den cursor, sondern das blinkende teil in der memobox, diese schreibteil da eben *g*

wenn mir jemand sagt wie das weggeht wär das nett

danke

gruss

nailor 25. Dez 2002 17:32

am einfachsten über enabled:=false; wobei dann das Dingen auch grau wird...

sakura 25. Dez 2002 17:56

Zitat:

Zitat von Nailor
PS: Ich hab mal eine Frage zu den Smilies: Wurde :cat: extra für Sakura entworfen?

Jain, ich habe es damals, als die Smilies ausgewählt wurden gesehen und ein wenig gebetelt, weil ich Katzen halt mag.

...:cat:...:cat:...:cat:...:cat:...:cat:...:cat:.. .:cat:...:cat:...:cat:...:cat:...:cat:...:cat:...: cat:...

Pseudemys Nelsoni 25. Dez 2002 18:08

jo das ist es ja ich will nicht das sie grau wird, und noch was rauskopieren können....so ähnlich wie bei mirc das status fenster...da blinkt auch ken schreibdingsda rum :(

Sebastian Nintemann 25. Dez 2002 19:23

Hallo silent, die API-Funktion HideCaret macht das was du willst, nämlich das Caret (so heißt das blinkende Ding) zu verstecken. Du musst ihr das Fenster Handle übergeben für dessen Fenster das Caret versteckt werden soll.
Hier also:
Code:
  HideCaret(Memo1.Handle);
Packs mal in OnMouseDown vom Memo und ins FormCreate und guck ob du das Caret noch irgendwann zu sehen kriegst.

Gruß, Sebastian

Pseudemys Nelsoni 25. Dez 2002 19:54

ah, danke, das geht soweit mit nem button, das er es dann verteckt beim klicken, hab das mit oncreate und onactivate bei form1 versucht, da klappt das aber nicht warum? *g+

Sebastian Nintemann 25. Dez 2002 20:04

Hallo, bei einem ButtonClick hats wenig Sinn, da wenn das Memo den Focus verliert es von sich aus das Caret versteckt. Wie gesagt, im OnMousedown des Memos. Minimierst du aber das Fenster und stellst es dann wieder her so erscheint das Caret wieder. Ich versuch nochmal rauszufinden wo man den Code noch reinpacken könnte um das zu verhindern. Der oben genannte Code im OnMouseDown des Memos bewirkt aber schon einen "Mirc-ähnlichen" Efekt :mrgreen:

Gruß, Sebastian

Pseudemys Nelsoni 25. Dez 2002 20:09

danke :)

Christian Seehase 27. Dez 2002 03:44

Moin Silent,

ich würde das wegschalten des Carets allerdings besser im OnEnter Ereignis unterbringen. Wenn das Memo nämlich nicht mit der Maus, sondern über die Tastatur angesteuert wird wird OnMouseDown nicht ausgeführt.

Sebastian Nintemann 27. Dez 2002 08:22

Hallo Christian, ich dachte auch zuerst an OnEnter, habs ausprobiert und leider scheint es da überhaupt keine Wirkung zu zeigen - genau wie im OnCreate, OnActivate und OnShow des Forms.
Sofern das Memo beim Start des Programms den Focus hat hab ich noch keinen Weg gefunden das Caret nicht erscheinen zu lassen. Lösung: Den Focus auf ein anderes Control legen beim Start.
Du hast aber recht: setzt man den Focus per Tastatur (Tab) auf das Memo hat man auch schon wieder das Caret, genauso wenn das Fenster minimiert war...

Gruß, Sebastian


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 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