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

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

Beitrag von mubbl »

@NeoChris
Ich möchte, neben weiteren anderen Sprachen, u.a. auch Persisch in mein Programm einbauen.
Nein lebe ich nicht! :)
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 »

@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*
Benutzeravatar
CodeCommander
Beiträge: 213
Registriert: 02.03.2014 16:06

Beitrag 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
Zuletzt geändert von CodeCommander am 18.01.2015 14:29, insgesamt 1-mal geändert.
~ DELETE ~
mubbl
Beiträge: 8
Registriert: 17.08.2014 10:51

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

Beitrag von mubbl »

@CodeCommander
Im Original Programm erscheint das gesamte Layout immer im LTR Format, es sei denn jemand wählt Persisch. :-)
Benutzeravatar
CodeCommander
Beiträge: 213
Registriert: 02.03.2014 16:06

Beitrag 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. :)
Zuletzt geändert von CodeCommander am 18.01.2015 14:29, insgesamt 1-mal geändert.
~ DELETE ~
mubbl
Beiträge: 8
Registriert: 17.08.2014 10:51

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

Beitrag 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
Antworten