Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi nochmal bezüglich eines Memo's (https://www.delphipraxis.net/3033-nochmal-bezueglich-eines-memos.html)

Pseudemys Nelsoni 19. Feb 2003 09:30


nochmal bezüglich eines Memo's
 
Hi,

Sorry das ich hier nochmal (fast!) das gleiche poste, aber ich sitze an diesem Problem bald 2 Wochen und möchte es hier nochmal genauer erklären...

Also ich habe eine Memo1 Komponente auf meinem Programm (Chat Programm) und ich möchte das memo feld so haben wie es bei mirc der »channel« ist...

Das heisst,

1. es sollte kein Caret vorhanden sein und
2. da das memo ja schon beim start eine Zeile mehr besitzt als man überhaupt Strings hat
möchte ich diesen natürlich löschen. Das funzt auch mit "memo1.SelStart:=length(memo1.Text);
PostMessage(Memo1.Handle, WM_KEYDOWN, VK_BACK, 0 );"
aber NUR wenn "ReadOnly" von der memobox auf "False" ist ... da ich sie aber "True" hab (joa true ich finde man sollte nicht in eine memo reinschreiben die dazu gedacht ist texte zu ampfangen und die zu enthalten die ich sende.....bei mirc kann man da ja auch nicht reinschreiben in den chan :D) funzt das nicht

kann mir jemand ne lösung sagen?

Es muss doch ne möglichkeit geben...doof das es nichtmal die eigenschaften gibt, wie z.B "Caret nicht anzeigen" usw

bin schon am verzweifeln :cry:

gruss mario

pierro 19. Feb 2003 13:10

Lass das Memo.Readonly doch einfach False sein. Für das Memo definierst du dann das KeyPress-Event, und überschreibst dort Key mit nil. Schon hast du den gleichen Effekt, als wenn das Teil Readonly wäre.

Memo's ohne Caret gibt es nicht.

Wenn du den Cursorzeiger für die Eingabe im Memo deaktivieren willst, dann überschreib doch einfach den Cursorzeiger mit dem Cursor für "keine Aktion erlaubt"

Memo1.Cursor = crNo;

Hoffe geholfen zu haben

pierro

Gollum 19. Feb 2003 13:24

Hallo silent,

warum nimmst Du keine Listbox? Da Du eh keine Eingaben zulässt, bietet sich das doch an?

Pseudemys Nelsoni 19. Feb 2003 17:17

Zitat:

Lass das Memo.Readonly doch einfach False sein. Für das Memo definierst du dann das KeyPress-Event, und überschreibst dort Key mit nil. Schon hast du den gleichen Effekt, als wenn das Teil Readonly wäre.
kannst du mir noch sagen wie?


Zitat:

Memo's ohne Caret gibt es nicht.
Doch, mIRC hat doch eine (ist das keine memobox?)


Zitat:

Wenn du den Cursorzeiger für die Eingabe im Memo deaktivieren willst, dann überschreib doch einfach den Cursorzeiger mit dem Cursor für "keine Aktion erlaubt"

Memo1.Cursor = crNo;
bis auf den Mauszeiger ändert das aber nicht das man da reinschreiben kann :\

Zitat:

Hoffe geholfen zu haben
jo, ne Antwort ist immer ne Hilfe, danke ;)


Zitat:

warum nimmst Du keine Listbox? Da Du eh keine Eingaben zulässt, bietet sich das doch an?
Hi Gollum, hatte ich mir auch schon überlegt, aber wie sollte ich dann noch Texte rauskopieren können, und stylisch sieht das auch nicht so gut aus wenn man jetzt satz markieren kann *g*

Danke für die Antwort ;)

http://www.united-coding.de/j0.jpg

^^^^das ist die letzte Zeile die immer da ist egal wieviele Strings ich ins Memo einfüg (damit ihr wisst was ich meine), das muss weg :(

gruss mario

Chewie 19. Feb 2003 17:34

Zitat:

Zitat von silent
^^^^das ist die letzte Zeile die immer da ist egal wieviele Strings ich ins Memo einfüg (damit ihr wisst was ich meine), das muss weg :(

gruss mario

Dazu musst du die letzten zwei Zeichen des Strings an der vorletzten Stelle der TStrings löschen. Das kommt daher, dass bei dem Hinzufügen von Strings durch TStrings.Add immer ein Zeilenumbruch ans Ende angefügt wird. Dadurch hat man immer eine Zeile mehr als man eigentlich braucht. Lösch den letzten Zeilenumbruch, und die letzte Zeile sollte weg sein.

janjan 19. Feb 2003 18:13

Das Ding bei mIRC ist kein MemoFeld sondern ein ganz einfaches Static (ungefähr sowas wie eine TPaintBox) und eine ScrollBar...

RomanK 19. Feb 2003 18:23

Zitat:

Zitat von silent
kannst du mir noch sagen wie?

Delphi-Quellcode:
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
key := #0;
end;

Pseudemys Nelsoni 19. Feb 2003 18:59

Zitat:

Dazu musst du die letzten zwei Zeichen des Strings an der vorletzten Stelle der TStrings löschen. Das kommt daher, dass bei dem Hinzufügen von Strings durch TStrings.Add immer ein Zeilenumbruch ans Ende angefügt wird. Dadurch hat man immer eine Zeile mehr als man eigentlich braucht. Lösch den letzten Zeilenumbruch, und die letzte Zeile sollte weg sein
jo, das funzt aber nur wenn die eigenschaft "ReadOnly" False ist.


Zitat:

Das Ding bei mIRC ist kein MemoFeld sondern ein ganz einfaches Static (ungefähr sowas wie eine TPaintBox) und eine ScrollBar...
ah ok ;)

@FuckRacism, das funzt :) danke

gruss mario

RomanK 19. Feb 2003 19:10

Hoi,e
erstelle erst mal nen Popupmenu auf deinem Form( drittes von links auf Standart) und dann im OI bei der Eigenschaft PopUpMenu des Memo1 das PopUpMenu1 auswählen. Und fertig.

Pseudemys Nelsoni 19. Feb 2003 19:21

jop hab ich gemacht, deswegen hat ich mein vorigen beitrag shcnell editiert <g> aber du hast ihn wohl noch gelesen

big thx ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:48 Uhr.
Seite 1 von 2  1 2      

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