Stringgadget #PB_Text_Right anwenden

Für allgemeine Fragen zur Programmierung mit PureBasic.
stevie1401
Beiträge: 705
Registriert: 19.10.2014 15:51
Kontaktdaten:

Stringgadget #PB_Text_Right anwenden

Beitrag von stevie1401 »

Kann ich in einem Stringgadget den Text rechtsbündig anzeigen lassen wie bei einem Textgadget? (#PB_Text_Right)
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Stringgadget #PB_Text_Right anwenden

Beitrag von RSBasic »

Code: Alles auswählen

EnableExplicit

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  StringGadget(1, 10, 10, 480, 20, "Hallo stevie1401", #ES_RIGHT)
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        End
    EndSelect
  ForEver
EndIf
(nur für Windows)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
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

Re: Stringgadget #PB_Text_Right anwenden

Beitrag von ts-soft »

Code: Alles auswählen

EnableExplicit

ImportC ""
  gtk_entry_set_alignment(*entry.GtkEntry, xalign.f)
EndImport

If OpenWindow(0, 0, 0, 500, 400, "Window", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  StringGadget(1, 10, 10, 480, 20, "Hallo stevie1401")
  gtk_entry_set_alignment(GadgetID(1), 1.0)
  
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_CloseWindow
        End
    EndSelect
  ForEver
EndIf 
(nur für Linux)
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
Benutzeravatar
Bisonte
Beiträge: 2474
Registriert: 01.04.2007 20:18

Re: Stringgadget #PB_Text_Right anwenden

Beitrag von Bisonte »

Und nu nochmal für alle :mrgreen:

Code: Alles auswählen

#NSRightTextAlignment = 1

CompilerIf #PB_Compiler_OS = #PB_OS_Linux
  ImportC ""
    gtk_entry_set_alignment(*entry.GtkEntry, xalign.f)
  EndImport
CompilerEndIf

Procedure RStringGadget(Gadget, x, y, Width, Height, Content$, Flags = 0)
  
  Protected ID = #False
  
  CompilerSelect #PB_Compiler_OS
    CompilerCase #PB_OS_Windows
      ID = StringGadget(Gadget, x, y, Width, Height, Content$, Flags|#ES_RIGHT)
    CompilerCase #PB_OS_Linux
      ID = StringGadget(Gadget, x, y, Width, Height, Content$, Flags)
      If Gadget = #PB_Any : Gadget = ID : EndIf
      gtk_entry_set_alignment(GadgetID(Gadget), 1.0)
    CompilerCase #PB_OS_MacOS
      ID = StringGadget(Gadget, x, y, Width, Height, Content$, Flags)
      If Gadget = #PB_Any : Gadget = ID : EndIf
      CocoaMessage(0,GadgetID(Gadget),"setAlignment:", #NSRightTextAlignment)
  CompilerEndSelect
  
  ProcedureReturn ID
  
EndProcedure
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
Shardik
Beiträge: 749
Registriert: 25.01.2005 12:19

Re: Stringgadget #PB_Text_Right anwenden

Beitrag von Shardik »

Bisonte hat geschrieben:Und nu nochmal für alle :mrgreen:
Ist ein alter Hut... Das hatte ich als Multiplattform-Lösung schon 2013 gezeigt... :wink:

Wer Multiplattform API-Lösungen sucht, sollte immer zuerst einmal hier schauen.
stevie1401
Beiträge: 705
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Stringgadget #PB_Text_Right anwenden

Beitrag von stevie1401 »

Erst einmal vielen Dank an alle!
Unter Linux (Ubuntu (Mint)) bekomme ich allerdings eine Fehlermeldung und es funktoniert nicht:
[09:26:29] [WARNING] Gtk (CRITICAL): gtk_entry_set_alignment: assertion 'GTK_IS_ENTRY (entry)' failed
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
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

Re: Stringgadget #PB_Text_Right anwenden

Beitrag von ts-soft »

stevie1401 hat geschrieben:Unter Linux (Ubuntu (Mint)) bekomme ich allerdings eine Fehlermeldung und es funktoniert nicht: [09:26:29] [WARNING] Gtk (CRITICAL): gtk_entry_set_alignment: assertion 'GTK_IS_ENTRY (entry)' failed
Gerade unter Linux Mint (18.1) x64, läuft einwandfrei mit GTK2 oder GTK3. Auch alle anderen Distris scheinen zu funzen, fehler liegt also bei Dir!

PB5.44 und PB5.60b1
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
stevie1401
Beiträge: 705
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: Stringgadget #PB_Text_Right anwenden

Beitrag von stevie1401 »

Das mag ja sein, diese Erkenntnis nützt mir erst einmal allerdings nichts.
Was bedeutet denn die Fehlermeldung?

Hab den Code 1 zu 1 übernommen, funktioniert aber nicht.

EDIT: Fehler gefunden. Ich habe die ID übergeben und nicht die GadgetId(gadget).
Lesen hilft wirklich!

Noch einmal danke an alle!
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
xXRobo_CubeXx
Beiträge: 120
Registriert: 12.06.2015 16:08
Computerausstattung: Version 5.41 LTS
Wohnort: Wohnort
Kontaktdaten:

Re: Stringgadget #PB_Text_Right anwenden

Beitrag von xXRobo_CubeXx »

Shardik hat geschrieben:Wer Multiplattform API-Lösungen sucht, sollte immer zuerst einmal hier schauen.
Hey :)

Kannst du das auch hier ein Thread erstellen und anpinnen ? :) :) :)

Das wäre voll klasse und unentberlich :!: Bild

Danke :)
Version 5.41 LTS :)
Antworten