AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Memolines readonly ?

Offene Frage von "150gozilla"
Ein Thema von 150gozilla · begonnen am 4. Okt 2005 · letzter Beitrag vom 5. Okt 2005
Antwort Antwort
150gozilla

Registriert seit: 1. Sep 2005
Ort: Taunusstein
116 Beiträge
 
Delphi 5 Professional
 
#1

Memolines readonly ?

  Alt 4. Okt 2005, 15:12
Hallo,

ich habe ein Memo mit 28 Lines.

So nun möchte ich das Line 1 und Line 9 nicht mehr verändert werden können, aber der rest schon.

Ich bin am verzweifeln.

Könnt ihr mir helfen ?
Chris
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Memolines readonly ?

  Alt 4. Okt 2005, 15:15
Du könntest im OnSelection Change Ereigniss die aktuelle Zeile herausfinden und dann die RadOnly Eigenschaft entsprechend setzen. Dazu findest du hier sicher Code.

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
150gozilla

Registriert seit: 1. Sep 2005
Ort: Taunusstein
116 Beiträge
 
Delphi 5 Professional
 
#3

Re: Memolines readonly ?

  Alt 4. Okt 2005, 15:21
<-- finde den geil , ich suche seid 2 stunden, und finde nix passendes.

mit dem onselect hatte ich es auch probiert, aber klappte nicht, oder ich habe was falls gemacht.
Chris
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: Memolines readonly ?

  Alt 4. Okt 2005, 15:33
Mal angenommen, du kennst den Code zum Herausfinden der aktuellen Zeile (Ich kenne ihn nicht, dürfte es aber in der DP geben), dann sollte dein OnSelectionChange Ereigniss in etwa so aussehen:

Delphi-Quellcode:
if (GetLine = 0) or (GetLine = 1) or (GetLine = 2) ... then//GetLine ist die Procedure zum herausfinden der Zeile und Zeile 0 ist die 1. Zeile
begin
  Memo1.ReadOnly := true
end
  else
begin
  Memo1.ReadOnly := false;
end;
Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Memolines readonly ?

  Alt 4. Okt 2005, 15:36
Wo findet man in einem Memo denn das OnSelectionChange? :such:

Eine nicht schöne aber funktionierende Möglichkeit:
Delphi-Quellcode:
procedure TForm1.memo_TestChange(Sender: TObject);
var
  mycaretpas: TPoint;
begin
  with (Sender as TMemo) do
  begin
    mycaretpas := CaretPos;
    if (mycaretpas.Y < 9) then // Wenn der Caret in den Zeilen 0 bis 9 ist
    begin
      SendMessage(Handle, WM_UNDO, 0, 0); // Mache die Änderung rückgänig
      SelLength := 0;
      Perform(EM_EMPTYUNDOBUFFER, 0, 0); // und lösche den Undo-Buffer
    end;
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: Memolines readonly ?

  Alt 4. Okt 2005, 15:39
Zitat:
Wo findet man in einem Memo denn das OnSelectionChange?
Ups die gibt's ja nur bei RichEdits ...

Florian
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
lizardking

Registriert seit: 2. Sep 2005
76 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Memolines readonly ?

  Alt 4. Okt 2005, 16:09
Zitat von Florian Bernd:
Zitat:
Wo findet man in einem Memo denn das OnSelectionChange?
Ups die gibt's ja nur bei RichEdits ...

Florian
*g*

Funzt aber, wenn man beim Memo einfach OnKeyDown und OnMouseDown benutzt und dort die Abfrage nach der Zeile macht :

Delphi-Quellcode:
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Memo1.CaretPos.Y = 0) or (Memo1.CaretPos.Y = 8) then
    Memo1.ReadOnly := true
  else
    Memo1.ReadOnly := false;
end;
Selbiges dann eben nochmal fuer OnMOuseDown
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Memolines readonly ?

  Alt 4. Okt 2005, 21:10
Zitat von lizardking:
... Funzt aber, wenn man beim Memo einfach OnKeyDown und OnMouseDown benutzt und dort die Abfrage nach der Zeile macht :
Hai lizardking,

funktioniert dein Code auch wenn ich mit der Mause in eine Zeile klicke und dann über ein Kontextmenü eine Einfüge/Überschreiben Funktion aufrufe?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
150gozilla

Registriert seit: 1. Sep 2005
Ort: Taunusstein
116 Beiträge
 
Delphi 5 Professional
 
#9

Re: Memolines readonly ?

  Alt 5. Okt 2005, 08:55
Zitat von Sharky:
Zitat von lizardking:
... Funzt aber, wenn man beim Memo einfach OnKeyDown und OnMouseDown benutzt und dort die Abfrage nach der Zeile macht :
Hai lizardking,

funktioniert dein Code auch wenn ich mit der Mause in eine Zeile klicke und dann über ein Kontextmenü eine Einfüge/Überschreiben Funktion aufrufe?
Man kann ja dem Memofeld, ein leeres PopUp Menü zuweißen, somit kann man mit dem kontext menü in diese zeile nichts einfügen
Chris
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:39 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