Delphi-PRAXiS
Seite 2 von 2     12   

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 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 18:09 Uhr.
Seite 2 von 2     12   

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