OVH Cloud OVH Cloud

Affichage feuille

10 réponses
Avatar
JCM
Bonjour

j'ai un problème pour l'affichage de form dans une MDIform à partir d'un
toolBar.
Pourtant les form sont bien MDIchild=true
voici mon code :

Private Sub TBmain_ButtonClick(ByVal Button As ComctlLib.Button)
Select Case Button.key
Case "Agenda"
'--- ouvrir un agenda
Unload FrmMapMarket
Load FrmAFFAgenda
FrmAFFAgenda.Show
Case "Planning"
'--- ouvrir un planning
Unload FrmMapMarket
FrmAFFPlanning.Show
Case "Sortir"
'--- sortir de l'appli
End
End Select
End Sub

Les form ne s'affichent pas et comment écrire le Unload pour supprimer
l'affichage de la feuille en cours, est-ce Unload Me ?

Merci pour vos réponses

JCM

10 réponses

Avatar
ng
Salut,
l'affichage de la feuille en cours, est-ce Unload Me ?


me.ActiveForm

End


par pitié pas end...
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

JCM wrote:
Bonjour

j'ai un problème pour l'affichage de form dans une MDIform à partir
d'un toolBar.
Pourtant les form sont bien MDIchild=true
voici mon code :

Private Sub TBmain_ButtonClick(ByVal Button As ComctlLib.Button)
Select Case Button.key
Case "Agenda"
'--- ouvrir un agenda
Unload FrmMapMarket
Load FrmAFFAgenda
FrmAFFAgenda.Show
Case "Planning"
'--- ouvrir un planning
Unload FrmMapMarket
FrmAFFPlanning.Show
Case "Sortir"
'--- sortir de l'appli
End
End Select
End Sub

Les form ne s'affichent pas et comment écrire le Unload pour supprimer
l'affichage de la feuille en cours, est-ce Unload Me ?

Merci pour vos réponses

JCM


Avatar
Driss HANIB
Bonjour

quel est le format de bordure de ta feuille ?
je crois que certains formats fixes "empêchent " l'affichage..
en prenant borderstyle "resizing" cela devrait marcher..

2 ème question : unload me marche..

Driss
"JCM" a écrit dans le message de
news:
Bonjour

j'ai un problème pour l'affichage de form dans une MDIform à partir d'un
toolBar.
Pourtant les form sont bien MDIchild=true
voici mon code :

Private Sub TBmain_ButtonClick(ByVal Button As ComctlLib.Button)
Select Case Button.key
Case "Agenda"
'--- ouvrir un agenda
Unload FrmMapMarket
Load FrmAFFAgenda
FrmAFFAgenda.Show
Case "Planning"
'--- ouvrir un planning
Unload FrmMapMarket
FrmAFFPlanning.Show
Case "Sortir"
'--- sortir de l'appli
End
End Select
End Sub

Les form ne s'affichent pas et comment écrire le Unload pour supprimer
l'affichage de la feuille en cours, est-ce Unload Me ?

Merci pour vos réponses

JCM



Avatar
JCM
Bonjour Nicolas

Oui la feuille en cours est Unload Me
Cordialement
JCM
"ng" a écrit dans le message de
news:
Salut,
> l'affichage de la feuille en cours, est-ce Unload Me ?
me.ActiveForm

> End
par pitié pas end...
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

JCM wrote:
> Bonjour
>
> j'ai un problème pour l'affichage de form dans une MDIform à partir
> d'un toolBar.
> Pourtant les form sont bien MDIchild=true
> voici mon code :
>
> Private Sub TBmain_ButtonClick(ByVal Button As ComctlLib.Button)
> Select Case Button.key
> Case "Agenda"
> '--- ouvrir un agenda
> Unload FrmMapMarket
> Load FrmAFFAgenda
> FrmAFFAgenda.Show
> Case "Planning"
> '--- ouvrir un planning
> Unload FrmMapMarket
> FrmAFFPlanning.Show
> Case "Sortir"
> '--- sortir de l'appli
> End
> End Select
> End Sub
>
> Les form ne s'affichent pas et comment écrire le Unload pour supprimer
> l'affichage de la feuille en cours, est-ce Unload Me ?
>
> Merci pour vos réponses
>
> JCM




Avatar
JCM
Re bonjour Nicolas

J'ai un autre problème avec ce code :

Private Sub TBmain_MouseMove(Button As Integer, Shift As Integer, x As
Single, y As Single)
Select Case Button.key
Case "Agenda"
'--- ouvrir un agenda
sbEtat.Panels(1).Text = ""
sbEtat.Panels(1).Text = "Accès aux agendas"
Case "Planning"
'--- ouvrir un planning
sbEtat.Panels(1).Text = ""
sbEtat.Panels(1).Text = "Accès au planning des affaires"
Case "Repertoire"
'--- ouvrir le répertoire
sbEtat.Panels(1).Text = ""
sbEtat.Panels(1).Text = "Accès au répertoire téléphonique"
End Select
End Sub

Cela beug des que ma souris est sur le bouton du toolsbar
Vois-tu pourquoi ?

Cordialement
JCM

"ng" a écrit dans le message de
news:
Salut,
> l'affichage de la feuille en cours, est-ce Unload Me ?
me.ActiveForm

> End
par pitié pas end...
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

JCM wrote:
> Bonjour
>
> j'ai un problème pour l'affichage de form dans une MDIform à partir
> d'un toolBar.
> Pourtant les form sont bien MDIchild=true
> voici mon code :
>
> Private Sub TBmain_ButtonClick(ByVal Button As ComctlLib.Button)
> Select Case Button.key
> Case "Agenda"
> '--- ouvrir un agenda
> Unload FrmMapMarket
> Load FrmAFFAgenda
> FrmAFFAgenda.Show
> Case "Planning"
> '--- ouvrir un planning
> Unload FrmMapMarket
> FrmAFFPlanning.Show
> Case "Sortir"
> '--- sortir de l'appli
> End
> End Select
> End Sub
>
> Les form ne s'affichent pas et comment écrire le Unload pour supprimer
> l'affichage de la feuille en cours, est-ce Unload Me ?
>
> Merci pour vos réponses
>
> JCM




Avatar
ng
Salut,

Quelle est l'utilité des sbEtat.Panels(1).Text = "" ?
Quand tu dis que ca "bug", ca fait quoi exactement ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

JCM wrote:
Re bonjour Nicolas

J'ai un autre problème avec ce code :

Private Sub TBmain_MouseMove(Button As Integer, Shift As Integer, x As
Single, y As Single)
Select Case Button.key
Case "Agenda"
'--- ouvrir un agenda
sbEtat.Panels(1).Text = ""
sbEtat.Panels(1).Text = "Accès aux agendas"
Case "Planning"
'--- ouvrir un planning
sbEtat.Panels(1).Text = ""
sbEtat.Panels(1).Text = "Accès au planning des affaires"
Case "Repertoire"
'--- ouvrir le répertoire
sbEtat.Panels(1).Text = ""
sbEtat.Panels(1).Text = "Accès au répertoire téléphonique"
End Select
End Sub

Cela beug des que ma souris est sur le bouton du toolsbar
Vois-tu pourquoi ?

Cordialement
JCM

"ng" a écrit dans le message de
news:
Salut,
l'affichage de la feuille en cours, est-ce Unload Me ?


me.ActiveForm

End


par pitié pas end...
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

JCM wrote:
Bonjour

j'ai un problème pour l'affichage de form dans une MDIform à partir
d'un toolBar.
Pourtant les form sont bien MDIchild=true
voici mon code :

