| |
|
|
| KompilierenMarkierenSeparierenSource wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
MultiEdit: Zeilen nachträglich einfügen oder löschen
$H Messages.ph
$H Windows.ph
Declare multi&,Ende&
cls
Proc AddLineToMulti
Parameters Multi&,Text$
Declare TextEnde&
Text$ = Text$+
TextEnde& = Len(GetText$(Multi&))
~sendmessage(Multi&,~EM_SETSEL,TextEnde&,TextEnde&)
~sendmessage(Multi&,~EM_REPLACESEL,1,addr(Text$))
EndProc
Proc InsertLineToMulti
Parameters Multi&,Text$,Line&
Declare Index&
Index& = ~sendMessage(Multi&,~EM_LINEINDEX,Line&-1,0)
If Index& > -1
Text$ = Text$+
~sendmessage(Multi&,~EM_SETSEL,Index&,Index&)
~sendmessage(Multi&,~EM_REPLACESEL,1,addr(Text$))
else
AddLineToMulti(Multi&,Text$)
endif
EndProc
Proc RemoveMultiLine
Parameters Multi&,Line&
Declare Index&,Index1&
Index& = ~sendMessage(Multi&,~EM_LINEINDEX,Line&-1,0)
Index1& = ~sendMessage(Multi&,~EM_LINEINDEX,Line&,0)
~sendmessage(Multi&,~EM_SETSEL,Index&,Index1&)
~sendmessage(Multi&,~EM_REPLACESEL,1,)
Endproc
Proc GetMultiLineText
Parameters Multi&,Line&
Declare Retval$
RetVal$ = space$(1024)
~sendmessage(Multi&,~EM_GETLINE,Line&-1,addr(Retval$))
Return Trim$(RetVal$)
Endproc
Multi& = Create(MultiEdit,%hwnd,,40,0,300,300)
AddLineToMulti(Multi&,Test)Text anhängen
AddLineToMulti(Multi&,Test1)
AddLineToMulti(Multi&,Test2)
AddLineToMulti(Multi&,Test3)
AddLineToMulti(Multi&,Test4)
InsertLineToMulti(Multi&,Einfügen in Zeile 3,3)Text in Zeile einfügen
InsertLineToMulti(Multi&,Einfügen in Zeile 5,5)
InsertLineToMulti(Multi&,Einfügen in Zeile 10,10)geht nicht also ans Ende
AddLineToMulti(Multi&,Test5)
InsertLineToMulti(Multi&,Einfügen in Zeile 1,1)
Waitinput
RemoveMultiLine(Multi&,5)Zeile entfernen
waitinput
Messagebox(GetMultiLineText(Multi&,1),Inhalt von Zeile 1,0)
whilenot ende&
waitinput
wend
end
|
|
|
| |
|
|