Tooltips an- und abschalten

Anfängerfragen zum Programmieren mit PureBasic.
MightyMAC
Beiträge: 55
Registriert: 07.01.2007 18:11
Wohnort: Duisburg
Kontaktdaten:

Tooltips an- und abschalten

Beitrag 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
Windows XP 32-bit SP3, Windows 7 64-bit, PB 4.60, PB 5.11, PB 5.20
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: Tooltips an- und abschalten

Beitrag von ts-soft »

Ohne API: Als Tooltip "" für alle Gadget setzen.
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
MightyMAC
Beiträge: 55
Registriert: 07.01.2007 18:11
Wohnort: Duisburg
Kontaktdaten:

Re: Tooltips an- und abschalten

Beitrag 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
Windows XP 32-bit SP3, Windows 7 64-bit, PB 4.60, PB 5.11, PB 5.20
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Tooltips an- und abschalten

Beitrag 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.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
MightyMAC
Beiträge: 55
Registriert: 07.01.2007 18:11
Wohnort: Duisburg
Kontaktdaten:

Re: Tooltips an- und abschalten

Beitrag 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
Windows XP 32-bit SP3, Windows 7 64-bit, PB 4.60, PB 5.11, PB 5.20
Benutzeravatar
TomS
Beiträge: 1508
Registriert: 23.12.2005 12:41
Wohnort: München

Re: Tooltips an- und abschalten

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