Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Nonvcl Edit Text scrolllen (https://www.delphipraxis.net/174805-nonvcl-edit-text-scrolllen.html)

EWeiss 11. Mai 2013 00:29


Nonvcl Edit Text scrolllen
 
Ich hab ein problem bei meinem Nonvcl Edit Control
Wenn ich ein Wort eingebe dann mit dem Cursor bis zum ende scrolle bleibt dieser am Ende der EditBox stehen.
Der Text wird also nicht nach links verschoben so das ich längere Eingaben als die EditBox gesamtlänge eingeben kann.

Delphi-Quellcode:
function TSkinEdit.CreateWindow(ParentHandle: HWND): HWND;
begin
  LStyle := WS_CHILD or ES_NOHIDESEL;

  if Visible then
    LStyle := Lstyle or WS_VISIBLE;
  if VScroll then
    LStyle := Lstyle or WS_VSCROLL;
  if Multiline then
    LStyle := Lstyle or ES_MULTILINE;

  FHEdit := CreateWindowEx(WS_EX_TRANSPARENT, 'EDIT',
    '', LStyle, Left, Top, Width, Height, ParentHandle, DlgItemID,
    SkinEngine.skInstance, nil);

  if FHEdit <> 0 then
  begin
    SubClass(Handle);

  end;

  Result := FHEdit;
end;
Was fehlt hier?
Oder kann man grundsätzlich nicht über die länge des Edit, Text eingeben? (Doch beim VCL EDIT geht das mit dem Scrollen)
Hmm... Dann fehlt was.

Ich weiß das man die länge der Eingabe begrenzen kann
Delphi-Quellcode:
SendDlgItemMessage(hDlg, IDC_EDIT1, EM_SETLIMITTEXT, (WPARAM)50, 0);


Aber genau das möchte ich nicht finde aber nicht den weg um die begrenzung generell aufzuheben (nonvcl).

gruss

turboPASCAL 11. Mai 2013 07:44

AW: Nonvcl Edit Text scrolllen
 
Zitat:

Aber genau das möchte ich nicht finde aber nicht den weg um die begrenzung generell aufzuheben (nonvcl).
Glaube nicht das diese möglichkeit für ein Edit besteht.

Wenn du einen Editor bauen möchest nutze doch ein Richedit oder setze die länge des Edits auf zB. 33554432 Zeichen.

EWeiss 11. Mai 2013 09:19

AW: Nonvcl Edit Text scrolllen
 
Zitat:

Zitat von turboPASCAL (Beitrag 1215006)
Zitat:

Aber genau das möchte ich nicht finde aber nicht den weg um die begrenzung generell aufzuheben (nonvcl).
Glaube nicht das diese möglichkeit für ein Edit besteht.

Was macht denn Delphi?
Da geht es doch auch bei der VCL Komponente von TEdit.

Zitat:

Wenn du einen Editor bauen möchest nutze doch ein Richedit oder setze die länge des Edits auf zB. 33554432 Zeichen.
Der ist ja fertig :(
Wenn ich bei ProgrammBar Titel: Meine Programme, einen längeren Titel eingeben möchte
ist das auf die länge der Edit beschränkt.

Welche Message ist denn das um das Edit auf 256 Zeichen (würde reichen) zu setzen.

gruss

turboPASCAL 11. Mai 2013 09:23

AW: Nonvcl Edit Text scrolllen
 
Delphi-Quellcode:
SendDlgItemMessage(hDlg, IDC_EDIT1, EM_SETLIMITTEXT, 256, 0);
?!

EWeiss 11. Mai 2013 09:35

AW: Nonvcl Edit Text scrolllen
 
Zitat:

Zitat von turboPASCAL (Beitrag 1215009)
Delphi-Quellcode:
SendDlgItemMessage(hDlg, IDC_EDIT1, EM_SETLIMITTEXT, 256, 0);
?!

Da bin ich ja am raten ;)
Weil mit dieser Message setze ich ja die limitierte Eingabe

Ich denke so..
Delphi-Quellcode:
SendDlgItemMessage(hDlg, IDC_EDIT1, EM_SETSEL, 256, 256);


Aber! Mein Problem ist halt das ich das ganze ohne SendMessage also beim erstellen
des Windows schon bereitstellen will.

OK!
Die lösung für mein problem war ES_AUTOHSCROLL

Danke.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:27 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