|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2001
Città: Vicopisano (PI)
Messaggi: 11652
|
[VB6] Ancora sul controllo MSCHART: come si fa a....
Ciao,
ho utilizzato in VB6 il controllo MSCHART per tracciare grafici relativi a die dati contenuti in un Database access e tutto funziona benissimo, ma vorrei aggiungere una funzione e non so come fare...mi manca il tempo...se qualcuno mi può dare una manina gli sarei molto grato! Allora, il DB in questione è di tipo access e serve a memorizzare i dati prelevati da una centralina meteorologica ed i campi della tabella sono: temperatura, pressione, umidità, data, ora. Una volta tracciato il grafico relativo ad esempio della temperatura di un certo giorno, vorrei poter visualizzare la data e/o l'ora di un punto spicifico del grafico, ad esempio dove l'utente fa click con il mouse. Il problema è appunto questo, perchè non so come fare... Sono riuscito ad arrivare a questo: nel controllo MSCHART c'è la l'evento "PointSelected", che scatta quando l'utente fa click con il mouse su un punto di una serie. Alla sub vengono passati i seguenti parametri: MSChart1_PointSelected(Series As Integer, DataPoint As Integer, MouseFlags As Integer, Cancel As Integer) relativi al db: series (l'ho letto nell'MSDN! Il problema è quindi il seguente: sapendo tali parametri, come posso ricavare la data e l'ora di quel record? Magari per farla apparire nel ToolTipText...boh, vedrò... HELP!HELP!HELP! Anche consigli, idee, suggerimenti sono accettati! Grazie a tutti per la collaborazione! Ciao, GHz!
__________________
>>PARTECIPA AI PROGETTI DI CALCOLO DISTRIBUITO CON BOINC.Italy!<<
You may say I'm a dreamer - But I'm not the only one - I hope someday you'll join us - And the team will be the 1# one BoincEmperor 1° Livello - Rotoloni DOCET!! Cactus rulez!! ![]() |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2001
Città: Vicopisano (PI)
Messaggi: 11652
|
__________________
>>PARTECIPA AI PROGETTI DI CALCOLO DISTRIBUITO CON BOINC.Italy!<<
You may say I'm a dreamer - But I'm not the only one - I hope someday you'll join us - And the team will be the 1# one BoincEmperor 1° Livello - Rotoloni DOCET!! Cactus rulez!! ![]() |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2001
Città: Vicopisano (PI)
Messaggi: 11652
|
[/siz]
__________________
>>PARTECIPA AI PROGETTI DI CALCOLO DISTRIBUITO CON BOINC.Italy!<<
You may say I'm a dreamer - But I'm not the only one - I hope someday you'll join us - And the team will be the 1# one BoincEmperor 1° Livello - Rotoloni DOCET!! Cactus rulez!! ![]() |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2001
Città: Vicopisano (PI)
Messaggi: 11652
|
RAGAAAAAAAAAAAAAA L'ESAME SI AVVICINAAAA!!!!! HELPEEEMEEEE!!!!!
possibile che nessuno mi sappia dare una mano? credevo che fosse un probelma di facile risoluzione per chi ha domestichedda con i db e visual basic..... se ci siete postate.... Ciao, GHz!
__________________
>>PARTECIPA AI PROGETTI DI CALCOLO DISTRIBUITO CON BOINC.Italy!<<
You may say I'm a dreamer - But I'm not the only one - I hope someday you'll join us - And the team will be the 1# one BoincEmperor 1° Livello - Rotoloni DOCET!! Cactus rulez!! ![]() |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Feb 2001
Città: Nordest
Messaggi: 217
|
L'evento PointSelected viene inviato quanto l'utente fa click su un punto di una serie ed espone i seguenti parametri:
Series: è l'indice della serie selezionata, con base 1 DataPoint: è l'indice del punto selezionato, con base 1 MouseFlags: indica se è stato premuto il pulsante SHIFT o CTRL Cancel: non usato Con Serie e DataPoint puoi far tutto, ma se ho capito bene il problema è estrarre ulteriori dati dal database in base al punto selezionato. Le strade percorribili sono diverse, anche se non le ho testate in modo approfondito: 1. memorizzi, in una serie nascosta, i valori che vuoi mostrare (data e ora). Quando l'utente fa click su un punto di una serie, estrai il valore dalla serie nascosta: Codice:
Private Sub MSChart1_PointSelected(Series As Integer, DataPoint As Integer, MouseFlags As Integer, Cancel As Integer) MSChart1.Column = 1 'indice della serie nascosta MSChart1.Row = DataPoint MsgBox "Data rilevazione: " & MSChart1.Data End Sub Codice:
Private Sub MSChart1_PointSelected(Series As Integer, DataPoint As Integer, MouseFlags As Integer, Cancel As Integer) MSChart1.Column = 1 'indice della serie nascosta MSChart1.Row = DataPoint rs.FindFirst "ID = " & MSChart1.Data 'rs dichiarato altrove (DAO) MsgBox "Data rilevazione: " & rs("Data") End Sub Per visualizzare dei tooltip potresti usare l'evento MouseMove e i metodi TwipsToChartPart e SelectPart: Codice:
Private MSChart1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim dx As Long
Dim dy As Long
Dim part As Integer
Dim index1 As Integer
Dim index2 As Integer
Dim index3 As Integer
Dim index4 As Integer
dx = CLng(X)
dy = CLng(Y)
MSChart1.TwipsToChartPart dx, dy, part, index1, index2, index3, index4
If part = VtChPartTypePoint Then
MSChart1.SelectPart part, index1, index2, index3, index4
MSChart1.Column = 1 'indice della serie nascosta
MSChart1.Row = index2
Label1.Caption = "Data rilevazione: " & MSChart1.Data
End If
End Sub
__________________
Chi non cerca trova. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Sep 2001
Città: Vicopisano (PI)
Messaggi: 11652
|
Tas ti ringrazio un casino per l'aiuto!
Adesso devo andare a letto...domani se posso faccio qualche prova.....ho letto il tuo post, e la terza soluzione mi sembra la migliore! Ah, un'altra cosa! Dov'è che a queste variabili gli viene inserito un valore? Codice:
Dim part As Integer Dim index1 As Integer Dim index2 As Integer Dim index3 As Integer Dim index4 As Integer Ciao, GHz!
__________________
>>PARTECIPA AI PROGETTI DI CALCOLO DISTRIBUITO CON BOINC.Italy!<<
You may say I'm a dreamer - But I'm not the only one - I hope someday you'll join us - And the team will be the 1# one BoincEmperor 1° Livello - Rotoloni DOCET!! Cactus rulez!! ![]() |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:22.












[/siz]








