Fehler bei Scrollbar im EditorGadget

Anfängerfragen zum Programmieren mit PureBasic.
pede
Beiträge: 90
Registriert: 08.07.2007 20:37
Wohnort: brixen / Italien

Fehler bei Scrollbar im EditorGadget

Beitrag von pede »

Hallo...

Das Problem ist folgendes:
sobald ich ein EditorGadget auf ReadOnly setzte, verändern sich die Scrollbars zu "Strichen"... (bei ReadOnly = 0 passt alles!)

ein Bild wie das aussieht seht ihr hier:
http://www.purebasic.fr/german/viewtopic.php?t=14070

ist das nun wirklich ein Bug?
kann man das irgenwie umgehen?
"oh... ein Sarkasmus-Detektor... ein wirklich nützliches Gerät" .. dit.. dit.. ditditdit.. *bumm*
Benutzeravatar
Thomas
Beiträge: 893
Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Kontaktdaten:

Beitrag von Thomas »

Ich persönlich kenne das Problem nicht, aber wenn man in CAV (CodeArchivViewer) einen Code ansieht, sieht das genauso aus (ich denke mal, dass da das gleiche Problem besteht).
v6.00
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ich würde mal behaupten, das liegt am fehlendem EventHandling.
Bug sitzt vorm Monitor.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
pede
Beiträge: 90
Registriert: 08.07.2007 20:37
Wohnort: brixen / Italien

Beitrag von pede »

ts-soft, könntest du das bitte etwas genauer erklären...

per Button-Druck wird das Editor-Gadget vom ursprünglichen Read-Only Zustand in den normalen Modus versetzt...

Mal ein einfaches Beispiel:

Code: Alles auswählen

If OpenWindow(1,100, 100, 500, 500, Test$)
CreateGadgetList(WindowID(1))
EditorGadget(2, 200, 200, 200, 200, #PB_Editor_ReadOnly)
ButtonGadget(3, 100, 100, 50, 30, "Switch")
EndIf
Readonly= 1
Repeat
  event = WaitWindowEvent()
  Select Event
    Case #PB_Event_Gadget 
      Select EventGadget()
         Case 3
             SetGadgetAttribute(2, #PB_Editor_ReadOnly, 0)
      EndSelect
  EndSelect
Until event = #PB_Event_CloseWindow
sobald man das programm startet und viele "w" schreibt, kommt schon eine falsche Scrollbar... auch mit vielen "Enter" wird es falsch

Erst sobald man löscht und neuschreibt wirds richtig

Wie macht man das dann richtig?
"oh... ein Sarkasmus-Detektor... ein wirklich nützliches Gerät" .. dit.. dit.. ditditdit.. *bumm*
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ich kann keine Fehldarstellung feststellen (w2k), lediglich der Switchbutton
switcht nicht :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
pede
Beiträge: 90
Registriert: 08.07.2007 20:37
Wohnort: brixen / Italien

Beitrag von pede »

Hä?
dann versteh ich gar nix mehr...

wieso switcht er nicht?
HilfeDateiPB hat geschrieben: SetGadgetAttribute(): Mit den folgenden Attributen:
#PB_Editor_ReadOnly: Setzt den 'ReadOnly' Status. (0 bedeutet editierbar, ungleich 0 bedeutet nur lesbar)
so mach ichs ja...^^

wie müsste man es dann korrekt machen?
und wieso ändert es etwas ob du win2k oder so wie ich XP nimmst?

:freak:
"oh... ein Sarkasmus-Detektor... ein wirklich nützliches Gerät" .. dit.. dit.. ditditdit.. *bumm*
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Der hier switscht:

Code: Alles auswählen

If OpenWindow(1,100, 100, 500, 500, Test$)
  CreateGadgetList(WindowID(1))
  EditorGadget(2, 200, 200, 200, 200, #PB_Editor_ReadOnly)
  ButtonGadget(3, 100, 100, 50, 30, "Switch")
EndIf

Define.l Readonly
Define.l Event

Repeat
  Event = WaitWindowEvent()
  Select Event
    Case #PB_Event_Gadget
      Select EventGadget()
        Case 3
          SetGadgetAttribute(2, #PB_Editor_ReadOnly, ReadOnly)
          ReadOnly ! 1
      EndSelect
  EndSelect
Until Event = #PB_Event_CloseWindow
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
pede
Beiträge: 90
Registriert: 08.07.2007 20:37
Wohnort: brixen / Italien

Beitrag von pede »

achso, ich hab gemeint bei dir ändert sich nicht das Readonly - Attribut...
Mit meinem Code wollt ich nur von ReadOnly auf Normal schalten...

aber is ja nicht so schlimm, viel schlimmer is, das auch da das Scrollbarproblem NICHT behoben wird....

wieso entsteht das überhaupt und was kann ich dagegen tun?

oder bleibt mir zum schluss nur, 2 verschiedene EditorGadgets zu benutzen, 1ns readonly und ein normales?

mfg
"oh... ein Sarkasmus-Detektor... ein wirklich nützliches Gerät" .. dit.. dit.. ditditdit.. *bumm*
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Ich kann probieren wie ich will, ich bekomme den von dir gezeigten Effekt nicht reproduziert.
...und ich habe auch XP hier.

Vielleicht mal genauere Angaben, wie du das hinkriegst ?

Weil deine Anleitung schlicht und ergreifend falsch ist:
pede hat geschrieben: sobald man das programm startet und viele "w" schreibt, kommt schon eine falsche Scrollbar
Sobald ich deinen Codeschnippsel starte kann ich logischerweise nix eintippen, da ReadOnly.
Und dein Codeschnippsel kann, wie ts-soft richtig bemerkte nicht mehr zu ReadOnly zurückschalten, also was bitte soll man denn machen, um diesen Effekt hinzukriegen ?
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

mir entgeht auch grad irgendwie der sinn...

entweder readonly, oder was reinschreiben.

und wozu soll das selbe editorgadget mal readonly sein und mal nicht?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten