| |
|
|
Michael Dell | Sind CX > MaxX y/oder CY > MaxY Luego se Proportional en Monitorgröße umgerechnet! (XProfan10)
Proc gCkSize
Parámetros gCS_CX&,gCS_CY&,gCS_MaxX&,gCS_MaxY&
Declarar gCS_EX&,gCS_EY&
Claro gCS_EX&,gCS_EY&
gCS_EX& = gCS_CX&
gCS_EY& = gCS_CY&
If (gCS_CY& > gCS_MaxY&)
gCS_EY& = gCS_MaxY&
gCS_EX& = (gCS_CX& * (gCS_EY& / gCS_CY&))
EndIf
If (gCS_EX& > gCS_MaxX&)
gCS_EX& = gCS_MaxX&
gCS_EY& = (gCS_EY& * (gCS_EX& / gCS_CX&))
EndIf
Gl_CX& = gCS_EX&
Gl_CY& = gCS_EY&
Volver 0
ENDPROC
Demo:
Declarar Gl_CX&,Gl_CY&
Proc ChkDat
Parámetros CD_dName$
CD_dName$ = Upper$(CD_dName$)
Casenote FileExists(CD_dName$): Volver 0
Case InStr(".BMP",CD_dName$) : Volver 1
Case InStr(".GIF",CD_dName$) : Volver 1
Case InStr(".JPG",CD_dName$) : Volver 1
Case InStr(".JPEG",CD_dName$): Volver 1
Case InStr(".PNG",CD_dName$) : Volver 1 de XProfan11
Volver 0
ENDPROC
Proc DelPHndl
Parámetros DO_PHndl&
Case DO_PHndl&: DeleteObject DO_PHndl&
Volver 0
ENDPROC
Proc cPic
Parámetros cP_PHndl&,cP_dNr&
Declarar cP_Name$
cP_Name$ = ListBoxItem$(cP_dNr&)
If ChkDat(cP_Name$)
cP_PHndl& = DelPHndl(cP_PHndl&)
cP_PHndl& = Crear("HPic",-1,cP_Name$)
gCkSize(%BmpX,%BmpY,%MaxX,%MaxY) Sind %BmpX > %MaxX y/oder %BmpY > %MaxY entonces Proportional
en Monitorgröße umrechnen!
DrawSizedPic cP_PHndl&,0,0-Gl_CX&,Gl_CY&;0
Más
Volver 0
EndIf
Volver cP_PHndl&
ENDPROC
Proc gCkSize
Parámetros gCS_CX&,gCS_CY&,gCS_MaxX&,gCS_MaxY&
Declarar gCS_EX&,gCS_EY&
Claro gCS_EX&,gCS_EY&
gCS_EX& = gCS_CX&
gCS_EY& = gCS_CY&
If (gCS_CY& > gCS_MaxY&)
gCS_EY& = gCS_MaxY&
gCS_EX& = (gCS_CX& * (gCS_EY& / gCS_CY&))
EndIf
If (gCS_EX& > gCS_MaxX&)
gCS_EX& = gCS_MaxX&
gCS_EY& = (gCS_EY& * (gCS_EX& / gCS_CX&))
EndIf
Gl_CX& = gCS_EX&
Gl_CY& = gCS_EY&
Volver 0
ENDPROC
Declarar Gl_PHndl&,Gl_dName$,Gl_PMaxNr&,Gl_Zaehler&
Color del texto RGB(255,255,255),0
Ventana de Estilo $F0
Ventana 0,0-%MaxX,%MaxY
ShowCursor 0
Cls 0
Color del texto RGB(255,255,255),0
ClearList
AddFiles *"*.BMP"
AddFiles *"*.GIF"
AddFiles *"*.JPG"
AddFiles *"*.PNG" de XProfan11
Gl_PMaxNr& = %GetCount
Case (Gl_PMaxNr& = -1): End
Def CckVGK(1) If((&(1) > Gl_PMaxNr&),0,If((&(1) < 0),Gl_PMaxNr&,&(1)))
Gl_PHndl& = cPic(Gl_PHndl&,0)
Gl_Zaehler& = 0
Gl_PHndl& = cPic(Gl_PHndl&,Gl_Zaehler&)
Mientras que 1: WaitInput : Cls 0
Case (IsKey(27) | IsKey(69) | IsKey(101) | IsKey(4)): Romper
If (IsKey(34) | IsKey(37) | IsKey(40) | IsKey(2))
Dec Gl_Zaehler&
Más
Inc Gl_Zaehler&
EndIf
Gl_Zaehler& = CckVGK(Gl_Zaehler&)
Gl_PHndl& = cPic(Gl_PHndl&,Gl_Zaehler&)
EndWhile
ShowCursor 1
ClearList
DelPHndl(Gl_PHndl&)
End
Geht con Crear("hSizedPic",...) einfacher aber uno sieht hier wies va. |
|
|
| Salu Michael...
Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! | 04.08.2008 ▲ |
|
|
|