19/05/08 7:09
gantonio
Non c'e' un modo per farlo a parte il timer ... non capisco perche' non devi usarlo ...
aaa
19/05/08 12:41
non e' che' non possa usarlo, non voglio usare un timer..e' semplicemente una scelta programmatica..nei programmi fatti in passato di timer ne ho usati parecchi a iosa, questa volta ho deciso di sviluppare questa chat senza nenahce un timer, ed a dire il vero con il ciclo do while e quella famosa pausa sta' andando alla grande, ho evitato tutti i timer( che di per se' e' un eccellente componenete ).....
l base di tutto questo giochetto e' riuscire a muovere du form contemporaneamente e non posso usare un setpatrent altrimenti l'effetto grafico svanisce....
praticamente metto un form sotto con una immagine e al form sopra gli do' la trasparenza cosi' vien fuori un trucchetto per il traslucido.....aime' con il set parent non funziona piu' , perche' far diventere trasparente un form non e' difficile fare diventare trasparente un componente del form e' difficilissimo e con il setparent un form diventa un componenete dell'altro form....
morale della favola ( che mi son dilungato assai ) e' trovare una tecnica per spostare due form contemporaneamente, anche il timer di per s'e' non e' immediato e lascia uno strascinamento....
19/05/08 13:59
Shutdown
"iosa"? "strascinamento"?
Mah..
Spero tu sappia essere più chiaro.
Credo che avrai difficoltà nell'ottenere risposte.
Mi dispiace ma io non capisco questa tua scelta "programmatica". Non capisco davvero dove sia il tuo problema.
Scusa.
Ultima modifica effettuata da Shutdown 19/05/08 14:03
aaa
20/05/08 16:10
e' una scelta programmatica forse ho usato una parolona pero' credo sia quella piu' adatta.....
volevo dire che in passato nei miei progetti di timer ne ho sempre usati molti....questa volta volevo sviluppare un programma senza metterne neanche uno....non c'e' un motivo logico dietro e' solo una decisione che ho preso....
il mio interrogativo che mi ponevo e' se c'e' un modo per fare muovere 2 forms senza usare il setparet o un timer....
ma credo che la cosa non si possa fare....
grazie a tutti che hanno partecipato alla discussione
20/05/08 17:03
Overflow
ciao, ho provato a fare qualcosa ma.. non è fattibile. Ti posto quello che sono riuscito a fare.. e se riesci ad aggiustare qualcosa. A renderlo più "agilbile"
Allora in un form metti due textbox e un commandbutton e poi:
'te lo spiego un po
const TRASCINAMENTO = 161
Private Type POINTAPI
x As Long
y As Long
End Type
Private Type MSG
hwnd As Long
message As Long
wParam As Long
lParam As Long
time As Long
pt As POINTAPI
End Type
Private Sub Command1_Click()
Dim c As MSG
Dim d As Long
'qui faccio un ciclo infinto per controllare gli eventi quando trovo il 161 che sarebbe il trascinamento della finestra mi salvo i valore della nuiocva posizione della finestra, dopodiche li rimetto in coda.
While 1 = 1
d = GetMessage(c, Form1.hwnd, 0, 0)
If c.message = TRASCINAMENTO Then
Text1.Text = Form1.Top
Text2.Text = Form1.Left
End If
DispatchMessage c
DoEvents
Wend
End Sub
Private Sub Form_Load()
End Sub
stavo pensando a come poi fermare il ciclo while..
comunque se questo ti può servire a qualcosa...
Ciao.
... forse c'è un po di codice inutile. Comunque ripensandoci potresti usare una SetTimer e KillTimer.
Ultima modifica effettuata da Overflow 21/05/08 5:36
aaa
22/05/08 20:09
ho provato ma non riesco ad ottenere quello che pensavo, mi restituisce si il valore delle posizioni ma allo stesso modo del ciclo che avevo postato inizialmente....mi sa' che saro' costretto ad usare il timer....
grazie della partecipazione ragazzi, qui' non si finisce mai di imparare.....