Page 1 sur 1
Propriété des fenetres dans un MDI gadget.
Publié : ven. 23/nov./2007 14:40
par poshu
En ce moment, je d'écouvre le MDI (joie, bonheur, Yeepeeyaho!) et je bloque sur un détail:
Pour empecher une fenetre d'etre sizable ou maximisable, comment fait on?
Merci d'avance :p.
Re: Propriété des fenetres dans un MDI gadget.
Publié : ven. 23/nov./2007 15:41
par Backup
poshu a écrit :En ce moment, je d'écouvre le MDI (joie, bonheur, Yeepeeyaho!) et je bloque sur un détail:
Pour empecher une fenetre d'etre sizable ou maximisable, comment fait on?
Merci d'avance :p.
si tu ne met pas #PB_Window_SizeGadget dans le open, ça devrais etre bon non ?
et pour le maximisable tu ne mets pas #PB_Window_SystemMenu
sinon ce code de Chris te permetrai de controler le fait ..
; Code par Chris
;/Constantes Window
Enumeration
#Window_0
EndEnumeration
;/Constantes Gadget
Enumeration
#Btn_Quit
EndEnumeration
Procedure CallBack(Hnd,msg,wParam,lParam)
Resultat = #PB_ProcessPureBasicEvents
Select msg
Case #WM_SIZE
Select wParam
Case #SIZE_MAXIMIZED : Debug "Fenêtre Maximisée"
Case #SIZE_MINIMIZED : Debug "Fenêtre Minimisée"
Case #SIZE_RESTORED : Debug "Fenêtre Restaurée"
EndSelect
Case #WM_SYSCOMMAND
Select wParam
Case #SC_MAXIMIZE : Debug "Clic sur Maximiser"
Case #SC_MINIMIZE : Debug "Clic sur Minimiser"
EndSelect
EndSelect
ProcedureReturn Resultat
EndProcedure
If OpenWindow ( #Window_0 , 300, 300, 300, 200, "Fenêtre 1" , #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget , 0)
SetWindowCallback (@CallBack())
If CreateGadgetList ( WindowID ( #Window_0 ))
ButtonGadget ( #Btn_Quit , 100, 170, 100, 25, "Quitter" )
EndIf
Repeat
Select WaitWindowEvent ()
Case #PB_Event_Gadget
Select EventGadget ()
Case #Btn_Quit : quit = 1
EndSelect
Case #PB_Event_CloseWindow : quit = 1
EndSelect
Until quit = 1
End
EndIf
Publié : ven. 23/nov./2007 15:57
par poshu
La fenetre DANS un MDI voulais je dire (j'ai pas été clair? désolé)
Le forum anglais cache moultes ressources. J'ai déteré et debuggé un vieux code (opérationel mis à part les scrollbar):
Code : Tout sélectionner
If OpenWindow(0,0,0,400,300,"MDIGadget",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget|#PB_Window_MaximizeGadget)
If CreateGadgetList(WindowID(0)) And CreateMenu(0, WindowID(0))
MenuTitle("MDI windows menu")
MenuItem(0, "self created item")
MenuItem(1, "self created item")
MDIGadget(0, 0, 0, 0, 0, 0, 2, #PB_MDI_AutoSize)
OpenWindow(1, 0, 0, 300, 200, "w00t", #PB_Window_TitleBar)
SetParent_(WindowID(1), GadgetID(0))
SmartWindowRefresh(0,0)
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
EndIf
Et finalement, j'ai été sauvé par Srod et son code magique:
Code : Tout sélectionner
If OpenWindow(0,0,0,400,300,"",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_SizeGadget|#PB_Window_MaximizeGadget)
If CreateGadgetList(WindowID(0)) And CreateMenu(0, WindowID(0))
MenuTitle("Menu index 0")
MenuTitle("MDI windows menu")
MenuItem(0, "self created item")
MenuItem(1, "self created item")
MDIGadget(0, 0, 0, 0, 0, 1, 2, #PB_MDI_AutoSize)
chWnd = AddGadgetItem(0, 1, "ca se resize pas et y'a des scrollbar")
SetWindowLong_(chWnd, #GWL_STYLE, GetWindowLong_(chWnd, #GWL_STYLE)&~(#WS_SIZEBOX|#WS_SYSMENU|#WS_MAXIMIZEBOX))
EndIf
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Gadget
Select EventGadget()
Case 0
EndSelect
EndSelect
Until EventID=#PB_Event_CloseWindow
EndIf
Publié : ven. 23/nov./2007 16:00
par Backup
bon plan

Publié : ven. 23/nov./2007 16:14
par poshu
J'avais pas lu ton poste (vu la premiere phrase qui n'était pas addaptée: on n'ajoute pas une fenetre avec un openwindow() mais avec un AddGadgetItem() ) mais, en effet, le callback de chris marche aussi