Private Sub TBmain_ButtonClick(ByVal Button As ComctlLib.Button)
Select Case Button.key
Case "Agenda"
'--- ouvrir un agenda
Unload FrmMapMarket
Load FrmAFFAgenda
FrmAFFAgenda.Show
Case "Planning"
'--- ouvrir un planning
Unload FrmMapMarket
FrmAFFPlanning.Show
Case "Sortir"
'--- sortir de l'appli
End
End Select
End Sub

Les form ne s'affichent pas et comment écrire le Unload pour
supprimer l'affichage de la feuille en cours, est-ce Unload Me ?

Merci pour vos réponses

JCM






Avatar
JCM
Bonjour Nicolas

Cela beug sur Button dans Select Case Button.key
avec le message : erreur de compilation qualificatif incorrect

Cordialement
JCM
"ng" a écrit dans le message de
news:
Salut,

Quelle est l'utilité des sbEtat.Panels(1).Text = "" ?
Quand tu dis que ca "bug", ca fait quoi exactement ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

JCM wrote:
> Re bonjour Nicolas
>
> J'ai un autre problème avec ce code :
>
> Private Sub TBmain_MouseMove(Button As Integer, Shift As Integer, x As
> Single, y As Single)
> Select Case Button.key
> Case "Agenda"
> '--- ouvrir un agenda
> sbEtat.Panels(1).Text = ""
> sbEtat.Panels(1).Text = "Accès aux agendas"
> Case "Planning"
> '--- ouvrir un planning
> sbEtat.Panels(1).Text = ""
> sbEtat.Panels(1).Text = "Accès au planning des affaires"
> Case "Repertoire"
> '--- ouvrir le répertoire
> sbEtat.Panels(1).Text = ""
> sbEtat.Panels(1).Text = "Accès au répertoire téléphonique"
> End Select
> End Sub
>
> Cela beug des que ma souris est sur le bouton du toolsbar
> Vois-tu pourquoi ?
>
> Cordialement
> JCM
>
> "ng" a écrit dans le message de
> news:
>> Salut,
>>> l'affichage de la feuille en cours, est-ce Unload Me ?
>> me.ActiveForm
>>
>>> End
>> par pitié pas end...
>> --
>> Nicolas G.
>> FAQ VB : http://faq.vb.free.fr
>> API Guide : http://www.allapi.net
>> Google Groups : http://groups.google.fr/
>> MZ-Tools : http://www.mztools.com/
>>
>> JCM wrote:
>>> Bonjour
>>>
>>> j'ai un problème pour l'affichage de form dans une MDIform à partir
>>> d'un toolBar.
>>> Pourtant les form sont bien MDIchild=true
>>> voici mon code :
>>>
>>> Private Sub TBmain_ButtonClick(ByVal Button As ComctlLib.Button)
>>> Select Case Button.key
>>> Case "Agenda"
>>> '--- ouvrir un agenda
>>> Unload FrmMapMarket
>>> Load FrmAFFAgenda
>>> FrmAFFAgenda.Show
>>> Case "Planning"
>>> '--- ouvrir un planning
>>> Unload FrmMapMarket
>>> FrmAFFPlanning.Show
>>> Case "Sortir"
>>> '--- sortir de l'appli
>>> End
>>> End Select
>>> End Sub
>>>
>>> Les form ne s'affichent pas et comment écrire le Unload pour
>>> supprimer l'affichage de la feuille en cours, est-ce Unload Me ?
>>>
>>> Merci pour vos réponses
>>>
>>> JCM




Avatar
ng
Salut,

Normal button est du integer et n'a rien à voir avec le button de la toolbar
ici.
Pour récupèrer le click ca se passe dans ButtonClick. La il y a un button de
type MSComCtlLib.Button qui possède bien un membre key :

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComCtlLib.Button)
Select Case Button.Key
Case ...
End Select
End Sub

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

JCM wrote:
Bonjour Nicolas

Cela beug sur Button dans Select Case Button.key
avec le message : erreur de compilation qualificatif incorrect

Cordialement
JCM
"ng" a écrit dans le message de
news:
Salut,

Quelle est l'utilité des sbEtat.Panels(1).Text = "" ?
Quand tu dis que ca "bug", ca fait quoi exactement ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

JCM wrote:
Re bonjour Nicolas

J'ai un autre problème avec ce code :

Private Sub TBmain_MouseMove(Button As Integer, Shift As Integer, x
As Single, y As Single)
Select Case Button.key
Case "Agenda"
'--- ouvrir un agenda
sbEtat.Panels(1).Text = ""
sbEtat.Panels(1).Text = "Accès aux agendas"
Case "Planning"
'--- ouvrir un planning
sbEtat.Panels(1).Text = ""
sbEtat.Panels(1).Text = "Accès au planning des affaires"
Case "Repertoire"
'--- ouvrir le répertoire
sbEtat.Panels(1).Text = ""
sbEtat.Panels(1).Text = "Accès au répertoire
téléphonique" End Select
End Sub

Cela beug des que ma souris est sur le bouton du toolsbar
Vois-tu pourquoi ?

Cordialement
JCM

"ng" a écrit dans le message de
news:
Salut,
l'affichage de la feuille en cours, est-ce Unload Me ?
me.ActiveForm



End


par pitié pas end...
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

JCM wrote:
Bonjour

j'ai un problème pour l'affichage de form dans une MDIform à
partir d'un toolBar.
Pourtant les form sont bien MDIchild=true
voici mon code :

Private Sub TBmain_ButtonClick(ByVal Button As ComctlLib.Button)
Select Case Button.key
Case "Agenda"
'--- ouvrir un agenda
Unload FrmMapMarket
Load FrmAFFAgenda
FrmAFFAgenda.Show
Case "Planning"
'--- ouvrir un planning
Unload FrmMapMarket
FrmAFFPlanning.Show
Case "Sortir"
'--- sortir de l'appli
End
End Select
End Sub

Les form ne s'affichent pas et comment écrire le Unload pour
supprimer l'affichage de la feuille en cours, est-ce Unload Me ?

Merci pour vos réponses

JCM










Avatar
François Picalausa
Hello,

