Seite 1 von 1

Tooltips an- und abschalten

Verfasst: 19.03.2011 21:31
von MightyMAC
Hi Leute,

weiß jemand eine gute Möglichkeit Tooltips projektweit an- bzw. auszuschalten? Das einzige was mir jetzt so einfällt ist alle Fenster zu schließen und ohne die Tooltip-Befehle neu aufzubauen, aber ich hoffe mal das dieses irgendwie schöner zu machen ist.

Danke schon mal
MAC

Re: Tooltips an- und abschalten

Verfasst: 19.03.2011 21:43
von ts-soft
Ohne API: Als Tooltip "" für alle Gadget setzen.

Re: Tooltips an- und abschalten

Verfasst: 21.03.2011 16:02
von MightyMAC
Danke, ja. Aber das ist bei einer großen Anzahl von Gadgets auch eher mühsam. Einer API-Lösung würde ich nicht abgeneigt gegenüber stehen, aber im MSDN finde ich darüber irgendwie nichts...

Gruß
MAC

Re: Tooltips an- und abschalten

Verfasst: 21.03.2011 21:07
von RSBasic
Dann müsstest du einen WinAPI-ToolTip komplett selber erstellen und zwar mit: CreateWindowEx_(0,"ToolTips_Class32",[...]) (Beispielcodes mit Hilfe der Board-Suche auffindbar)
Aber ob es einfacher für dich ist, weiß ich nicht.

Re: Tooltips an- und abschalten

Verfasst: 22.03.2011 22:30
von MightyMAC
Danke, aber so wie ich das sehe finde ich Tooltips gar nicht mehr so wichtig... :wink: Nein, vielleicht baue ich mir da mal was selber mit 'ner MouseOver...-Funktion und Anzeige des Tooltips in der Statusleiste oder so. Ich dachte es gibt da eine Ein-Befehl-Lösung zum an- und abschalten, aber so ist das bei mehreren hundert Gadgets Sisyphos-Arbeit.

Gruß
MAC

Re: Tooltips an- und abschalten

Verfasst: 22.03.2011 23:00
von TomS
Man braucht nur wenige Zeilen. Das kannst du auch ein einer Prozedur erledigen.

Code: Alles auswählen

Enumeration 1
	#ButtonGadget_01
	#ButtonGadget_02
	#ButtonGadget_03
	#ButtonGadget_04
	#ButtonGadget_05
	#ButtonGadget_06
	#ButtonGadget_07
	#ButtonGadget_08
	#ButtonGadget_09
	#ButtonGadget_10
	
	#ButtonGadget_11
	#ButtonGadget_12
	#ButtonGadget_13
	#ButtonGadget_14
	#ButtonGadget_15
	#ButtonGadget_16
	#ButtonGadget_17
	#ButtonGadget_18
	#ButtonGadget_19
	#ButtonGadget_20
	
	#ButtonGadget_21
	#ButtonGadget_22
	#ButtonGadget_23
	#ButtonGadget_24
	#ButtonGadget_25
	#ButtonGadget_26
	#ButtonGadget_27
	#ButtonGadget_28
	#ButtonGadget_29
	#ButtonGadget_30
EndEnumeration 

Dim tooltips.s(99)

tooltips(#ButtonGadget_01) = "Button 01"
tooltips(#ButtonGadget_02) = "Button 02"
tooltips(#ButtonGadget_03) = "Button 03"
tooltips(#ButtonGadget_04) = "Button 04"
tooltips(#ButtonGadget_05) = "Button 05"
tooltips(#ButtonGadget_06) = "Button 06"
tooltips(#ButtonGadget_07) = "Button 07"
;usw...


OpenWindow(0, 0, 0, 500, 400, "Tooltips")

For n = #ButtonGadget_01 To #ButtonGadget_30
	
	ButtonGadget(n, x, y, 50, 20, Str(n))
	GadgetToolTip(n, tooltips(n) )
	
	x+50
	If x>450
		x=0
		y+25
	EndIf 
	
	
Next

ButtonGadget(0, 0, 300, 100, 30, "Tooltips AN", #PB_Button_Toggle )
SetGadgetState(0,1)

Repeat
	Select WaitWindowEvent()
		Case #PB_Event_CloseWindow
			End
		Case #PB_Event_Gadget
			Select EventGadget()
					
				Case 0					
					Select GetGadgetState(0)
							
						Case 0
							SetGadgetText(0, "Tooltips AUS")
							For n=#ButtonGadget_01 To #ButtonGadget_30
								GadgetToolTip(n, "")
							Next 
							
						Case 1							
							SetGadgetText(0, "Tooltips AN")
							For n=#ButtonGadget_01 To #ButtonGadget_30
								GadgetToolTip(n, tooltips(n))
							Next 
							
					EndSelect 
			EndSelect 
			
		EndSelect 
	
ForEver 
Die Riesenmenge an Tooltips musst du ja so oder so schreiben.

Wenn du Gadgets mit #PB_Any erstellst anstatt mit Konstanten, speicherst du die ID eben in einer strukturierten LinkedList.