Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Memo soll nicht markiert werden können ! (https://www.delphipraxis.net/36099-memo-soll-nicht-markiert-werden-koennen.html)

Äfan 15. Dez 2004 20:24


Memo soll nicht markiert werden können !
 
Hi,

Also ich habe eine Memo, in die beim programmstart ein RichText geladen wird:

Wenn man in das Memo Feld klickt erscheint ja der Blinkende Cursor. Ich habe die Memo schon auf ReadOnly gestellt. Wie kann ich es jetzt noch machen, dass man auch keinen Cursor setzen kann und auch kein Text markieren kann ? Ich habe es mal auf Enabled gemacht, da war aber die ganze Memo deaktiviert also man konnte den text dann schlecht lesen, das soll nicht sein !


Grußformel.Text := 'MFG';

Name.Text := 'Äfan'; :-D

Morlon 15. Dez 2004 22:18

Re: Memo soll nicht markiert werden können !
 
ReadOnly auf true lassen und dann sowas in der art:

Delphi-Quellcode:
procedure TForm1.Memo1Enter(Sender: TObject);
begin
  button1.SetFocus;
end;
sobald das memo aktiv wird lässt du den fokus einfach auf irgend was anderes springen, damit hat der anwender 0 chance da rein zu kommen ;)

Grüße
Elmar

Äfan 16. Dez 2004 19:35

Re: Memo soll nicht markiert werden können !
 
Danke :thumb:

Matze 16. Dez 2004 19:52

Re: Memo soll nicht markiert werden können !
 
Zitat:

Zitat von Morlon
sobald das memo aktiv wird lässt du den fokus einfach auf irgend was anderes springen, damit hat der anwender 0 chance da rein zu kommen ;)

Also "0 Chance" ist übertrieben. Mittels Handle des Memos, kann man den Text schon auslesen (klar, das würde wahrscheinlich keiner machen, nur zur Vervollständigung)

teebee 16. Dez 2004 20:32

Re: Memo soll nicht markiert werden können !
 
Es gibt noch einen 'schmutzigen' Trick, ein Memo oder RichEdit so darzustellen, dass es wirklich ReadOnly ist: man setzt es auf ein Panel, bei dem man Enabled auf False setzt.
Ein Nachteil ist, dass man keinen Text herauskopieren kann (was vielleicht erwünscht ist), und scrollen geht nur per
Delphi-Quellcode:
SendMessage(RichEdit.Handle,EM_LINESCROLL,0,{+/-}x); // +x: x Zeilen nach unten, -x: x Zeilen nach oben
von außerhalb des Edits.

Gruß, teebee


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz