| |
|
|
Timotheus | Hallo,
3 Fragen:
1. Kann man an Edits (Wie bei Listboxen) einen waagerechten Scrollbalken einfügen? Weil ich möchte die Zeilenanzahl in einer EditBox anzeigen, und wenn dann z.B. die Zeile zu lang wird, dann ist der Scrallbalken plötzlich in der letzten Zeile.
2. Kann man in einer Edit den Anfang einer Zeile markieren, in der man nur die Zeilennummer kennt, aber nicht die Anzahl Zeichen die davor stehen?
3. Wie viele Zeilen umfassen den die Befehle SendString(Edit&,{PGUP}) und SendString(Edit&,{PGDN})? Ist das von der größe des Edits abhängig, oder hat das immer einen festen Wert? :rolleyes:
Danke für Antworten, Timo |
|
|
| |
|
|
|
| Hallo Timo...
Bin zur Zeit leider mit zu vielen anderen Sachen beschäftigt und verstehe auch nicht ganz was du möchtest. Kannst dus noch mal etwas anders erklären??? |
|
|
| |
|
|
|
Normann Strübli | Hi,
bei Deiner Ersten Frage bin ich mir jetzt auch nicht ganz sicher was Du meinst. Du möchtest nicht das der Waagerechte Scrollbalken IN dem Edit Auftaucht sondern daneben oder wie jetzt?
zu 2. Die Zeichen die vor einer Zeile (hier Zeile%) stehen kannst Du ganz einfach hiermit ermitteln: @SendMessage(edit%,~EM_LINEINDEX,Zeile%,0) Die Funktion gibt dann die Anzahl der Zeichen vor Zeile Nr. Zeile% zurück.
Gruß Normann |
|
|
| |
|
|
|
Normann Strübli | Hi,
Nochmal kurz zu Frage3:
Persönlich würde ich den Befehl Sendstring nicht verwenden, es geht auch etwas eleganter. Im folgenden Beispiel kannst Du den Text Zeilen- oder Seitenweise in Deinem Edit Scrollen ich hoffe das hilft Dir weiter...
Gruß Normann
Header-Dateien
$H windows.ph
$H structs.ph
$H messages.ph
$H commctrl.ph
DEF LoWord(1) And(&(1),$FFFF)
DEF HiWord(1) And(&(1)>>16,$FFFF)
DEF MakeLong(2) Or(&(1),&(2)<<16)
CLS
DECLARE Edit%
Edit% = @Create("MultiEdit",%HWnd,"",10,10,200,200)
declare Scroll&
Declare ScrollPGDN&,ScrollPGUP&,ScrollLineUp&,ScrollLineDown&
ScrollPGDN& = @Create("Button",%HWND,"PGDN",0,300,80,20)
ScrollPGUP& = @Create("Button",%HWND,"PGUP",110,300,80,20)
ScrollLineUp& = @Create("Button",%HWND,"LineUp",0,340,80,20)
ScrollLineDown& = @Create("Button",%HWND,"LineDown",110,340,80,20)
whilenot 0
waitinput
IF @GetFocus(ScrollPGDN&)
Scroll& = @SendMessage(edit%,~EM_SCROLL,~SB_PAGEDOWN,0)
Elseif @GetFocus(ScrollPGUP&)
Scroll& = @SendMessage(edit%,~EM_SCROLL,~SB_PAGEUP,0)
Scroll& = Makelong(65536 - LoWord(Scroll&),HiWord(Scroll&))
Elseif @GetFocus(ScrollLineUp&)
Scroll& = @SendMessage(edit%,~EM_SCROLL,~SB_LINEUP,0)
Scroll& = Makelong(65536 - LoWord(Scroll&),HiWord(Scroll&))
Elseif @GetFocus(ScrollLineDown&)
Scroll& = @SendMessage(edit%,~EM_SCROLL,~SB_LINEDOWN,0)
endif
If HiWord(Scroll&)
Locate 18,1
print @Space$(30)
Locate 18,1
Print "Zeilen Gescrollt: ",LoWord(Scroll&)Erfolgreich gescrollt
print scroll&
@Setfocus(edit%)
Scroll& = 0
endif
wend
|
|
|
| |
|
|