| |
|
|
- Seite 1 - |
|
Rolf Koch | Bin ein Stückchen weitergekommen. Erstellt mal einen Button per ROC. Dem Button ein Tooltip zuordnen Geht in den Subclassmanager Aktiviert dort Subclass für %hwnd Sucht den Eintrag: WM_NOTIFY Anklicken und folgendes in die If Abfrage schreiben:
print %notifycode;
speichern
Startet diese erstellte Datei mit einer Profan mit Manifest und einmal ohne Manifest.
Mit Manifest werden die Daten ausgeführt. Ohne wird garnix angezeigt. Ob da der Wurm begraben liegt?
Rolf |
|
|
| |
|
|
|
| |
|
- Seite 2 - |
|
RGH | [quote:6b9f9cb681=Georg Hovenbitzer]Hallo zusammen, ganz ist der Fehler aber noch nicht damit behoben[/quote:6b9f9cb681] Hallo Georg, meine Aussagen beziehen sich bereits auf die nächste Subscriptionsversion! Die scheint auf meinem XP-Testrechner und auch beir Rolf unter XP perfekt zu laufen. Bitte etwas Geduld. Ich denke, an diesem Wochenende ist es wieder soweit ...
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 | 12.05.2006 ▲ |
|
|
|
|
Alfred Wagner | Hallo Leute!
Hier ein Beispielcode,funktioniert wunderbar.
Von wem das Original ist weiß ich nicht,ich hab ihn nur etwas abgeändert und mit viel Glück kam das raus KompilierenMarkierenSeparieren $P+
SetErrorLevel 0
DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
Declare Button&,Tooltip&
Declare ToolinfoButton#,RKText1#,SA%
Proc TTip
@Sendmessage(Tooltip&,$0403,$2,30000)Dauer des Tips
Parameters rkhwnd&,Handle&,RKText$,hwf&,txtf&,rkstil&,d%
@SendMessage(Tooltip&,1048,0,500)
@SendMessage(Tooltip&,1027,3,d%)
Tooltip& = @Create("Tooltip",%Hwnd,%Hwnd,"")Tooltip auf das Haupfenster
DELETEOBJECT Sa%
Dim ToolinfoButton#,40
Dim RKText1#,500
String RKText1#,0=RKText$
LONG ToolinfoButton#,0=40Strukturgroesse
LONG ToolinfoButton#,4=$11Flags
LONG ToolinfoButton#,8=Handle&
LONG ToolinfoButton#,12=Handle&
LONG ToolinfoButton#,36=RKText1#Text
@SendMessage(Tooltip&,$0404,0,ToolInfoButton#)
Dispose ToolinfoButton#
Dispose RKText1#
Return Tooltip&
EndProc
WINDOWSTYLE 31
WINDOWTITLE "Tooltip Fenster"
WINDOW SUB(DIV(%MAXX,2),DIV(370,2)),SUB(DIV(%MAXY,2),DIV(141,2))-370,141
SETTRUECOLOR 1
DECLARE ENDE%
CLS GETSYSCOLOR(15)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
Button& = @Control("BUTTON","Ende",$50000001,130,50,100,22,%Hwnd,100,%Hinstance,$10000)
TTip %Hwnd,Button&,"
Ein Tooltip der sich immer wieder erneuert !
"
SETFOCUS(%HWND)
WHILENOT ENDE%
WAITINPUT
If @EQU(%KEY,2)
LET ENDE%= 1
ELSEIF @EQU(%KEY,4)
ELSEIF GETFOCUS(Button&)
ENDE%= 1
ENDIF
WEND
Schönes Wochenende allen
Alfred mit Familie |
|
|
| |
|
|
|
Frank Abbing | Tatsächlich. Der Code funktioniert in dieser Form einwandfrei, obwohl er ja nur leicht von allen anderen Tooltip-Codes abweicht.... Hab Alfreds Code mal von allem Nötigen befreit, hier: KompilierenMarkierenSeparierenDEF GETSYSCOLOR(1) !"USER32","GetSysColor"
Declare button1&,button2&,tooltip&,tib#
Proc TTip
Parameters rkhwnd&,handle&,rktext$
tooltip&=@Create("Tooltip",0,rkhwnd&,"")
Dim tib#,40
Clear tib#
LONG tib#,0=40 Strukturgroesse
LONG tib#,4=$11 Flags
LONG tib#,8=handle&
LONG tib#,12=handle&
LONG tib#,36=Addr(RKText$)
@SendMessage(Tooltip&,$0404,0,tib#)
Dispose tib#
RETURN tooltip&
EndProc
WindowStyle 31
CLS GetSysColor(15)
UseFont "MS Sans Serif",13,0,0,0,0
SetDialogFont 1
button1& = @Create("Button",%hwnd,"Test 1",130,30,100,22)
TTip %Hwnd,button1&,"Ein Tooltip, der sich immer wieder erneuert!"
button2& = @Create("Button",%hwnd,"Test 2",130,60,100,22)
TTip %Hwnd,button2&,"Noch einer!"
While 1
WaitInput
Case %key=2:BREAK
EndWhile
End
|
|
|
| |
|
|
|
RGH | [quote:fe108e115f=Frank Abbing]Tatsächlich. Der Code funktioniert in dieser Form einwandfrei, obwohl er ja nur leicht von allen anderen Tooltip-Codes abweicht....[/quote:fe108e115f] Mit welcher XProfan-Version getestet? Auch mit der 9?
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 | 13.05.2006 ▲ |
|
|
|
|
Rolf Koch | Hi Leute, stimmt klappt sogar unter 8.0 Diese Vorlage ist aus ROC, kann aber auf Anhieb jetzt wirklich keinen Unterschied (ausser weglassen von wichtigen sendmessages und Standart Profan Tip anstatt Control) finden. Was ist denn hier anders? Bin ich blind?
Rolf |
|
|
| |
|
|
| |
|
- Seite 3 - |
|
|
Frank Abbing | Habs mit der 10er Version getestet. |
|
|
| |
|
|
|
RGH | [quote:577464dc60=Rolf Koch]Was ist denn hier anders? Bin ich blind? Rolf[/quote:577464dc60] Es werden zwei Tooltips erzeugt! 1. mit Create(ToolTip, 0, %hWnd, ) Beim Aufruf zur Erzeugung des Toolips wird ja zunächst ein Tooltipcontrol erzeugt. Und zwar auf dem Parentwindow 0. Der zweite Parameter gibt das Fensterhandle des Controls an. Das ist hier das Hauptfenster. Also wird ein Tooltip für das ganze Hauptfenster erzeugt, allerdings ohne Test. 2. mit SendMessage(...) Hier wird ein zweiter Tooltip erzeugt und zwar diesesmal für den Button mit entsprechendem Text.
Wenn ich das in XProfan so einbaue, dann funktioniert es auch.
Warum das so ist, muß alllerdings jemand anders erklären. Mir kommt das reichlich unlogisch vor.
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 | 13.05.2006 ▲ |
|
|
|
|
Rolf Koch | @Roland Das ist ja das komische, in der originalen Version von Roc (siehe im Ordner /LIB die Tooltip.inc) wird auch ein Tip erstellt (halt als Control) und auch die sendmessage genutzt. |
|
|
| |
|
|
|
Frank Abbing | [quote:58d8351af6]Wenn ich das in XProfan so einbaue, dann funktioniert es auch.
Warum das so ist, muß alllerdings jemand anders erklären. Mir kommt das reichlich unlogisch vor.[/quote:58d8351af6] Ja, mir auch. Aber Hauptsache, die Sache funktioniert nun sicher und XProfan-comilierte-Programme bekommen jetzt sichere Tooltips. Manche Dinge an Windows sind eben wunderlich und mit logischem Verstand nicht begreifbar |
|
|
| |
|
|
|
| Tjah - das Perfekte ist halt der Feind des Guten. |
|
|
| |
|
|
|
Rolf Koch | und trotzdem würde ich gerne wissen, was der Unterschied zu der Include in Roc ist. Da wird genauso vorgegangen - immer noch Blind ich Koch ich? *lol*
Was mir jetzt aufgefallen ist: KompilierenMarkierenSeparierenTooltip&=@Control("tooltips_class32","",$D000001,0,0,0,0,rkhwnd&,0,%hinstance)
Tooltip&=@Create("Tooltip",0,Rkhwnd&,"")
Das mit Create(Tooltip.... funktioniert super, jedoch den welchen ich unbedingt brauche ist der Controlerstellte.
Oder liegt es evtl. hieran?: [quote:f13b489d82] N3 : Bei Fenstern mit Menüs das Menühandle Bei Dialogelementen die Nummer des Dialogelementes (Bei mehreren mit @Control erzeugten Dialogelementen
eines Fensters sollte jedes einen anderen Wert erhalten.
[/quote:f13b489d82] |
|
|
| |
|
|
|
RGH | Hallo Rolf,
der Code von A.Wagner basiert letztendlich darauf, daß eben zwei Tooltips erzeugt werden. Die XProfan-Funktion create(Tooltip,...) erzeugt ja nicht nur das Tooltip-Control, sondern fügt auch gleich mit SendMessage ein Tooltip hinzu. So wie es A.Wagner verwendet, mit 0 als erstem Parameter, dem Fensterhandle als zweiten Parameter und einem Leerstring als Text wird das Tooltipcontrol mit Parentwindow 0 erstellt und ein Tooltip ohne Text für das Fenster. Dazu kommt dann mit dem Sendmessage der Tooltip für das Dialogojekt (Button). Diese seltsame Kombination funktioniert offenbar.
Kurz: Ich habe für XProfan 10 jetzt zwei funktionierende Varianten. Da ich bei beiden nicht wirklich weiß, warum sie funktionieren, werde ich bei meinere Variante bleiben, die wir letztlich zusammen getestet hatten.
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 | 13.05.2006 ▲ |
|
|
|