Farbeänderung einer ganzen Gadget Zeile ???

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
sebsch80
Beiträge: 53
Registriert: 28.09.2006 20:28
Wohnort: Suhl
Kontaktdaten:

Farbeänderung einer ganzen Gadget Zeile ???

Beitrag von sebsch80 »

Hallo,

muß ich wie in meinem Code nach jedem StrinGadget() die Farbe angeben oder ist es möglich die Farbe für diese gesamte Zeile mit einem Befehl zu wählen.

Code: Alles auswählen

If OpenWindow(0,100,100,610,120,"Fussball-Tipp",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))

StringGadget (0,5,14,60,14,"Spiel",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
SetGadgetColor (0,#PB_Gadget_BackColor,$000000)
SetGadgetColor (0,#PB_Gadget_FrontColor,$0000FF)

StringGadget (1,70,14,50,14,"1",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
SetGadgetColor (1,#PB_Gadget_BackColor,$000000)
SetGadgetColor (1,#PB_Gadget_FrontColor,$0000FF)

StringGadget (2,130,14,50,14,"2",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
SetGadgetColor (2,#PB_Gadget_BackColor,$000000)
SetGadgetColor (2,#PB_Gadget_FrontColor,$0000FF)

StringGadget (3,190,14,50,14,"3",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
SetGadgetColor (3,#PB_Gadget_BackColor,$000000)
SetGadgetColor (3,#PB_Gadget_FrontColor,$0000FF)

StringGadget (4,250,14,50,14,"4",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
SetGadgetColor (4,#PB_Gadget_BackColor,$000000)
SetGadgetColor (4,#PB_Gadget_FrontColor,$0000FF)

StringGadget (5,310,14,50,14,"5",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
SetGadgetColor (5,#PB_Gadget_BackColor,$000000)
SetGadgetColor (5,#PB_Gadget_FrontColor,$0000FF)

StringGadget (6,370,14,50,14,"6",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
SetGadgetColor (6,#PB_Gadget_BackColor,$000000)
SetGadgetColor (6,#PB_Gadget_FrontColor,$0000FF)

StringGadget (7,430,14,50,14,"7",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
SetGadgetColor (7,#PB_Gadget_BackColor,$000000)
SetGadgetColor (7,#PB_Gadget_FrontColor,$0000FF)

StringGadget (8,490,14,50,14,"8",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
SetGadgetColor (8,#PB_Gadget_BackColor,$000000)
SetGadgetColor (8,#PB_Gadget_FrontColor,$0000FF)

StringGadget (9,550,14,50,14,"9",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
SetGadgetColor (9,#PB_Gadget_BackColor,$000000)
SetGadgetColor (9,#PB_Gadget_FrontColor,$0000FF)

EndIf

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
:freak:
PureBasic 4.00 / Anfänger
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

grundsätzlich könntest du das in eine proc* packen, und diese mehrfach aufrufen.
ob es einen API-Call gibt, der standard-werte ändern kann, ist mir nicht momentan.

(* oder macro)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Neiiiiiiiiin, tu's nicht! Ein Makro ist hier angebrachter und schneller! :wink:
Zuletzt geändert von AND51 am 13.10.2006 00:11, insgesamt 2-mal geändert.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

ich war schneller. war ich auch angebracht? und wenn ja, woran? ;)
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 »

Code: Alles auswählen

If OpenWindow(0,100,100,610,120,"Fussball-Tipp",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0))

  StringGadget (0,5,14,60,14,"Spiel",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
  StringGadget (1,70,14,50,14,"1",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
  StringGadget (2,130,14,50,14,"2",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
  StringGadget (3,190,14,50,14,"3",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
  StringGadget (4,250,14,50,14,"4",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
  StringGadget (5,310,14,50,14,"5",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
  StringGadget (6,370,14,50,14,"6",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
  StringGadget (7,430,14,50,14,"7",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
  StringGadget (8,490,14,50,14,"8",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
  StringGadget (9,550,14,50,14,"9",#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly)
  
  For I = 0 To 9
    SetGadgetColor (I,#PB_Gadget_BackColor,$000000)
    SetGadgetColor (I,#PB_Gadget_FrontColor,$0000FF)
  Next
EndIf

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
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
sebsch80
Beiträge: 53
Registriert: 28.09.2006 20:28
Wohnort: Suhl
Kontaktdaten:

Beitrag von sebsch80 »

Sorry leute kann mir vorstellen das das für euch grauenvoll anzusehen ist aber ich bin halt Anfänger und weiß es nicht besser.

Die "Hilfe" ist zwar momentan mein bester Freund aber wenn ihr mir mal ein kurzes Beispiel zu euren Tipps geben könntet würde ich mir viel Zeit sparen.

:roll:
PureBasic 4.00 / Anfänger
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 »

Schon geschehen :wink:
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
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

In der Kürze liegt die Würze! :) Kürziger, ähhh, würziger geht es demnach kaum:

Code: Alles auswählen

If OpenWindow(0,100,100,777,120,"Fussball-Tipp",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0)) 


Macro Neues_Gadget(ID, xKoordinate, Text)
	StringGadget(ID,xKoordinate,14,50,14,Text,#PB_String_BorderLess|#PB_Text_Center|#PB_String_ReadOnly) 
	SetGadgetColor(ID,#PB_Gadget_BackColor,$000000) 
	SetGadgetColor(ID,#PB_Gadget_FrontColor,$0000FF)
EndMacro

Neues_Gadget(0, 5, "Spiel")
For n=1 To 9
	Neues_Gadget(n, 70*n, Str(n))
Next n

EndIf 

Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Ich musste nur das Fenster breiter machen, damit der 9. Knopf nicht fehlt. :freak:

So viel zum Thema Makro ;-)
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

yo, ts, jetzt sind wir quitt, diesmal hab ich den wald übersehen... :lol: ;) :D
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
sebsch80
Beiträge: 53
Registriert: 28.09.2006 20:28
Wohnort: Suhl
Kontaktdaten:

Beitrag von sebsch80 »

Hey super danke vielmals.

Kannst mir jetzt noch erklären wie er von der Schleife For I = 0 To 9 auf die Fenster 0 bis 9 schliest? Also woher weiß das Prog das diese Fenster gemeint sind?

For I = 0 To 9
SetGadgetColor (I,#PB_Gadget_BackColor,$000000)
SetGadgetColor (I,#PB_Gadget_FrontColor,$0000FF)
Next
PureBasic 4.00 / Anfänger
Antworten