ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Forum AtoutFox : Re: choisir ce qui apparaît dans le menu "fenêtre"   

Sujet

rss Flux RSS des derniers messages

Vous devez vous identifier pour pouvoir poser une question ou répondre.

dim. 05 août 2018, 21h38
eddymaue
atoutfox.public.association

Re: choisir ce qui apparaît dans le menu "fenêtre"

voila un début de ce que tu aimerais faire

#Define RESIZE_FORM 0x1 && 0001
#Define LOSTFOCUS_FORM 0x2 && 0010
#Define DEACTIVATE_FORM 0X4 && 0100
#define HIDE_FORM 0X8 && 1000

Clear

Public oForm
m.oForm = Createobject("frm1ere")
m.oForm.Show()

**************************************************
*-- Form: form1 (c:\vfp\dev\test_form_hide.scx)
*-- ParentClass: form
*-- BaseClass: form
*-- Time Stamp: 08/05/18 02:00:12 PM
*
Define Class frm1ere As Form

left = 300
DoCreate = .T.
Caption = "Form1"
bFrm_hide = 0
Name = "Form1"
windowtype=1


Add Object cmdHideForm As CommandButton With ;
Top = 192, ;
Left = 252, ;
Height = 27, ;
Width = 84, ;
Caption = "Reduire", ;
Name = "cmdHideForm"


Procedure Load
Activate Screen
? "event load" , This.bFrm_hide
Endproc


Procedure Activate
This.bFrm_hide = 0
Activate Screen
? "event Activate" , This.bFrm_hide
Endproc


Procedure Resize
This.bFrm_hide = Bitor(This.bFrm_hide, RESIZE_FORM )
Activate Screen
? "event Resize"
Endproc


Procedure LostFocus
This.bFrm_hide = Bitor(This.bFrm_hide, LOSTFOCUS_FORM )
Activate Screen
? "event LostFocus" , This.bFrm_hide
EndProc

Procedure hide()
This.bFrm_hide = Bitor(This.bFrm_hide, HIDE_FORM )
Activate Screen
? "event Hide" , This.bFrm_hide

endproc


Procedure Deactivate

Activate Screen
This.bFrm_hide = Bitor(This.bFrm_hide, DEACTIVATE_FORM )
? "event Deactivate" , This.bFrm_hide

Public mo

If This.bFrm_hide > 6

Thisform.Enabled = .F.
Thisform.Visible = .F.

Public oFrmReactiver As Form
m.oFrmReactiver = Createobject("FrmReactiver", Thisform )

Endif

Endproc


Procedure cmdHideForm.Click
Thisform.Hide()
Endproc


Enddefine
*
*-- EndDefine: form1
**************************************************

**************************************************
*-- Form: FrmReactiver
*-- ParentClass: form
*-- BaseClass: form
*-- Time Stamp: 08/05/18 02:12:12 PM
*
Define Class FrmReactiver As Form
Top = 0
Left = 0
TitleBar= 0
Add Object cmdReactiver As CommandButton With ;
Caption="Afficher le formulaire"

oForm = .Null.

Procedure cmdReactiver.Click()

With Thisform
.oForm.Visible = .T.
.oForm.Enabled = .T.
.oForm.show()
.oform = .null.
Endwith

Release Thisform

Endproc

Procedure Init (oForm)

This.oForm = m.oForm

This.Width= This.cmdReactiver.Width
This.Height = This.cmdReactiver.Height

This.Visible=.T.

Endproc

Enddefine

*
*-- EndDefine: FrmReactiver
**************************************************




jcriv a exposé le 2018-08-02 :
> Merci Greg,
> En effet, le form n'apparait plus dans le menu. Ce qui est marrant, c'est que
> lors de mes recherches, j'ai trouvé des questions exactement inverses :
> comment faire apparaître ces formulaires top level dans le menu "window".
> Hélas, dans mon cas, le formulaire en showwindow 2 n'est plus modal, ce qui
> change tout : tant qu'il est modal, le code est en attente dans le formulaire
> appelant, et n'est libéré qu'au moment du hide du form modal appelé.
> ShowWindow est en lecture seule à l'exécution, et je ne connais pas d'astuce
> pour le rendre accessible en modification - si une telle astuce existe (dans
> ce cas, je l'aurais mis à 2 après le hide, puis ramené à 0 lors des show
> ultérieurs). JC

--
a+ Eddy
L'incompréhensible se réalise toujour avant le compréhensible parce que
tout simplement on ne l'a pas encore assimilé
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000019164
19 099 messages dans le forum • Liste complète des messages

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2018.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0