Hallo Forum,
habe hier mal wieder ein komisches Problem.
Manchmal werden die Buttongadgets nicht angezeigt.
Fahre ich mit der Maus über die Stelle an der das Gadget liegt, dann wird es angezeigt.
Das ist nicht immer so nur ab und zu.
Woran liegt das.
Buttongadget wird nicht immer angezeigt
Buttongadget wird nicht immer angezeigt
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
Re: Buttongadget wird nicht immer angezeigt
Kannst du das auch mit folgendem Code nachstellen?:
Wenn ja, mit welcher PB-Version und mit welchem Betriebssystem? Besteht das Problem vielleicht auch bei anderen Anwendungen bzw. Fenstern? Falls ja, vielleicht ein Grafikkartentreiberproblem?
Oder kannst du ein Beispielcode posten? Kann es vielleicht sein, dass deine Gadgets sich überschneiden?
Code: Alles auswählen
EnableExplicit
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(1, 10, 10, 200, 20, "Ein Button nur für dich", 0)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
Oder kannst du ein Beispielcode posten? Kann es vielleicht sein, dass deine Gadgets sich überschneiden?
Re: Buttongadget wird nicht immer angezeigt
Hi,
Sorry es handelt sich nicht um ButtonGadgets sondern um ButtonImageGadgets.
Es ist echt komisch ich habe eine Reihe von 10 ButtonImageGadgets die oft alle da sind und ab und zu
mal keine, dann mal einzelne aber nicht alle.
Beim Überfahren mit der Maus werden die überfahrene dann angezeigt.
Ich kann aber nicht nachvollziehen wann die kommen und wann nicht.
Sorry es handelt sich nicht um ButtonGadgets sondern um ButtonImageGadgets.
Es ist echt komisch ich habe eine Reihe von 10 ButtonImageGadgets die oft alle da sind und ab und zu
mal keine, dann mal einzelne aber nicht alle.
Beim Überfahren mit der Maus werden die überfahrene dann angezeigt.
Ich kann aber nicht nachvollziehen wann die kommen und wann nicht.
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
Re: Buttongadget wird nicht immer angezeigt
Dann versuche mit dem folgenden Code zu testen:
Ansonsten bezweifle ich, dass es an PB liegt. Entweder ein Treiberproblem oder es gibt in deinem Quellcode einen Fehler.
Kannst du deinen Code nochmal prüfen, ob alles korekt ist? Also keine Überschneidungen, keine Drawing-Befehle u.ä.
Falls das Problem irgendwann erneut auftreten sollte, kannst du gerne ein kurzes Video (z.B. mit CamStudio) erstellen, dieses hochladen und den Downloadlink hier posten.
Code: Alles auswählen
EnableExplicit
Define x
Define y
CreateImage(1, 50, 50, 32, RGB(0, 0, 255))
If OpenWindow(0, 0, 0, 500, 500, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
For y=0 To 9
For x=0 To 9
ButtonImageGadget(#PB_Any, x*50, y*50, 50, 50, ImageID(1), 0)
Next x
Next y
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
Kannst du deinen Code nochmal prüfen, ob alles korekt ist? Also keine Überschneidungen, keine Drawing-Befehle u.ä.
Falls das Problem irgendwann erneut auftreten sollte, kannst du gerne ein kurzes Video (z.B. mit CamStudio) erstellen, dieses hochladen und den Downloadlink hier posten.
Re: Buttongadget wird nicht immer angezeigt
Hi,
Ich hab das ganze hier mal nachgestellt.
Hier habe ich bewußt SetGadgetState(4,0) eingesetzt um das nachzustellen.
In meinem Code arbeite ich jedoch nicht mit SetGadgetState().
Das dient hier nur als Demo.
Im Code oben wird das Gadget immer ausgeschalten und erst beim überfahren angezeigt.
Ich hab das ganze hier mal nachgestellt.
Code: Alles auswählen
EnableExplicit
CreateImage(1,50,50,24,RGB(255,255,200))
CreateImage(2,50,50,24,RGB(255,240,200))
CreateImage(3,50,50,24,RGB(255,200,200))
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ContainerGadget(1,10,10,480,380)
ButtonImageGadget(2, 10, 10, 50,50,ImageID(1))
ButtonImageGadget(3, GadgetX(2)+GadgetWidth(2), 10, 50,50,ImageID(2) )
ButtonImageGadget(4, GadgetX(3)+GadgetWidth(3), 10,50,50,ImageID(3))
SetGadgetState(4,0)
CloseGadgetList()
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
In meinem Code arbeite ich jedoch nicht mit SetGadgetState().
Das dient hier nur als Demo.
Im Code oben wird das Gadget immer ausgeschalten und erst beim überfahren angezeigt.
PureBasic Vollversion V 5.71 für Windows - Windows 10 (64)
Re: Buttongadget wird nicht immer angezeigt
@gnaps
habe deinen Code mal ohne SetGadgetState(4,0)
gestartet.
kann dein Problem zwar verstehen siehe SetGadgetState(4,0)
aber ist bei mir nicht reproduzierbar. läuft.
Clipping Probleme habe ich hin und wieder wenn ich nicht aufpasse und die Buttons sich überlagern. Das ist bei dir ja aber nicht der Fall.
Sollte also ein anderes Problem sein.
Mal so getestet?
habe deinen Code mal ohne SetGadgetState(4,0)
gestartet.
kann dein Problem zwar verstehen siehe SetGadgetState(4,0)
aber ist bei mir nicht reproduzierbar. läuft.
Clipping Probleme habe ich hin und wieder wenn ich nicht aufpasse und die Buttons sich überlagern. Das ist bei dir ja aber nicht der Fall.
Sollte also ein anderes Problem sein.
Mal so getestet?
Code: Alles auswählen
EnableExplicit
CreateImage(1,50,50,24,RGB(255,255,200))
CreateImage(2,50,50,24,RGB(255,240,200))
CreateImage(3,50,50,24,RGB(255,200,200))
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ContainerGadget(1,10,10,480,380)
SetGadgetColor(1, #PB_Gadget_BackColor, RGB(40, 40, 40))
ButtonImageGadget(2, 10, 10, 50, 50, ImageID(1))
ButtonImageGadget(3, 62, 10, 50, 50, ImageID(2))
ButtonImageGadget(4, 114, 10, 50, 50, ImageID(3))
CloseGadgetList()
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE!. Kauft Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Re: Buttongadget wird nicht immer angezeigt
Kann das Problem unter Windows 10 bestätigen...
Mal nach einer Lösung suchen.
P.S.
Ist wohl ein Bug. Diese Fehler tritt auch unter XP und PB v5.31 auf.
Mal nach einer Lösung suchen.
Code: Alles auswählen
EnableExplicit
CreateImage(1,50,50,24,RGB(255,255,200))
CreateImage(2,50,50,24,RGB(255,240,200))
CreateImage(3,50,50,24,RGB(255,200,200))
If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
HideWindow(0, #True)
ContainerGadget(1,10,10,480,380)
ButtonImageGadget(2, 10, 10, 50,50,ImageID(1))
ButtonImageGadget(3, GadgetX(2)+GadgetWidth(2), 10, 50,50,ImageID(2) )
ButtonImageGadget(4, GadgetX(3)+GadgetWidth(3), 10,50,50,ImageID(3))
SetGadgetState(4,0)
CloseGadgetList()
HideWindow(0, #False)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
EndIf
Ist wohl ein Bug. Diese Fehler tritt auch unter XP und PB v5.31 auf.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive