Hallo zusammen...
ich suche eine Möglichkeit den Index der ersten und den Index der letzten "sichtbaren Zeile" in einem EditorGadgert zu ermitteln.
Ich habe im CodeArchiv und in der WinAPI leider nichts finden können. Hab ich da was übersehen...hat einer einen Tipp
EditorGadget erste & letzte sichtbare Zeile ermitteln
- Ghosty1967
- Beiträge: 203
- Registriert: 29.08.2005 13:56
- Computerausstattung: Intel i7, 128GB Ram, Win10 Ultimate, PB6.00 Alpha 3
- Wohnort: Köln
Re: EditorGadget erste & letzte sichtbare Zeile ermitteln
also mit
bekommt man die erste sichtbare zeile
Edit : Quelle -> https://docs.microsoft.com/de-de/window ... isibleline
Evt muss man die letzte Zeile aus grösse des fonts und Zeilenhöhe und Grösse des gadgets errechnen... so als anhaltspunkt...
Code: Alles auswählen
SendMessage_(GadgetID(EditorGadget), #EM_GETFIRSTVISIBLELINE, 0, 0)
Edit : Quelle -> https://docs.microsoft.com/de-de/window ... isibleline
Evt muss man die letzte Zeile aus grösse des fonts und Zeilenhöhe und Grösse des gadgets errechnen... so als anhaltspunkt...
PureBasic 6.04 LTS (Windows x86/x64) | Windows10 Pro x64 | Asus TUF X570 Gaming Plus | R9 5900X | 64GB RAM | GeForce RTX 3080 TI iChill X4 | HAF XF Evo | build by vannicom
Re: EditorGadget erste & letzte sichtbare Zeile ermitteln
Hast Du Dir schon einmal dieses Beispiel von Seymour Clufley aus dem englischen Forum angeschaut? Der Link funktioniert möglicherweise zunächst nicht korrekt, weil er "../english/.." fälschlicherweise in "../blogenglish/.." konvertiert, was zu einem "404 Not found" führt. In diesem Fall musst Du in den entsprechenden Karteireiter im Browser wechseln und "blog" händisch entfernen, denn dann funktioniert der Link...
- Ghosty1967
- Beiträge: 203
- Registriert: 29.08.2005 13:56
- Computerausstattung: Intel i7, 128GB Ram, Win10 Ultimate, PB6.00 Alpha 3
- Wohnort: Köln
Re: EditorGadget erste & letzte sichtbare Zeile ermitteln
Ersteinmal Danke für die Tipps...
Allerdings komme ich immer noch nicht klar. Ich möchte "nur", daß das linke EditorGadget genause scrollt
wie das rechte. Das muss doch gehen.
Ich habe hier mal einen Ansatz von mir gepostet. Vielleicht könnt ihr mir da weiterhelfen warum das nicht
funktioniert. Wo ist denn da mein Denkfehler?
Allerdings komme ich immer noch nicht klar. Ich möchte "nur", daß das linke EditorGadget genause scrollt
wie das rechte. Das muss doch gehen.
Ich habe hier mal einen Ansatz von mir gepostet. Vielleicht könnt ihr mir da weiterhelfen warum das nicht
funktioniert. Wo ist denn da mein Denkfehler?
Code: Alles auswählen
Enumeration
#WIN_INTERFACE
#EDT_LEFT
#EDT_RIGHT
EndEnumeration
If OpenWindow(#WIN_INTERFACE, 0, 0, 500, 300, "EditorGadget Scrolltest", #PB_Window_SystemMenu)
;Linkes EditorGadget erstellen und Eigenschaften setzen
EditorGadget (#EDT_LEFT , 5, 5, 245, 290, #PB_Editor_ReadOnly)
SetGadgetColor(#EDT_LEFT , #PB_Gadget_BackColor , $DEDEDE) ;Hintergrundfarbe setzen
SetGadgetColor(#EDT_LEFT , #PB_Gadget_FrontColor, $A0A0A0) ;Schriftfarbe setzen
SendMessage_ (GadgetID(#EDT_LEFT), #EM_SHOWSCROLLBAR, #SB_VERT, #False) ;Vertikalen Scrollbalken "verstecken"
;Rechtes EditorGadget erstellen und Eigenschaften setzen
EditorGadget (#EDT_RIGHT, 250, 5, 240, 290)
;EditorGadgets mit einfachem Text füllen"
For row = 1 To 100
AddGadgetItem(#EDT_LEFT , -1, "LINE: " + RSet(Str(row), 3, "0"))
AddGadgetItem(#EDT_RIGHT, -1, "LINE: " + RSet(Str(row), 3, "0"))
Next row
Repeat
Event.l = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case #EDT_RIGHT
;Erste "sichtbare Zeile" des rechten EditorGadgets ermitteln
fLine.l = SendMessage_(GadgetID(#EDT_RIGHT), #EM_GETFIRSTVISIBLELINE, 0, 0)
Debug fLine
;Erste "sichtbare Zeile" des linken EditorGadgets setzen
SendMessage_(GadgetID(#EDT_LEFT), #EM_LINESCROLL, 0, fLine)
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
Re: EditorGadget erste & letzte sichtbare Zeile ermitteln
Hast Du schon einmal dieses Beispiel von netmestro aus dem englischen Forum ausprobiert, das mit Hilfe eines Callbacks das Scrolling in zwei EditorGadgets synchronisiert?
- Ghosty1967
- Beiträge: 203
- Registriert: 29.08.2005 13:56
- Computerausstattung: Intel i7, 128GB Ram, Win10 Ultimate, PB6.00 Alpha 3
- Wohnort: Köln
Re: EditorGadget erste & letzte sichtbare Zeile ermitteln
DAS ist aber sowas von ganz genau was ich brauche...SUPER, dankeschön
aber wieso habe ich das nicht gefunden...ich hab echt im deutschen, englischem und sogar im französischem Forum gesucht
aber wieso habe ich das nicht gefunden...ich hab echt im deutschen, englischem und sogar im französischem Forum gesucht