dans
Private Sub TBmain_MouseMove(Button As Integer
Button est déclaré comme integer (il s'agit du boutton pressé de la souris).
Il n'a donc effectivement pas de qualificateur Key.

Je pense que l'objet Button que tu souhaites est lui même propriété de la
Toolbar?
Dans ce cas:
Toolbar.Buttons(index) devrait pouvoir faire l'affaire...
La question est comment récupérer cet index en fonction de la position du
curseur?
On peut effectuer un HitTest:
Option Explicit

Private Const WM_USER As Long = &H400
Private Const TB_HITTEST As Long = (WM_USER + 69)
Private Const GW_CHILD = 5

Private Type POINT
x As Long
y As Long
End Type

Private Declare Function GetWindow _
Lib "user32" _
( _
ByVal hwnd As Long, _
ByVal wCmd As Long _
) _
As Long
Private Declare Function SendMessage _
Lib "user32" _
Alias "SendMessageA" _
( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any _
) _
As Long

Private Sub Toolbar1_MouseMove(Button As Integer, Shift As Integer, x As
Single, y As Single)
Dim TestPoint As POINT
Dim RealWnd As Long
Dim BtnIndex As Long

'On voit avec Spy++ que le contrôle Toolbar de VB6 est contenu dans un
parent
'Nous avons besoin de la fenêtre fille
RealWnd = GetWindow(Toolbar1.hwnd, GW_CHILD)

TestPoint.x = x / Screen.TwipsPerPixelX
TestPoint.y = y / Screen.TwipsPerPixelY

BtnIndex = SendMessage(RealWnd, TB_HITTEST, 0, TestPoint)
If BtnIndex < 0 Then
Debug.Print "Le curseur fait du hors piste!"
Else
'L'index est basé sur 0
BtnIndex = BtnIndex + 1

'Je ne sais pas pourquoi j'ai parfois un retour >
Toolbar1.Buttons.Count ?
If BtnIndex <= Toolbar1.Buttons.Count Then
Debug.Print "Item : " & Toolbar1.Buttons(BtnIndex).Caption
End If
End If
End Sub

Il existe aussi la possibilité de récupérer la notification
TBN_HOTITEMCHANGE par sous-classement...

--
François Picalausa

"JCM" a écrit dans le message de news:

Bonjour Nicolas

Cela beug sur Button dans Select Case Button.key
avec le message : erreur de compilation qualificatif incorrect

Cordialement
JCM
"ng" a écrit dans le message de
news:
Salut,

Quelle est l'utilité des sbEtat.Panels(1).Text = "" ?
Quand tu dis que ca "bug", ca fait quoi exactement ?

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

JCM wrote:
Re bonjour Nicolas

J'ai un autre problème avec ce code :

Private Sub TBmain_MouseMove(Button As Integer, Shift As Integer, x
As Single, y As Single)
Select Case Button.key
Case "Agenda"
'--- ouvrir un agenda
sbEtat.Panels(1).Text = ""
sbEtat.Panels(1).Text = "Accès aux agendas"
Case "Planning"
'--- ouvrir un planning
sbEtat.Panels(1).Text = ""
sbEtat.Panels(1).Text = "Accès au planning des affaires"
Case "Repertoire"
'--- ouvrir le répertoire
sbEtat.Panels(1).Text = ""
sbEtat.Panels(1).Text = "Accès au répertoire
téléphonique" End Select
End Sub

Cela beug des que ma souris est sur le bouton du toolsbar
Vois-tu pourquoi ?

Cordialement
JCM

"ng" a écrit dans le message de
news:
Salut,
l'affichage de la feuille en cours, est-ce Unload Me ?
me.ActiveForm



End


par pitié pas end...
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

JCM wrote:
Bonjour

j'ai un problème pour l'affichage de form dans une MDIform à
partir d'un toolBar.
Pourtant les form sont bien MDIchild=true
voici mon code :

Private Sub TBmain_ButtonClick(ByVal Button As ComctlLib.Button)
Select Case Button.key
Case "Agenda"
'--- ouvrir un agenda
Unload FrmMapMarket
Load FrmAFFAgenda
FrmAFFAgenda.Show
Case "Planning"
'--- ouvrir un planning
Unload FrmMapMarket
FrmAFFPlanning.Show
Case "Sortir"
'--- sortir de l'appli
End
End Select
End Sub

Les form ne s'affichent pas et comment écrire le Unload pour
supprimer l'affichage de la feuille en cours, est-ce Unload Me ?

Merci pour vos réponses

JCM










Avatar
JCM
Bonjour François

Merci pour ce bout de code, mais cela ne fonctionne pas
J'ai 10 boutons sur ToolBar

quand je passe la souris sur le bouton 1 btnIndex a pour valeur 1 donc OK,
par contre si je suis sur le 2 ou 4 ou 5 ou 6 ou 7 j'ai pour valeur -11, si
je suis sur le 3 ou 8 ou 9 j'ai pour valeur 11, si je suis sur le 10 j'ai 10
donc OK

Vois-tu pourquoi ?
Cordialement
JCM
"François Picalausa" a écrit dans le message de
news:
Hello,

dans
Private Sub TBmain_MouseMove(Button As Integer
Button est déclaré comme integer (il s'agit du boutton pressé de la


souris).
Il n'a donc effectivement pas de qualificateur Key.

Je pense que l'objet Button que tu souhaites est lui même propriété de la
Toolbar?
Dans ce cas:
Toolbar.Buttons(index) devrait pouvoir faire l'affaire...
La question est comment récupérer cet index en fonction de la position du
curseur?
On peut effectuer un HitTest:
Option Explicit

Private Const WM_USER As Long = &H400
Private Const TB_HITTEST As Long = (WM_USER + 69)
Private Const GW_CHILD = 5

Private Type POINT
x As Long
y As Long
End Type

Private Declare Function GetWindow _
Lib "user32" _
( _
ByVal hwnd As Long, _
ByVal wCmd As Long _
) _
As Long
Private Declare Function SendMessage _
Lib "user32" _
Alias "SendMessageA" _
( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any _
) _
As Long

Private Sub Toolbar1_MouseMove(Button As Integer, Shift As Integer, x As
Single, y As Single)
Dim TestPoint As POINT
Dim RealWnd As Long
Dim BtnIndex As Long

'On voit avec Spy++ que le contrôle Toolbar de VB6 est contenu dans un
parent
'Nous avons besoin de la fenêtre fille
RealWnd = GetWindow(Toolbar1.hwnd, GW_CHILD)

TestPoint.x = x / Screen.TwipsPerPixelX
TestPoint.y = y / Screen.TwipsPerPixelY

BtnIndex = SendMessage(RealWnd, TB_HITTEST, 0, TestPoint)
If BtnIndex < 0 Then
Debug.Print "Le curseur fait du hors piste!"
Else
'L'index est basé sur 0
BtnIndex = BtnIndex + 1

'Je ne sais pas pourquoi j'ai parfois un retour >
Toolbar1.Buttons.Count ?
If BtnIndex <= Toolbar1.Buttons.Count Then
Debug.Print "Item : " & Toolbar1.Buttons(BtnIndex).Caption
End If
End If
End Sub

Il existe aussi la possibilité de récupérer la notification
TBN_HOTITEMCHANGE par sous-classement...

--
François Picalausa

"JCM" a écrit dans le message de news:

> Bonjour Nicolas
>
> Cela beug sur Button dans Select Case Button.key
> avec le message : erreur de compilation qualificatif incorrect
>
> Cordialement
> JCM
> "ng" a écrit dans le message de
> news:
>> Salut,
>>
>> Quelle est l'utilité des sbEtat.Panels(1).Text = "" ?
>> Quand tu dis que ca "bug", ca fait quoi exactement ?
>>
>> --
>> Nicolas G.
>> FAQ VB : http://faq.vb.free.fr
>> API Guide : http://www.allapi.net
>> Google Groups : http://groups.google.fr/
>> MZ-Tools : http://www.mztools.com/
>>
>> JCM wrote:
>>> Re bonjour Nicolas
>>>
>>> J'ai un autre problème avec ce code :
>>>
>>> Private Sub TBmain_MouseMove(Button As Integer, Shift As Integer, x
>>> As Single, y As Single)
>>> Select Case Button.key
>>> Case "Agenda"
>>> '--- ouvrir un agenda
>>> sbEtat.Panels(1).Text = ""
>>> sbEtat.Panels(1).Text = "Accès aux agendas"
>>> Case "Planning"
>>> '--- ouvrir un planning
>>> sbEtat.Panels(1).Text = ""
>>> sbEtat.Panels(1).Text = "Accès au planning des affaires"
>>> Case "Repertoire"
>>> '--- ouvrir le répertoire
>>> sbEtat.Panels(1).Text = ""
>>> sbEtat.Panels(1).Text = "Accès au répertoire
>>> téléphonique" End Select
>>> End Sub
>>>
>>> Cela beug des que ma souris est sur le bouton du toolsbar
>>> Vois-tu pourquoi ?
>>>
>>> Cordialement
>>> JCM
>>>
>>> "ng" a écrit dans le message de
>>> news:
>>>> Salut,
>>>>> l'affichage de la feuille en cours, est-ce Unload Me ?
>>>>> me.ActiveForm
>>>>
>>>>> End
>>>> par pitié pas end...
>>>> --
>>>> Nicolas G.
>>>> FAQ VB : http://faq.vb.free.fr
>>>> API Guide : http://www.allapi.net
>>>> Google Groups : http://groups.google.fr/
>>>> MZ-Tools : http://www.mztools.com/
>>>>
>>>> JCM wrote:
>>>>> Bonjour
>>>>>
>>>>> j'ai un problème pour l'affichage de form dans une MDIform à
>>>>> partir d'un toolBar.
>>>>> Pourtant les form sont bien MDIchild=true
>>>>> voici mon code :
>>>>>
>>>>> Private Sub TBmain_ButtonClick(ByVal Button As ComctlLib.Button)
>>>>> Select Case Button.key
>>>>> Case "Agenda"
>>>>> '--- ouvrir un agenda
>>>>> Unload FrmMapMarket
>>>>> Load FrmAFFAgenda
>>>>> FrmAFFAgenda.Show
>>>>> Case "Planning"
>>>>> '--- ouvrir un planning
>>>>> Unload FrmMapMarket
>>>>> FrmAFFPlanning.Show
>>>>> Case "Sortir"
>>>>> '--- sortir de l'appli
>>>>> End
>>>>> End Select
>>>>> End Sub
>>>>>
>>>>> Les form ne s'affichent pas et comment écrire le Unload pour
>>>>> supprimer l'affichage de la feuille en cours, est-ce Unload Me ?
>>>>>
>>>>> Merci pour vos réponses
>>>>>
>>>>> JCM




Avatar
JCM
Re bonjour François

ne tiens pas compte du précédent message, cela marche.
Néanmoins j'ai deux autres problèmes sur :
Private Sub TBmain_ButtonClick(ByVal Button As ComctlLib.Button)

-1- les feuilles-filles sont longues à s'afficher, est-ce normal ? quand je
test l'appli la MDIForm s'affiche et quand je click sur un boutton la page
de code s'affiche avant d'afficher la feuille-fille concernée

-2- j'ai une feuille-fille qui est une form de présentation, donc je ne veux
pas de bordure, si je mets la propriété borderstyle=none ou 0, ma feuille ne
s'affiche pas

Vois-tu pourquoi ?
Cordialement
JCM


"François Picalausa" a écrit dans le message de
news:
Hello,

dans
Private Sub TBmain_MouseMove(Button As Integer
Button est déclaré comme integer (il s'agit du boutton pressé de la


souris).
Il n'a donc effectivement pas de qualificateur Key.

Je pense que l'objet Button que tu souhaites est lui même propriété de la
Toolbar?
Dans ce cas:
Toolbar.Buttons(index) devrait pouvoir faire l'affaire...
La question est comment récupérer cet index en fonction de la position du
curseur?
On peut effectuer un HitTest:
Option Explicit

Private Const WM_USER As Long = &H400
Private Const TB_HITTEST As Long = (WM_USER + 69)
Private Const GW_CHILD = 5

Private Type POINT
x As Long
y As Long
End Type

Private Declare Function GetWindow _
Lib "user32" _
( _
ByVal hwnd As Long, _
ByVal wCmd As Long _
) _
As Long
Private Declare Function SendMessage _
Lib "user32" _
Alias "SendMessageA" _
( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any _
) _
As Long

Private Sub Toolbar1_MouseMove(Button As Integer, Shift As Integer, x As
Single, y As Single)
Dim TestPoint As POINT
Dim RealWnd As Long
Dim BtnIndex As Long

'On voit avec Spy++ que le contrôle Toolbar de VB6 est contenu dans un
parent
'Nous avons besoin de la fenêtre fille
RealWnd = GetWindow(Toolbar1.hwnd, GW_CHILD)

TestPoint.x = x / Screen.TwipsPerPixelX
TestPoint.y = y / Screen.TwipsPerPixelY

BtnIndex = SendMessage(RealWnd, TB_HITTEST, 0, TestPoint)
If BtnIndex < 0 Then
Debug.Print "Le curseur fait du hors piste!"
Else
'L'index est basé sur 0
BtnIndex = BtnIndex + 1

'Je ne sais pas pourquoi j'ai parfois un retour >
Toolbar1.Buttons.Count ?
If BtnIndex <= Toolbar1.Buttons.Count Then
Debug.Print "Item : " & Toolbar1.Buttons(BtnIndex).Caption
End If
End If
End Sub

Il existe aussi la possibilité de récupérer la notification
TBN_HOTITEMCHANGE par sous-classement...

--
François Picalausa

"JCM" a écrit dans le message de news:

> Bonjour Nicolas
>
> Cela beug sur Button dans Select Case Button.key
> avec le message : erreur de compilation qualificatif incorrect
>
> Cordialement
> JCM
> "ng" a écrit dans le message de
> news:
>> Salut,
>>
>> Quelle est l'utilité des sbEtat.Panels(1).Text = "" ?
>> Quand tu dis que ca "bug", ca fait quoi exactement ?
>>
>> --
>> Nicolas G.
>> FAQ VB : http://faq.vb.free.fr
>> API Guide : http://www.allapi.net
>> Google Groups : http://groups.google.fr/
>> MZ-Tools : http://www.mztools.com/
>>
>> JCM wrote:
>>> Re bonjour Nicolas
>>>
>>> J'ai un autre problème avec ce code :
>>>
>>> Private Sub TBmain_MouseMove(Button As Integer, Shift As Integer, x
>>> As Single, y As Single)
>>> Select Case Button.key
>>> Case "Agenda"
>>> '--- ouvrir un agenda
>>> sbEtat.Panels(1).Text = ""
>>> sbEtat.Panels(1).Text = "Accès aux agendas"
>>> Case "Planning"
>>> '--- ouvrir un planning
>>> sbEtat.Panels(1).Text = ""
>>> sbEtat.Panels(1).Text = "Accès au planning des affaires"
>>> Case "Repertoire"
>>> '--- ouvrir le répertoire
>>> sbEtat.Panels(1).Text = ""
>>> sbEtat.Panels(1).Text = "Accès au répertoire
>>> téléphonique" End Select
>>> End Sub
>>>
>>> Cela beug des que ma souris est sur le bouton du toolsbar
>>> Vois-tu pourquoi ?
>>>
>>> Cordialement
>>> JCM
>>>
>>> "ng" a écrit dans le message de
>>> news:
>>>> Salut,
>>>>> l'affichage de la feuille en cours, est-ce Unload Me ?
>>>>> me.ActiveForm
>>>>
>>>>> End
>>>> par pitié pas end...
>>>> --
>>>> Nicolas G.
>>>> FAQ VB : http://faq.vb.free.fr
>>>> API Guide : http://www.allapi.net
>>>> Google Groups : http://groups.google.fr/
>>>> MZ-Tools : http://www.mztools.com/
>>>>
>>>> JCM wrote:
>>>>> Bonjour
>>>>>
>>>>> j'ai un problème pour l'affichage de form dans une MDIform à
>>>>> partir d'un toolBar.
>>>>> Pourtant les form sont bien MDIchild=true
>>>>> voici mon code :
>>>>>
>>>>> Private Sub TBmain_ButtonClick(ByVal Button As ComctlLib.Button)
>>>>> Select Case Button.key
>>>>> Case "Agenda"
>>>>> '--- ouvrir un agenda
>>>>> Unload FrmMapMarket
>>>>> Load FrmAFFAgenda
>>>>> FrmAFFAgenda.Show
>>>>> Case "Planning"
>>>>> '--- ouvrir un planning
>>>>> Unload FrmMapMarket
>>>>> FrmAFFPlanning.Show
>>>>> Case "Sortir"
>>>>> '--- sortir de l'appli
>>>>> End
>>>>> End Select
>>>>> End Sub
>>>>>
>>>>> Les form ne s'affichent pas et comment écrire le Unload pour
>>>>> supprimer l'affichage de la feuille en cours, est-ce Unload Me ?
>>>>>
>>>>> Merci pour vos réponses
>>>>>
>>>>> JCM