Memo -> Nur lesen -> Nix markieren
-
Also das mit dem tranparenten Bild finde ich ganz ok... oder du fängst das Focus-Event ab und setzt es dann irgendwoanders hin.
@Gernot
Kann mir net vorstellen dass das SP is... SP wäre nicht auf die Idee mit dem transparenten Bild gekommen.
-
lol, das soll ich sein *g* Also dass man ein Memo auf ReadOnly setzen kann, weiß ich schon.
-
Ist vermutlich nicht SP also kein problem, <gernot> (o:
Karsten: Enabled = false ist keine Option für dich?
-junix
-
An dieser Stellle möchte ich bitten SP zu ignorieren, er kann leider nicht lesen...
-junix
-
Hi,
wenn ich die Enabled Eigenschaft nehme, habe ich ja das Problem, dass die Komponente Grau wird.
Vielleicht finden wir besser eine Lösung, wenn ich sage was ich überhaupt will. Ich will einen Mehrzeiligen schwarzen Text auf weißem Hintergrund anzeigen. Mit nem Label kann ich ja nur Text in eine Zeile schreiben, mit Ausnahme ich weise dem Label den text at RunTime zu und setze Umbrüche.
Das Memo macht die Umbrüche selbst, das finde ich ganz gut. Es geht mir nur ums anzeigen von Texten. Im Notfall würde ich aber auch ein transparentes Bild nehmen.
Wenn ich den Fokus umleite, wäre es aber auch komisch, wenn ich dann das Memo anklicke und dann auf einmal ein Button den Fokus hat *gg*.
Kann man vielleicht, wenn die Komponenten ein Mausklick empfängt, diese Botschaft sozusagen terminieren?
Karsten
Ich bin übrigends nicht der Spieleprogrammierer *gg*
-
Du kannst das Event natürlich auch ausfiltern. (Gibt bestimmt Beispiele im FAQ bzw. hier im Forum)
Aber ich war immer so faul und hab einfach der Form den Focus gegeben und hatte
noch nie Probleme damit. Nicht schön, aber schnell gemacht.
-
Wenn du den Text nicht scrollen musst kannst du das Memo auch auf ein Panel packen und bei letzterem Enabled auf false setzen.
-
Hi,
ich habe das mit dem Focus mal gestest, aber dennoch kann ich den Text markieren, irgendwas muss da wohl falsch sein:
void __fastcall TForm1::Memo1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { Form1->SetFocus(); }Was müsste ich ändern?
Karsten
-
Original erstellt von Jansen:
Wenn du den Text nicht scrollen musst kannst du das Memo auch auf ein Panel packen und bei letzterem Enabled auf false setzen.Versuchs mal, hört sich vielversprechend an

-
a) Machs wie Jansen meinte
b) Machs mal bei OnEnter
-
Hallo,
so wie Jansen es geraten hat, klappt es Wunderbar. Bezüglich eines mehrzeilien Textfeldes, ist MS Visual C# übrigends weiter. Wenn man dort den Korrespendant zur Label Komponenten nutzt, geht es ohne Probleme einen Text mehrzeilig darzustellen.
Na ja, besten dank!!
Karsten
-
Original erstellt von <Karsten>:
Bezüglich eines mehrzeilien Textfeldes, ist MS Visual C# übrigends weiter.Gotteslästerung!

Bei www.torry.net u.ä. gibt es bestimmt zig mehrzeilige Labels, ggf. auch mit Hintergrundbild.
-
hallo,
@karsten:
"Mit nem Label kann ich ja nur Text in eine Zeile schreiben, mit Ausnahme ich weise dem Label den text at RunTime zu und setze Umbrüche."das stimmt nicht, man kann einem label zur entwurfszeit das property WordWrap=true; zuweisen, somit ist der zeilenumbruch da, auch die Color=White; lässt sich zuweisen, somit sind beide forderungen -> schwarzer text auf weißem hintergrund und zeilenumbruch erfüllt. wenn man den label noch innerhalb eines panels macht, kann man sogar noch den typischen 3d style eines Memos etc. darstellen...
warum soll man den sp nicht mehr beachten????
mfg
murphy
-
hallo,
sp: alles klar, jetzt weiß ich warum!
murph
-
hi ich weiss nicht ob das hier reinpasst aber kann mit jemand erklären was ein Fokus ist? Also hat nix mit Helligkeit zutun oder?

-
Hallo
Ein fokusiertes Control erhält alle aktuellen Tastatur-Ereignisse. Im allgemeinen werden solche Controls mit einen Punktierten Rechteck / mit einem blauem Balken / mit einem Eingabefokus versehen.
bis bald
akari
-
Ja ok verstanden...Ich gehe auf Button1 z.B. und dann im Objektinspektor und Ereignisse. Wie mache ich das, dass ich mit der Enter Taste, ein ereigniss durchführe?
-
Hallo
Bei TButton wird immer OnClick ausgeführt, auch bei Enter.
Also Doppelklick auf diesen Event im Objektinspektor und in der erscheinenden Methode den eigenen Code eintragen.bis bald
akari