Problem mit Panelgadget beim RTL (Rechts-nach-Links) Layout

Für allgemeine Fragen zur Programmierung mit PureBasic.
mubbl
Beiträge: 8
Registriert: 17.08.2014 10:51

Problem mit Panelgadget beim RTL (Rechts-nach-Links) Layout

Beitrag von mubbl »

Hallo liebe Purebasic Nutzer,
ich versuche z.Z. das RTL (#WS_EX_LAYOUTRTL) Layout anzuwenden.
Es klappt auch alles wunderbar, bis auf das Panelgadget.
Wenn ich das RTL Layout beim Panelgadget anwende, dann erscheinen auf anderen Gadgets, die sich auf dem Panelgadget befinden, seltsame schwarze Balken.
Belasse ich das Panel Gadget beim LTR Layout klappt alles wunderbar.
Weiss jemand vielleicht Rat?

So schaut es dann aus

Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Problem mit Panelgadget beim RTL (Rechts-nach-Links) Lay

Beitrag von RSBasic »

Ich habe leider keine Lust, jetzt ein Beispielcode zu erstellen, um dein Problem nachvollziehen zu können, um anschließend eine Lösung zu finden.
Kannst du bitte für uns alle ein Beispielcode hier posten? Sonst müssen wir alle jeweils ein Beispielcode schreiben.

Ohne getestet zu haben: Du kannst dein Fenster oder dein Gadget neu zeichnen lassen:

Code: Alles auswählen

SendMessage_(WindowID(...), #WM_NCPAINT, 1, 0)

Code: Alles auswählen

InvalidateRect_(GadgetID(...), 0, #True)
Vielleicht ist das schon die Lösung?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
mubbl
Beiträge: 8
Registriert: 17.08.2014 10:51

Re: Problem mit Panelgadget beim RTL (Rechts-nach-Links) Lay

Beitrag von mubbl »

Hier ein Beispielcode

Code: Alles auswählen

#LAYOUT_RTL = $001
SetProcessDefaultLayout_(#LAYOUT_RTL)

If OpenWindow(0, 0, 0, 322, 220, "PanelGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
  PanelGadget     (0, 8, 8, 306, 203)
  AddGadgetItem (0, -1, "Panel 1")
  CheckBoxGadget(2, 10,  70, 100, 20, "Checkbox")
  CheckBoxGadget(3, 10, 100, 100, 20, "Checkbox")
  CheckBoxGadget(4, 180,  70, 100, 20, "Balken 1")
  CheckBoxGadget(5, 180, 100, 100, 20, "Balken 2")
  CloseGadgetList()

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

; IDE Options = PureBasic 5.22 LTS (Windows - x86)
; CursorPosition = 10
; EnableUnicode
; EnableXP
mubbl
Beiträge: 8
Registriert: 17.08.2014 10:51

Re: Problem mit Panelgadget beim RTL (Rechts-nach-Links) Lay

Beitrag von mubbl »

Hallo RBasic,
InvalidateRect und SendMessage haben leider auch nicht weitergeholfen...
Benutzeravatar
Kiffi
Beiträge: 10725
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Problem mit Panelgadget beim RTL (Rechts-nach-Links) Lay

Beitrag von Kiffi »

bei mir (Win7 / PB5.3 / 32bit) sieht das so aus:

Bild

und erweitert man die Breite der Checkboxes auf 150 Pixel sind diese komischen Striche auch nicht mehr zu sehen:

Bild

Grüße ... Kiffi
a²+b²=mc²
mubbl
Beiträge: 8
Registriert: 17.08.2014 10:51

Re: Problem mit Panelgadget beim RTL (Rechts-nach-Links) Lay

Beitrag von mubbl »

Hallo Kiffi,
danke für die Antwort!
Die Striche sind zwar weg, aber wie bekommt die richtige Hintergrundfarbe (weiss) für die Gadgets auf der linken Seite?
Fügt man SmartWindowRefresh(0,1) ein, dann wird der Hintergrund schwarz.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Problem mit Panelgadget beim RTL (Rechts-nach-Links) Lay

Beitrag von RSBasic »

Danke mubbl für das Posten eines Beispielcodes.
Der Darstellungsfehler entsteht nur, wenn die angegebene Breite größer ist, als die benötigte Textbreite. Wenn man beispielsweise 60 Pixel für die beiden CheckBoxen festlegt, dann gibt es keine Darstellungsfehler.
Warum das so ist, keine Ahnung und ich habe leider auch keine Lösung für das Problem. :|
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
mubbl
Beiträge: 8
Registriert: 17.08.2014 10:51

Re: Problem mit Panelgadget beim RTL (Rechts-nach-Links) Lay

Beitrag von mubbl »

Hallo RSBasic,

das Anzeigeproblem taucht leider auch bei Button & FrameGadgets auf.
Ich habe gestern schon alles Erdenkliche erfolglos probiert :cry:

Alle Gadgets lassen sich spiegeln, nur der Panel...der will irgendwie nicht. >_<

Es ist halt ärgerlich wenn alles, außer einem Gadget, gespiegelt ist.
Sieht aus wie gewollt und nicht gekonnt. :)

Aller besten Dank trotzdem!
NeoChris
Beiträge: 205
Registriert: 21.11.2013 21:17
Wohnort: Schweiz
Kontaktdaten:

Re: Problem mit Panelgadget beim RTL (Rechts-nach-Links) Lay

Beitrag von NeoChris »

Warum willst du ein RTL Layout haben ? Lebst du in einem Land in dem rechts nach links geschrieben und gelesen wird ?
Derren
Beiträge: 558
Registriert: 23.07.2011 02:08

Re: Problem mit Panelgadget beim RTL (Rechts-nach-Links) Lay

Beitrag von Derren »

Checkboxen auf der rechten Seite des Texts machen in einem LTR Land auch Sinn.
Man liest ja zu erst den Text und entscheidet dann ob man die Box klicken will oder nicht.
Dieses hin und hergefahre ist doch nervig.
Wenn's nur ein paar Wörter sind, ok. Aber sowas hier:

Code: Alles auswählen

[X] Checkboxen auf der rechten Seite des Texts machen in einem LTR Land auch Sinn.
    Man liest ja zu erst den Text und entscheidet dann ob man die Box klicken will oder nicht.
    Dieses hin und hergefahre ist doch nervig. Checkboxen auf der rechten Seite des Texts 
    machen in einem LTR Land auch Sinn.
    Man liest ja zu erst den Text und entscheidet dann ob man die Box klicken will oder nicht.
    Dieses hin und hergefahre ist doch nervig.
Signatur und so
Antworten