Deutsch
Forum

Tooltip

 

Manfred
Barei
Hallo,

ist es möglich den bei einem Programmstart für einen Buttton eingestellten Tooltip beim Programmlauf nachträglich zu ändern?
Wen der Button eine andere Funktion erhält, soll sich auch der Tooltip ändern.

Gibt es dafür eine Message oder Set Funktion, habe diesbezüglich nichts gefunden.

Grus
Manfred
 
Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 |
20.10.2007  
 




Jörg
Sellmeyer
Am simpelsten wäre es wohl so:
KompilierenMarkierenSeparieren
Cls
Declare btn&,tip&
btn& = Create(Button,%hwnd,Klick mich!,10,10,100,20)
tip& = Create(ToolTip,%hwnd,btn&,Str$(&GetTickCount))

While 1

    WaitInput
    tip& = Create(ToolTip,%hwnd,btn&,Str$(&GetTickCount))

Wend


Kommt jetzt darauf an, ob dabei Resourcen verbraten werden.

In Prfellow gibts die Include WFHINTS.inc. Da steht die komplette Apivariante inklusive Text ändern drin.
Gruß
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
20.10.2007  
 




Frank
Abbing
Wenn du dem Ganzen noch ein DestroyWindow spendierst, dürfte sich die Resourcenfrage auch erübrigt haben. Tooltipps sind ja ebenfalls Controls.
 
20.10.2007  
 




Jörg
Sellmeyer
Nee, das funktioniert nicht. Dann taucht kein Tooltip mehr auf
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
20.10.2007  
 




Rolf
Koch
Habs eben in Winspy geladen und festgestellt, daß es wirklich auch ohne Destroy bei einem Tip bleibt. Komische Sache die zwar super den Zweck erfüllt, aber ich schätze vlcht. regelt dies Windows bereits im Hintergrund, da man jedem Objekt wie Button und Co nur ein TTip zuordnen kann?
Würde ich an selber Stelle ein Button immer wieder erzeugen, so würde ich ja logischerweise irgendwann mal sauviele Buttons besitzen und den Speicher in die Knie zwingen. Nicht so bei TTIPS.
Also definitiv: Es wird nur ein Handle verbraten mit dem obigen Code.
 
20.10.2007  
 




Jörg
Sellmeyer
Das habe ich auch getestet. Ich glaube, es liegt daran, daß das Hauptfenster ein TilTipWnd zugeordnet bekommt und darauf werden die texte für die Controls gepinselt, also nicht jedesmal neue Controls erzeugt.
Sieht irgendwie unelegant aus aber: riecht wie Erdöl, schmeckt wie Erdöl - hey das muß Erdöl sein!
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
20.10.2007  
 




Frank
Abbing
Scheint so als würde Windows den alten Tooltipp entsorgen, wenn ein Neuer zugewiesen wird. Ist doch in Ordnung.
 
21.10.2007  
 




Manfred
Barei
Ja, aber man kann ja keinen neuen zuweisen
 
Zu wenig Wissen ist gefärlich, zu viel auch.(XProfan X4) | Win 10 Pro 64 | Win7 Ultimate 32/64 | AMD FX-8320, 16GB, GeForce GT 630 |
21.10.2007  
 




Rolf
Koch

Ja, aber man kann ja keinen neuen zuweisen


Wieso? Praktischer gehts doch nicht, denn Du erzeugst doch einen neuen und dies sogar mit (wenn Du willst) derselben Variable
 
21.10.2007  
 




Andreas
Miethe



KompilierenMarkierenSeparieren
Proc SetTipText

    Parameters TipCtl&,Owner&,Ctl&,NewText$
    Declare ToolInfo#
    Dim Toolinfo#,40
    Long Toolinfo#,0  = 40
    Long ToolInfo#,8  = Owner&
    Long ToolInfo#,12 = Ctl&
    Long ToolInfo#,36 = Addr(NewText$)
    Sendmessage(TipCtl&,1036,0,ToolInfo#)TTM_UPDATETIPTEXT
    Dispose ToolInfo#

EndProc

Cls
Declare btn&,tip&
btn& = Create(Button,%hwnd,Klick mich!,10,10,100,20)
tip& = Create(ToolTip,%hwnd,btn&,Str$(&GetTickCount))

While 1

    WaitInput
    SetTipText(Tip&,%hwnd,Btn&,Letzter Klick um  : +Time$(0)+:+left$(Time$(1),2))

Wend


Das hier ist auch ganz nett :
KompilierenMarkierenSeparieren
Proc SetTipTitle

    Parameters TipCtl&,Icon&,Title$
    Sendmessage(TipCtl&,1056,Icon&,Addr(Title$))TTM_SETTITLE

EndProc

Proc SetTipText

    Parameters TipCtl&,Owner&,Ctl&,NewText$
    Declare ToolInfo#
    Dim Toolinfo#,40
    Long Toolinfo#,0  = 40
    Long ToolInfo#,8  = Owner&
    Long ToolInfo#,12 = Ctl&
    Long ToolInfo#,36 = Addr(NewText$)
    Sendmessage(TipCtl&,1036,0,ToolInfo#)TTM_UPDATETIPTEXT
    Dispose ToolInfo#
    SetTipTitle(Tip&,1,Eine neue Information um +Time$(0)+:+left$(Time$(1),2))

EndProc

Cls
Declare btn&,tip&
btn& = Create(Button,%hwnd,Klick mich!,10,10,100,20)
tip& = Create(ToolTip,%hwnd,btn&,Str$(&GetTickCount))

While 1

    WaitInput
    SetTipText(Tip&,%hwnd,Btn&,Letzter Klick um  : +Time$(0)+:+left$(Time$(1),2))

Wend

 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
21.10.2007  
 




Jörg
Sellmeyer
Ah! Der Andreas, sehr schön. Ich hatte gestern auch noch rumexperimentiert, aber immer Sendmessage an das falsche Handle geschickt. Deshalb funktionierte es nicht. Besonders das zweite Ding ist großartig!
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
21.10.2007  
 




RGH
Und in XProfan 11 wird folgendes reichen:

a: Ohne Tooltip-Überschrift
KompilierenMarkierenSeparieren
Cls
Declare btn&, tip&, text$
btn& = Create(Button,%hwnd,Klick mich!,10,10,100,20)
tip& = Create(ToolTip,%hwnd,btn&,Str$(&GetTickCount))

While 1

    WaitInput
    text$ = Letzter Klick um  : +Time$(0)+:+left$(Time$(1),2)
    SetText Tip&, %hwnd, Btn&, text$

EndWhile


b: Mit Überschrift:
KompilierenMarkierenSeparieren
Cls
Declare btn&, tip&, text$
btn& = Create(Button,%hwnd,Klick mich!,10,10,100,20)
tip& = Create(ToolTip,%hwnd,btn&,Str$(&GetTickCount))

While 1

    WaitInput
    text$ = Letzter Klick um  : +Time$(0)+:+left$(Time$(1),2)
    SetText Tip&, %hwnd, Btn&, text$, 1, text$

EndWhile


Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
21.10.2007  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

10.471 Betrachtungen

Unbenanntvor 0 min.
R.Schneider07.06.2022
p.specht23.11.2021
H.Brill30.12.2018
AndreasS30.12.2018
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie