ouverture et comment fermer une fenetre...
Publié : mer. 20/juil./2016 5:09
Bonjour, je ne comprend pas comment fermer ma fenetre, j'ai essayer de toute sorte de façon mais j'ai toujours une erreur.
Merci de votre aide..
Yves
mon programme avance à pas de tortue vous avez seulement la partie pour le preview d'impression
J'UTILISE LA LIBRAIRIE printer_lib.pb
Merci de votre aide..
Yves

mon programme avance à pas de tortue vous avez seulement la partie pour le preview d'impression
J'UTILISE LA LIBRAIRIE printer_lib.pb
Code : Tout sélectionner
;-----------------------
#PrinterLib_Include=1
XIncludeFile "Printer_Lib.pb"
UseJPEGImageDecoder()
Print_SetUnits(#PRINT_inches)
OPT$="Orientation=" + Str(#DMORIENT_PORTRAIT) + ","
OPT$+"Papersize=" + Str(#DMPAPER_LETTER)
Define imagenr,Jobname$,err$
; imagenr = LoadImage(#PB_Any,"W.jpg")
; imagenr1 = LoadImage(#PB_Any,"image1p.jpg")
; ---------------
Global Max.l
Global idx.l
Global Zoom.l, lw.d, text1$, Text$, ajout.d, unites$, valeur$, pre$, d.d, b.d
Global cible.i, bb$, Electrod.d, Method$, Sunit$, lg = 14
Global distC.d, c1.d, c2.d, cb.d, ct.d, cc.d, cr.d, ix.d, sx.d, j.d, fluxx.d, fluxy.d, fluxz.d, fluxt.d, wrequis.d, advice$ ,iy.d, sy.d, sxt.d, sxb.d, syl.d, syr.d,ny.d, nx.d
Global Fx.d, Fy.d, Fz.d, Mx.d, My.d, Mz.d, xa.i, ya.i
d = 12.12345
b = 34.43224
Electrod = 480.123
Method$ = "welds treated as line"
Sunit$ = "US"
lg = 14
distC = 56.3457
c1 = 257.332
c2 = 357.246
cb = 26585.3434
ct = 123.678
cc = 1278.345
cr =2345.56
ix = 32453.34
sx = 137.44
j = 1286.55
fluxx = 324.43
fluxy = 1256.34
fluxz = 344.323
fluxt = 345.234
wrequis = 4.56
advice$ = "aucun"
iy = 974.256
sy = 345.456
sxt = 8954.233
sxb = 3478.34
syl = 126.34
syr = 234.64
ny = 34.67
nx = 238.45
Fx = 100.234
Fy = 200.456
Fz = 300.345
Mx = 400.567
My = 500.567
Mz = 600.890
;- Global Variables and Constants
Global BubbleTipStyle=0
Define EventID,MenuID,GadgetID,WindowID
;- Window Constants
Enumeration 1
#Window_test
#Window_choix
EndEnumeration
#WindowIndex=#PB_Compiler_EnumerationValue
;- Gadget Constants
Enumeration 1
;Window_test
#Gadget_test_Imprime
;Window_choix
#Gadget_choix_sendtopreview
#Gadget_choix_sendtoprint
EndEnumeration
#GadgetIndex=#PB_Compiler_EnumerationValue
Procedure.i Window_test()
If OpenWindow(#Window_test,480,213,400,300,"imprimatur",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_Invisible)
ButtonGadget(#Gadget_test_Imprime,150,70,120,20,"choix")
HideWindow(#Window_test,0)
ProcedureReturn WindowID(#Window_test)
EndIf
EndProcedure
Procedure.i Window_choix()
If OpenWindow(#Window_choix,553,196,400,300,"Select option",#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_Invisible)
ButtonGadget(#Gadget_choix_sendtopreview,140,65,120,20,"Preview")
ButtonGadget(#Gadget_choix_sendtoprint,140,145,120,20,"Send to printer")
HideWindow(#Window_choix,0)
ProcedureReturn WindowID(#Window_choix)
EndIf
EndProcedure
;-----------------------------------------
Procedure Showimage()
Protected img
img=Print_GetPreviewImage(idx)
If img
SetGadgetState(1,ImageID(img))
EndIf
EndProcedure
Procedure Print_Preview(Preview)
Protected pw,xa,ya,Text$,textw,texta,textd,texth
Print_OpenPrinter("","PAPERSIZE="+Str(#DMPAPER_LETTER)+",ORIENTATION="+Str(#DMORIENT_PORTRAIT))
If Preview=#True
pw=(450*Zoom)/100
Print_StartPreview(pw)
xa=Print_GetDeviceCaps(#HORZRES)+20
ya=Print_GetDeviceCaps(#VERTRES)+20
SetGadgetAttribute(0,#PB_ScrollArea_InnerWidth,xa)
SetGadgetAttribute(0,#PB_ScrollArea_InnerHeight,ya)
Else
Print_StartPrinting("TEST")
EndIf
; Start preview
Print_SetTextColor(#Black)
Print_Font("Arial",48)
textw=Print_TextWidth(text$)
texta=Print_GetTextMetrics(#TM_ASCENT)
textd=Print_GetTextMetrics(#TM_DESCENT)
texth=Print_GetTextMetrics(#TM_HEIGHT)
;-------------------
; Print_SetTextColor(#Blue)
Print_Font("Arial",48,#PB_Font_Bold )
Text$="Weld Design" ; c'est ici que ca se passe
Print_Text(32,10,Text$)
Print_Font("Arial",18)
Text$="Registred version of : "
Print_Text(21,20,Text$)
Print_Font("Arial",18,#PB_Font_Underline)
Text$ = "UNREGISTRED VERSION"
Print_Text(50,20,text$)
Print_Font("Arial",18)
Text$ = "Data Section, geometry, loads and material"
Print_Text(35,28,text$)
Print_Font("Arial",12)
unites$ = " mm"
pre$ = " d = "
valeur$ = StrD(d,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(31,33,text$)
unites$ = " mm"
pre$ = " b = "
valeur$ = StrD(b,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(31,35,text$)
unites$ = " N"
pre$ = " Fx = "
valeur$ = StrD(Fx,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(31,41,text$)
unites$ = " N"
pre$ = " Fy = "
valeur$ = StrD(Fy,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(31,43,text$)
unites$ = " N"
pre$ = " Fz = "
valeur$ = StrD(Fx,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(31,45,text$)
unites$ = " N*m"
pre$ = " Mx = "
valeur$ = StrD(Mx,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(55,33,text$)
unites$ = " N*m"
pre$ = " My = "
valeur$ = StrD(My,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(55,35,text$)
unites$ = " N*m"
pre$ = " Mz = "
valeur$ = StrD(Mz,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(55,37,text$)
unites$ = " MPa"
pre$ = " Electrod = "
valeur$ = StrD(Electrod,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(55,41,text$)
pre$ = " Units = "
valeur$ = Sunit$
text1$ = pre$ + valeur$
Text$ = text1$
Print_Text(55,43,text$)
pre$ = " Method = "
valeur$ = Method$
text1$ = pre$ + valeur$
Text$ = text1$
Print_Text(55,45,text$)
unites$ = " mm"
pre$ = " Lw = "
valeur$ = StrD(Lw,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,53,text$)
unites$ = " mm"
pre$ = " C = "
valeur$ = StrD(distC,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,55,text$)
unites$ = " mm"
pre$ = " C1 = "
valeur$ = StrD(c1,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,57,text$)
unites$ = " mm"
pre$ = " C2 = "
valeur$ = StrD(c2,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,59,text$)
unites$ = " mm"
pre$ = " Cb = "
valeur$ = StrD(cb,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,61,text$)
unites$ = " mm"
pre$ = " Ct = "
valeur$ = StrD(ct,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,63,text$)
unites$ = " mm"
pre$ = " Cc = "
valeur$ = StrD(cc,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,65,text$)
unites$ = " mm"
pre$ = " Cr = "
valeur$ = StrD(cr,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,67,text$)
unites$ = " mm"
pre$ = " Nx = "
valeur$ = StrD(Nx,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,69,text$)
unites$ = " mm"
pre$ = " Ny = "
valeur$ = StrD(Ny,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,71,text$)
unites$ = " N/mm"
pre$ = " Flux x = "
valeur$ = StrD(fluxx,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,75,text$)
unites$ = " N/mm"
pre$ = " Flux y = "
valeur$ = StrD(fluxy,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,77,text$)
unites$ = " N/mm"
pre$ = " Flux z = "
valeur$ = StrD(fluxz,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,79,text$)
unites$ = " N/mm"
pre$ = " Flux total = "
valeur$ = StrD(fluxt,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,81,text$)
unites$ = " mm"
pre$ = " w requis = "
valeur$ = StrD(wrequis,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(5,83,text$)
unites$ = " mm3"
pre$ = " Ix = "
valeur$ = StrD(Ix,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(31,53,text$)
unites$ = " mm2"
pre$ = " Sx = "
valeur$ = StrD(Sx,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(31,55,text$)
unites$ = " mm2"
pre$ = " Sxt = "
valeur$ = StrD(sxt,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(31,57,text$)
unites$ = " mm2"
pre$ = " Sxb = "
valeur$ = StrD(sxb,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(31,59,text$)
unites$ = " mm3"
pre$ = " J = "
valeur$ = StrD(J,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(31,63,text$)
unites$ = " mm3"
pre$ = " Iy = "
valeur$ = StrD(iy,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(55,53,text$)
unites$ = " mm2"
pre$ = " Sy = "
valeur$ = StrD(Sy,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(55,55,text$)
unites$ = " mm3"
pre$ = " Syl = "
valeur$ = StrD(sxt,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(55,57,text$)
unites$ = " mm3"
pre$ = " Syr = "
valeur$ = StrD(syr,6)
bb$ = RSet(valeur$,lg)
text1$ = pre$ + bb$ + unites$
Text$ = text1$
Print_Text(55,59,text$)
;------------------------------------
Print_SetTextColor(#Black)
Print_Box(4,10,16,16)
print_rectangle(20,10,60,8)
print_rectangle(20,18,60,8)
print_rectangle(4,26,25,25)
print_rectangle(29,26,51,6)
print_rectangle(29,32,51,19)
print_rectangle(4,51,76,51)
print_rectangle(4,86,38,10)
print_rectangle(42,86,38,10)
Print_Image(imagenr1,5,11,14,14)
print_image(imagenr,5,27,23,23)
; Preview end
If Preview=#True
Print_StopPreview()
Else
Print_StopPrinting()
EndIf
max=Print_GetPreviewCount()
Showimage()
EndProcedure
; --------------------------------------
Procedure choix()
If Window_choix()
Define quitchoix = 0
Repeat
EventID =WaitWindowEvent()
MenuID =EventMenu()
GadgetID =EventGadget()
WindowID =EventWindow()
; Select EventID
Select GadgetID
Case #Gadget_choix_sendtopreview
If OpenWindow(0,0,0,700,800,"Preview",#PB_Window_SystemMenu)
ScrollAreaGadget(0,10,10,680,780, 670, 770, 30)
ImageGadget(1,10,10,580,780,0)
CloseGadgetList()
EndIf
idx=0
Zoom=100
Print_Preview(#True)
Showimage()
If Preview=#True
Print_StopPreview()
Else
Print_StopPrinting()
EndIf
max=Print_GetPreviewCount()
Showimage()
Case #Gadget_choix_sendtoprint
End
EndSelect
Until quitchoix
CloseWindow(#Window_choix)
EndIf
EndProcedure
;- Main Loop
If Window_test()
Define quittest=0
Repeat
EventID =WaitWindowEvent()
MenuID =EventMenu()
GadgetID =EventGadget()
WindowID =EventWindow()
Select EventID
Case #PB_Event_CloseWindow
If WindowID=#Window_test
quittest=1
EndIf
Case #PB_Event_Gadget
Select GadgetID
Case #Gadget_test_Imprime
choix()
EndSelect
EndSelect
Until quittest
CloseWindow(#Window_test)
EndIf
End