Newsgroup: it.comp.appl.access
Titolo: aprire una maschera sempre nella stessa posizione

Ciao!
Sto cercando di capire come far aprire una maschera sempre in una
determinata posizione dello schermo (in alto a dx, o a sx,  o altro).
Qualcuno ha qualche dritta da darmi?
Grazie 1000!
F
ps: in caso di riposta affermativa, sarebbe possibile fare lo stesso
con la schermata di un'applicazione (windows media player) che viene
lanciata se si clicca sul tasto di una maschera (che apre un file
video, appunto)?

 video, appunto)?
Quest'è tutt'altra cosa, guarda sul sito di 
alessadrobaraldi.it
 se non
sbaglio ci dovrebbe essere qualcosa
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

 video, appunto)?
Si è possibile, devi ricavare l'Hwdn dell'applicativo con FindWindow
WMP_Hwnd=FindWindow("Media Player 2","Windows Media Player")
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
lpClassName As String, ByVal lpWindowName As String) As Long
' Il ClassName potrebbe essere errato e dipendente dalla Versione,
quindi
potresti provare ad Omettere il ClassName oppure usare questo per
trovarlo:
http://www.mvps.org/access/api/api0013.htm
Poi usi MoveWindow per posizionarla.
Declare Function MoveWindow Lib "user32" Alias "MoveWindow" (ByVal hwnd
As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal
nHeight As Long, ByVal bRepaint As Long) As Long
Ricorda che la funzione API MoveWindow accetta in ingresso le
coordinate in Pixel
e non in Twips, quindi riferisciti alla risoluzione video.
Se hai problemi fammi sapere.
@Alex

 Qualcuno ha qualche dritta da darmi?
Massimiliano e Alessandro,
Grazie 1000 per l'aiuto immediato!
ora vedo di cercare di capire bene quanto da voi scritto e smanettare
un poco...
mi rifaccio vivo tra poco!
grazie ancora!
F


Ciao alessandro!
Eccomi qui : /
allora, ho provato a fare quello che mi hai detto...
ho provato anche ad eseguire il modulo del sito 
mvps.org
 per avere il
classname ma non ci sono riuscito... allora ho cercato di fare senza il
class name, omettendolo...
il codice associato al tasto che fa partire il WMP con il file che
voglio è:
-----------------------------------------
Private Sub Comando166_Click()
Dim path As String
Dim file1 As String
On Error Resume Next
path = Application.CurrentProject.path
file1 = path & Me![Filmato]
WMP_Hwnd = FindWindow("", "Windows Media Player")
MoveWindow WMP_Hwnd, 10, 10, 10, 10
Me!Comando166.HyperlinkAddress = file1
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x
As Long, ByVal y As Long, ByVal nwidth As Long, ByVal nheight As Long,
ByVal brepaint As Long) As Long
End Sub
---------------------------------------------
ma non riesco a farlo funzionare...
è giusto come ho messo il codice?
abbia pietà :-(
grazie 1000
F

 F
-- 


 F
Queste dichiarazioni vanno fatte a livello di Modulo, quindi o nella
parte alta del modulo
della Maschera oppure in un modulo Bas.
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal
 lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function MoveWindow Lib "user32" (ByVal hwnd As Long, ByVal x
 As Long, ByVal y As Long, ByVal nwidth As Long, ByVal nheight As Long,
 ByVal brepaint As Long) As Long
Se le dichiari nella Form devi aggiungere Private altrimenti da errore,
se le metti in un modulo funziona.
Ora prima di tutto devi aprire l'applicazione quindi posizionarla, tu
non hai indicato
come la apri....!
Se la apri mediante HyperlinkAddress è certo che potresti avere dei
guai..., la chiamata
è asincrona e non è detto che l'Hwnd venga assegnato in tempo per
l'interrogazione.
Fossi in te userei questo per lanciare il file
http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=231
automaticamente lancia il Programma associato e recupera l'Handle,
così fai a meno di usare FindWindow, ti basterà fare così:
Dim WMP_hwnd as Long
WMP_Hwnd=hWndShell("NomeFile", vbNormalFocus)
MoveWindow WMP_Hwnd, 10, 10, 10, 10
Ciao
@Alex