DCBROWSECOL und DATATOOLTIP

Moderator: Moderatoren

DCBROWSECOL und DATATOOLTIP

Beitragvon Manfred » Mi, 11. Jan 2017 10:26

Hi,
ich habe ein DCBROWSE auf ein Array. Es gibt dort eine Spalte, die immer mal wieder schmaler als der eigentlich Inhalt ist. Also erinnerte ich mich, dass es ja DATATOOLTIP {|| .T.} gibt. Das soll ja laut Anleitung per Mouseover den Inhalt anzeigen, wenn er zu schmal für die Spaltenbreite ist. Das klappt aber nicht. Ich habe es bisher auf eine Tabelle angewendet und meine, das es dort geklappt hat. leider scheint es da auch nicht mehr zu wollen. Das mit dem getrennten Thread habe ich schon woanders hier gelesen, aber ist es da wirklich?. Bzw, warum baut Roger sowas ein, wenn es nicht wirklich so einfach klappt? Hat jemand einen Tipp zur Hand?
Die anderen TOOLTIPS in dem Fenster (PushButton) klappen. Dort wird der jeweilige Text angezeigt.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16232
Registriert: Di, 29. Nov 2005 17:58
Wohnort: Kreis Wesel

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Tom » Mi, 11. Jan 2017 10:41

Hallo, Manfred.

Das hat seinerzeit der gute Michl Rudrich erfunden und Roger hat's direkt eingebaut. So richtig sicher hat die Standardvariante nie funktioniert. Ich verwende DATATOOLTIP deshalb nur mit der zusätzlichen Option TIPBLOCK. Wenn man Arrays im Browser hat, kann man den ersten Parameter des Blocks verwenden, um sich die Daten zu holen:

Code: Alles auswählen
DCBROWSECOL ELEMENT 1 HEADER 'xy' PARENT oBrowse DATATOOLTIP {||.T.} TIPBLOCK {|n|Var2Char(DC_GetColArray(n,oBrowse))}


Bei Tabellen muss man höllisch aufpassen, denn DATATOOLTIP verändert dort die Zeigerposition, wenn man die Datenquelle im Tipblock referenziert. Deshalb ist in solchen Fällen anzuraten, die Tabelle(n) für den Tipblock abermals zu öffnen.

Wie gesagt, das war nie wirklich sicher. Die Variante, die ich oben gezeigt habe, funktioniert aber, und man kann im Tipblock dann auch noch weitere Daten sammeln.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6707
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Manfred » Mi, 11. Jan 2017 11:24

Hi Tom,
ich habe jetzt etliche Varianten ausprobiert. Habe mir auch die Beispielcodes von Roger angeschaut und daraus was kopiert. Leider ohne Erfolg. Irgenwas mache ich da wohl falsch.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16232
Registriert: Di, 29. Nov 2005 17:58
Wohnort: Kreis Wesel

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Manfred » Mi, 11. Jan 2017 12:23

irgendwas passt da nicht. Ich habe mal in Datatooltip und Tipblock eine Funktion eingebaut und mit dem Debugger macl beobachtet. Die werden überhaupt nicht aufgerufen. Wie soll denn da DATATOOLTIP überhaupt wissen, ob es nun .T. oder .F. ist?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16232
Registriert: Di, 29. Nov 2005 17:58
Wohnort: Kreis Wesel

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Tom » Mi, 11. Jan 2017 12:55

Zeig mal ein Beispiel und/oder ein Stück Code. Bei mir funzt das.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6707
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Manfred » Mi, 11. Jan 2017 13:18

Code: Alles auswählen
@ 15,5 DCBROWSE oDialogZusatz:oBrowseTagesDienste;
                     DATA oDialogZusatz:aTagesdienste;
                     EDIT xbeBRW_ItemSelected MODE DCGUI_BROWSE_EDITDOWN;
                HEADLINES 2;
              NOSOFTTRACK;
                   PARENT oDialogZusatz:oRahmenBrowseTagesdienste;
                  POINTER nPos;
                  PREEVAL {|| oDialogZusatz:oBrowseTagesDienste:headerRbDown := {|aMousePos, nColPos, self| MausImKopf(nColPos,oDialogZusatz,{2,3,4,6,7})}};
                     SIZE DCGUI_PARENTWIDTH-10,DCGUI_PARENTHEIGHT - 30 - oDialogZusatz:nPbHoehe;
                  TABSTOP
DCBROWSECOL ELEMENT BEMERKUNG;
                   DATATOOLTIP {|| .T.} TIPBLOCK{|nPos| oDialogZusatz:aTagesdienste[nPos,BEMERKUNG]};
                        HEADER "Bemerkung";
                        PARENT oDialogZusatz:oBrowseTagesdienste;
                       PROTECT {|| .T.};
                         WIDTH 300

lt. Anleitung soll bei Array der Parameter POINTER mit rein. habe ich mit und ohne versucht, klappt beides nicht.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16232
Registriert: Di, 29. Nov 2005 17:58
Wohnort: Kreis Wesel

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Tom » Mi, 11. Jan 2017 15:35

Das hier funktioniert einwandfrei, der Tooltip wird angezeigt. BTW, sind Tooltips bei Dir grundsätzlich verfügbar (DC_ToolTipEnable())?

Code: Alles auswählen
#include "dcdialog.ch"
#pragma library ("dclipx.lib")

FUNCTION Main()
LOCAL GetList := {}, oBrowse, aData := {}, i

FOR i := 69 to 110
  aAdd(aData,{Chr(i),Replicate(Chr(i),100)})
NEXT

@ 0,0 DCBROWSE oBrowse DATA aData SIZE 100,30

DCBROWSECOL ELEMENT 1 HEADER '1' WIDTH 10 PARENT oBROWSE
DCBROWSECOL ELEMENT 2 HEADER '2' WIDTH 50 PARENT oBROWSE DATATOOLTIP {||.T.} TIPBLOCK {|n|IF(n>0.and.n<Len(aData),oBrowse:DataSource[n,2],nil)}

DCREAD GUI FIT ADDBUTTONS TITLE 'Test'

RETURN NIL

PROC AppSys() ; RETURN
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6707
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Manfred » Mi, 11. Jan 2017 15:37

Hi Tom,
ich schrieb ja oben, dass alle anderen Tooltips funktionieren. Das Beispiel In Sektion 5 bei XDemo DataTooltTips klappt bei mir auch. Nur meine eigenen Dinge nicht.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16232
Registriert: Di, 29. Nov 2005 17:58
Wohnort: Kreis Wesel

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Tom » Mi, 11. Jan 2017 16:04

Den Pointer braucht man nicht, das ist Anno Zopf und hat nie verlässlich funktioniert (im Bedarfsfall DC_BrowseRow(oBrowse) verwenden). Ansonsten sieht Dein Code für mich schick aus. Seltsam. Ich baue morgen mal nach, wenn ich Zeit finde.

Was ist, wenn Du im Tipblock "oDialogZusatz:oBrowseTagesDienste:DataSource" als Arrayreferenz verwendest?
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6707
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Manfred » Mi, 11. Jan 2017 16:25

klappt auch nicht. Wer weiß, was ich da wieder übersehe.... :angry4:
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16232
Registriert: Di, 29. Nov 2005 17:58
Wohnort: Kreis Wesel

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Manfred » Mo, 16. Jan 2017 16:27

hm, irgendwie bin ich total ratlos, das genau diese Art Tooltip nicht klappt....
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16232
Registriert: Di, 29. Nov 2005 17:58
Wohnort: Kreis Wesel

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Koverhage » Mo, 16. Jan 2017 17:44

Bei mir funktioniert folgendes ohne Problem.
DCBROWSECOL DATA {|| ge->velf} PICTURE "@E 9999999.999" WIDTH 7 ;
PROTECT {|| YES} HEADER "Wert" ;
DATATOOLTIP {|| lDataToolTips} TIPBLOCK {|| str( ge->vevj,11,3)}

Wichtig: Der Tooltip wird mit einer gewissen Verzögerung angezeigt.
Gruß
Klaus
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1902
Registriert: Fr, 23. Dez 2005 9:00
Wohnort: Aalen

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Manfred » Mo, 16. Jan 2017 18:09

ich habe hier ein Array.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16232
Registriert: Di, 29. Nov 2005 17:58
Wohnort: Kreis Wesel

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Koverhage » Mo, 16. Jan 2017 18:23

Was für eine DataSource do hast its den Tooltips egal.
Gruß
Klaus
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1902
Registriert: Fr, 23. Dez 2005 9:00
Wohnort: Aalen

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Manfred » Mo, 16. Jan 2017 18:25

so sollte es sein, aber es klappt nicht.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16232
Registriert: Di, 29. Nov 2005 17:58
Wohnort: Kreis Wesel

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Tom » Mo, 16. Jan 2017 18:28

Was passiert, wenn Du mein - funktionierendes - Array-Beispiel von oben in Deinen Code nimmst, ggf. mit Deinem Array?
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6707
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Manfred » Mo, 16. Jan 2017 18:33

ich habe alle Deine Vorschläge ausprobiert, aber nichts tut sich, wenn ich mit der Maus über die Zeile/Spalte fahre und warte. Ich verstehe das nicht, ich weiß vor ewig langer Zeit hat das mal an anderer Stelle geklappt (aus einer DBF heraus nicht im Arry), aber jetzt klappt es nirgends mehr. Irgendwas ist da oberfaul, aber ich komme nicht drauf.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16232
Registriert: Di, 29. Nov 2005 17:58
Wohnort: Kreis Wesel

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Koverhage » Mo, 16. Jan 2017 18:58

Dann suche im Deinem Quellcode nach
DC_ToolTipEnable(YES or NO)
Falls nicht (weiß nicht ob es noch immer so ist, denke ja), der anzuzeigende Tooltip dar nicht aus einem
anderen Thread kommen.
Gruß
Klaus
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1902
Registriert: Fr, 23. Dez 2005 9:00
Wohnort: Aalen

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Manfred » Mo, 16. Jan 2017 19:01

meinst Du jetzt dass ich diese Funktion selbst bei mir eingesetzt habe? Die kenne ich gar nicht.
Andere Tooltips klappen ja nur nicht die im browse. Oder worauf willst Du jetzt raus?
Wobei mir gerade auffällt, das nicht in jedem Menue alle Tooltips klappen. Kommt mir auch komisch vor.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16232
Registriert: Di, 29. Nov 2005 17:58
Wohnort: Kreis Wesel

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Manfred » Di, 17. Jan 2017 8:17

wie könnte ich denn testen, ob das Grundprinzip klappt? Ich meine, vielleicht wird ja nur versucht etwas falsches, leeres anzuzeigen und deshalb sieht man nichts.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16232
Registriert: Di, 29. Nov 2005 17:58
Wohnort: Kreis Wesel

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Koverhage » Di, 17. Jan 2017 8:22

xsample# (5 oder 6)
Gruß
Klaus
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1902
Registriert: Fr, 23. Dez 2005 9:00
Wohnort: Aalen

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Manfred » Di, 17. Jan 2017 8:30

die Samples klappen ja (wie schon oben erwähnt) Es geht jetzt nur daraum herauszufinden, ob und wenn ja was ICH hier wohl falsch mache.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16232
Registriert: Di, 29. Nov 2005 17:58
Wohnort: Kreis Wesel

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Koverhage » Di, 17. Jan 2017 9:54

ersteze doch mal testweise
TIPBLOCK{|nPos| oDialogZusatz:aTagesdienste[nPos,BEMERKUNG]}
mit
TIPBLOCK{|nPos| "MeinToolTipText"}
Gruß
Klaus
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1902
Registriert: Fr, 23. Dez 2005 9:00
Wohnort: Aalen

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Manfred » Di, 17. Jan 2017 9:57

Hi Klaus,
klappt auch nicht. So ein Mist. Aber wie gesagt, die Pushbutton im gleichen Bildschirm funktionieren. Ob das mit irgendeinem Parent oder so zusammenhängen kann?
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16232
Registriert: Di, 29. Nov 2005 17:58
Wohnort: Kreis Wesel

Re: DCBROWSECOL und DATATOOLTIP

Beitragvon Koverhage » Di, 17. Jan 2017 10:22

Was passiert wenn Du Deine Frage im Express++ Forum stellst ?
Gruß
Klaus
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1902
Registriert: Fr, 23. Dez 2005 9:00
Wohnort: Aalen

Nächste

Zurück zu eXpress++

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 2 Gäste