OVH Cloud OVH Cloud

Positionnner une fenêtre

14 réponses
Avatar
Jessy SEMPERE
Bonjour à tous

Je lance une fenêtre de sélection d'un répertoire en utilisant
l'API : "SHBrowseForFolder"

Comment je peux positionner cette fenêtre où je souhaite
sur l'écran ??

Je suppose qu'il faut utiliser l'API SetWindowPos mais le
problème c'est que je n'ai pas le handle de la fenêtre qui s'ouvre...

Merci à tous
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------

4 réponses

1 2
Avatar
Hubert Canevet
Il m'avait bien semblé qu'il devait y avoir quelque chose
comme ça. A toutes fins utiles je t'ai envoyé une copie à
l'adresse que tu as donnée tout-à-l'heure, j'espère que ce
sera lisible sans la mise en forme.

-----Message d'origine-----
Salut Hubert

Oui j'ai MSDN mais chez moi, malheureusement je ne l'ai
pas où je me trouve la journée
(donc quand j'en ai réellement besoin... ;-))

Bon je vais essayer de me pencher dessus chez moi
surtout si ça peut m'apporter plus d'informations qui
seront sommes toutes bien venue je pense...

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Hubert Canevet" a écrit dans le


message news:
55d501c376dc$290482b0$
Salut Jessy,

As-tu MSDN sous la main ?
Il y a quelque chose sur la question, là-dedans.
Ce serait bien d'avoir tes réactions là-dessus avant de
dire autre chose.

-----Message d'origine-----
Mais j'ai quand même une question technique :
A quoi sert AddressOf ???
En fait bon dans le fichier j'ai bien l'équivalent pour


Access97
et ça fonctionne très bien mais je ne comprends pas du


tout
à quoi ça sert exactement.





.



Avatar
Jessy SEMPERE
Merci, c'est plus clair maintenant.

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Hubert Canevet" a écrit dans le message news:
564401c376df$81ad7900$
Il m'avait bien semblé qu'il devait y avoir quelque chose
comme ça. A toutes fins utiles je t'ai envoyé une copie à
l'adresse que tu as donnée tout-à-l'heure, j'espère que ce
sera lisible sans la mise en forme.

-----Message d'origine-----
Salut Hubert

Oui j'ai MSDN mais chez moi, malheureusement je ne l'ai
pas où je me trouve la journée
(donc quand j'en ai réellement besoin... ;-))

Bon je vais essayer de me pencher dessus chez moi
surtout si ça peut m'apporter plus d'informations qui
seront sommes toutes bien venue je pense...

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Hubert Canevet" a écrit dans le


message news:
55d501c376dc$290482b0$
Salut Jessy,

As-tu MSDN sous la main ?
Il y a quelque chose sur la question, là-dedans.
Ce serait bien d'avoir tes réactions là-dessus avant de
dire autre chose.

-----Message d'origine-----
Mais j'ai quand même une question technique :
A quoi sert AddressOf ???
En fait bon dans le fichier j'ai bien l'équivalent pour


Access97
et ça fonctionne très bien mais je ne comprends pas du


tout
à quoi ça sert exactement.





.



Avatar
Zoury
Salut Jessy! :O)

1°) dans la fonction "BrowseCallbackProc" on vérifie la valeur
de la variable uMsg, mais ce que je ne comprends pas c'est qu'à
aucun moment on la renseigne...



La fonction CallBack est appelé par le système et c'est ce dernier qui
renseigne les paramètres que tu y reçois. Elle permet de te donner le
"contrôle" à certain moment précis, comme par exemple lors de
l'initialisation de la boîte de dialogue, lors du changement de sélection,
etc.

3°) à quoi correspond et surtout à quoi servent ces 3 fonctions :
Call CoTaskMemFree(lpIDList)



Si nous avions travaillé en C++, nous aurions dû réservé et configurer
l'espace mémoire pour la composante COM (le browser).

//***
#include <objbase.h>

//...

if (CoInitialiseEx(NULL, COINIT_APARTMENTTHREADED) == S_OK)
{
//...
}
//***

Étant donnée que nous travaillons en VB, dans un environnement protégé, le
COM est initialisé automatiquement, nous n'avons donc pas à nous occupé de
ce détail. Toutefois la libération de l'espace mémoire *doit* se faire
manuellement. L'API CoTaskMemFree() permet donc de libéré un bloc de mémoire
alloué préalablement.

Call LocalFree(lpDefaultFolder)



Semblable à CoTaskMemFree() mais concernant la mémoire vive. Cette fonction
permet de libèré un bloc de mémoire réservé préalablement à l'aide de
LocalAlloc().

Call StripNullTerminator(BrowseFolder)



Tronque, si nécessaire le caractère Null (vbNullString = Chr$(0)), qui se
trouve à la fin de la chaine.



Voilà! J'espère que c'est plus clair maintenant ;O)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous
Avatar
Zoury
> Des vitamines, Zoury.. faut prendre des vitamines ;-)



j'peux pas... j'suis tombé d'dans étant petit! :O)))


Il s'agit donc de la constante vbNullChar et non vbNullString qui elle est
une chaine vide, qui "pointe" sur l'adresse 0



C'est vrai, désolé.. ;O)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous
1 2