Seite 2 von 2

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

Verfasst: 17.08.2014 16:48
von mubbl
@NeoChris
Ich möchte, neben weiteren anderen Sprachen, u.a. auch Persisch in mein Programm einbauen.
Nein lebe ich nicht! :)

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

Verfasst: 17.08.2014 16:57
von NeoChris
@Derren: Ansichtssache ;)
Wenn Checkbox links ist ist es übersichtlicher und es sieht strukturierter aus weils untereinander ist.
Das sieht besser aus? :freak:
Bild
*würg*

Verfasst: 17.08.2014 17:05
von CodeCommander
Ich finde CheckBox linksbündig auch viel besser als rechtsbündig nach Textende
Wie kommt man den auf die Idee rechtsbündig zu machen
oder es besser zu finden? Ich habe noch nie so ein Layout gesehen.
Oder ist das wieder ein nicht standardisiertes GUI bei Linux?
Da sieht doch kein Mensch durch, man weiss nicht wo man anklicken soll
und sieht einfach nur hässlich aus. Da muss man genau schauen
wo die verdammte Checkbox ist die man aktivieren kann.
Zu viel Aufwand für den DAU User. :D Jedem das seine :D

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

Verfasst: 17.08.2014 17:11
von mubbl
@CodeCommander
Im Original Programm erscheint das gesamte Layout immer im LTR Format, es sei denn jemand wählt Persisch. :-)

Verfasst: 17.08.2014 17:17
von CodeCommander
Ne dich meinte ich nicht mit meiner Anmerkung. :)
Wenn man in deiner Anwendung RTL aktivieren kann
dann ist das eh optional und das ist schon in Ordnung so.
Mein Text bezieht sich auf Post von Derren der der Meinung ist
generell es besser zu finden wenn die Checkbox von CheckBoxGadget rechtsbündig ist
obwohl es total kacke aussieht wie man es gut im Screenshot von NeoChris sehen kann. :)

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

Verfasst: 18.08.2014 11:49
von mubbl
Problem gelöst!
Nutzer Rashad aus dem englischsprachigen Forum hat zwei funktionierende Beispiele gepostet.

Falls es jemanden interessiert.. :-)
RASHAD hat geschrieben:Hi
There is a problem between RTL and Panel XP Theme

#1 :

Code: Alles auswählen

#LAYOUT_RTL = $001
SetProcessDefaultLayout_(#LAYOUT_RTL)

Global GadgetBkg  = CreateSolidBrush_(#White)

Procedure WindowProc(hWnd, uMsg, wParam, lParam) 
  result = #PB_ProcessPureBasicEvents 
  Select uMsg
        Case #WM_CTLCOLORSTATIC 
            Select GetDlgCtrlID_(lParam)
                Case 2,3,4,5
								      SetBkMode_(wParam,#TRANSPARENT) 
								      result = GadgetBkg 
					  EndSelect
	EndSelect
  ProcedureReturn result 
EndProcedure 

If OpenWindow(0, 0, 0, 322, 220, "PanelGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
 SetWindowCallback(@WindowProc()) 

  PanelGadget     (0, 8, 8, 306, 203)
  AddGadgetItem (0, -1, "Panel 1") 
	  ContainerGadget(1,0,0,300,200)
			  SetGadgetColor(1, #PB_Gadget_BackColor,#White)
			  CheckBoxGadget(2, 30,  70, 100, 20, "Checkbox")
			  CheckBoxGadget(3, 30, 100, 100, 20, "Checkbox")
			  CheckBoxGadget(4, 180,  70, 100, 20, "Display issue")
			  CheckBoxGadget(5, 180, 100, 100, 20, "Display issue")			  
	  CloseGadgetList()
  CloseGadgetList()
 
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
A little bit more complicated example

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")
        PanelGadget (1, 5, 5, 290, 166)
          AddGadgetItem(1, -1, "Sub-Panel 1")
              ContainerGadget(10,0,0,290,166)
          			  CheckBoxGadget(2, 30,  70, 100, 20, "Checkbox")
								  CheckBoxGadget(3, 30, 100, 100, 20, "Checkbox")
								  CheckBoxGadget(4, 180,  70, 100, 20, "Display issue")
								  CheckBoxGadget(5, 180, 100, 100, 20, "Display issue")
						  CloseGadgetList()
          AddGadgetItem(1, -1, "Sub-Panel 2")
          AddGadgetItem(1, -1, "Sub-Panel 3")
        CloseGadgetList()
      AddGadgetItem (0, -1,"Panel 2")
        ButtonGadget(6, 10, 15, 80, 24,"Button 1")
        ButtonGadget(7, 95, 15, 80, 24,"Button 2")
    CloseGadgetList()
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf