Text vertikal zentrieren (TextGadget)

Anfängerfragen zum Programmieren mit PureBasic.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

nein, ich verstehe dein posting einfach nicht.

> Vertikal geht ohne Flags
ohne Flags ist ein TextGadget immer Top-Aligned.
zum vertikalen zentrieren muss man anscheinend | $340 zu den Flags hinzufügen.

> zentriert geht nur im EditorGadget, indem man per
> API den linken Margin setzt.
wer redet hier vom EditorGadget?

deshalb: "Bezug?"
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
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

Beitrag von ts-soft »

was ist den nun vertikal zentriert? verstehe es inmer noch nicht und kann es
auch am hahahahha beispiel nicht erkennen

Egal, ist mir sowieso wurscht, brauche ich nicht :mrgreen:
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
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

dann starte doch einfach mal mein beispiel.
auf einem buttongadget ist text automatisch vertikal zentriert,
auf einem textgadget nicht.
RSBs beispiel zeigt:
mithilfe des flags $340 klappt das auch auf nem TextGadget.

...wo isn da das verständnisproblem?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@ts-soft
>oder ist das noch was anderes, hab solchen Quatsch noch nie gehört.
Ich wusste am Anfang auch nicht so richtig was Jake meinte, aber nachdem Kaeru Gaman nen Beispiel geschrieben hat, wusste ich genau was Jake meint.
Kaeru Gaman hat geschrieben:ein Bild sagt mehr als 1000 worte:

Code: Alles auswählen

OpenWindow(0,0,0,512,512,"Vertikal zentrieren")
A1$ = "Vertikal zentriert"
A2$ = "Auch dieser Text ist trotz seiner größeren Länge und dem damit verbundenen Zeilenumbruch auf dem Buttongadget immer noch vertikal zentriert"
B1$ = "Horizontal zentriert"
B2$ = "Dieser Text ist zwar horizontal zentriert, aber seine obere Zeile beginnt immer am oberen Ende des Gadgets, das nennt man auch Top-Align"
CreateGadgetList(WindowID(0))
  ButtonGadget(0,   8,   8, 240, 240, A1$)
  ButtonGadget(1,   8, 264, 240, 240, A2$,#PB_Button_MultiLine)
  TextGadget  (2, 264,   8, 240, 240, B1$,#PB_Text_Center | #PB_Text_Border)  
  TextGadget  (3, 264, 264, 240, 240, B2$,#PB_Text_Center | #PB_Text_Border)  
Repeat:Until WaitWindowEvent() = #PB_Event_CloseWindow
@Kaeru Gaman
>cool. wo hast du den Wert $340 her?
Also ich habe in einer Flagliste (PB_Constants_display) erstmal im Bezug von TextGadget danach gesucht, habe aber nix gefunden.
Dann habe ich einzeln von $1 bis $340 ausprobiert und es hat sich gelohnt, auch wenn es sehr aufwendig war. :wink:
Zuletzt geändert von RSBasic am 05.06.2007 14:52, insgesamt 1-mal geändert.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Dann habe ich einzeln von $1 bis $340 ausprobiert
:lol:
is ja n hammer.

...dann stellt sich noch die frage, ob da nicht noch zusätzliche flags bei gesetzt sind...

so, habs mal durchgetestet.
$340 = %1101000000
die bits für 512, 256 und 64 sind gesetzt.
das erste von denen genügt, um ein TG vertikal zu zentrieren.

Code: Alles auswählen

#PB_Text_VerticalCenter = 512

If OpenWindow(0,0,0,500,500,"",#PB_Window_SystemMenu)
  If CreateGadgetList(WindowID(0))
    TextGadget(1,10,10,100,200,"Test 1 2 3 4 5 6 7 8",#PB_Text_VerticalCenter | #PB_Text_Border)
  EndIf
 
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@Kaeru Gaman
Jetzt ist es perfekt :allright:
>so, habs mal durchgetestet.
>$340 = %1101000000
>die bits für 512, 256 und 64 sind gesetzt.
>das erste von denen genügt, um ein TG vertikal zu zentrieren.
Wie hast du das ermittelt?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

Sry für das doppel posten, aber ich habe was geiles entdeckt.

Code: Alles auswählen

If OpenWindow(0,0,0,500,500,"",#PB_Window_SystemMenu)
  If CreateGadgetList(WindowID(0))
    ButtonGadget(1,10,10,100,20,"Installieren",$6)
  EndIf
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Sowas in PB habe ich noch nie gesehen (ich zumindest), also dieser ButtonGadget wird in CheckBoyGadget, aber das war nicht alles.
Es gibt insgesamt 3 Status, also:
1. Nicht aktiviert
2. Aktiviert
3. Voll ausgefüllt

Gab es schon sowas? Wenn ja, dann entschuldige ich mich <)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Kaeru Gaman hat geschrieben:> Dann habe ich einzeln von $1 bis $340 ausprobiert
:lol:
is ja n hammer.[/code]
Kaeru Gaman hat geschrieben:so, habs mal durchgetestet.
$340 = %1101000000
die bits für 512, 256 und 64 sind gesetzt.
das erste von denen genügt, um ein TG vertikal zu zentrieren.
:lol: :lol: :lol: Freaks :bounce: . Ihr habt eindeutig zu wenig zu tun.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Wie hast du das ermittelt?
ich hab jedes bit alleine ausprobiert.

@DD
wieso, ich brauchte nur 3 tests.

> Sowas in PB habe ich noch nie gesehen
die CheckBox ist ein Button mit anderen eigenschaften.
im grunde ist Button eine UnterKlasse der Gadgets,
wo einige dazugehören, die wir eben als eigenständige gadgets kennen...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Kaeru Gaman hat geschrieben:@DD
wieso, ich brauchte nur 3 tests.
Trotzdem hätte es eine Ewigkeit dauern können wären die 3 Tests nicht erfolgreich gewesen. :lol:
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten