Standard Interface Graphique

Programmation d'applications complexes
Avatar de l’utilisateur
MLD
Messages : 1097
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Standard Interface Graphique

Message par MLD »

Bonjour a tous

L'idée: Lorsque l'on programme une interface dans une résolution quelconque, avec une machine équipé d'un écran de dimensions quelconques.
Garder cette même interface, utilisée sur une autre machine.
Précision a 1 ou 2 pixels prés.
J'ai fait des éssais sur 3 machines entre ecran 10 pouces en 1024X600 et écran 24 pouces en 1920X1080. Une résolution trop petite genre 800X600 sur un écran 24 pouces ne donne pas de bon résultats, ceci commence a être correct a partir de 1280X720.
Faite moi remonter vos éventuelles remarques;Si quelqun a une meilleur idée avec un code court bienvenue au club qu'uil montre son code.

Code : Tout sélectionner

;**********************
;MLD le 03/03/2014
;PB 5.21 LTS X86
;Code libre de droits
;**********************
Enumeration
  #Ma_fen
  #bt1 = 1
  #bt2 = 2
  #bt3 = 3
  #bt4 = 4
  #bt5 = 5
  #bt6 = 6
  #bt7 = 7
  #bt8 = 8
  #bt9 = 9
  #bt10 = 10
  #bt11 = 11
  #bt12 = 12
  #bt13 = 13
  #bt14 = 14
  #bt15 = 15
  #bt16 = 16
  #bt17 = 17
  #bt18 = 18
  #bt19 = 19
  #bt20 = 20
  #canvas = 21
  #check1 = 22
  #check2 = 23
  #Combo = 24
  #container = 25
  #btct = 26
  #Editor = 27
  #Explorer = 28
  #ExplorerList = 29
  #ExplorerTree = 30
  #Frame = 31
  #yper = 32
  #option1 = 33
  #option2 = 34
  #Image = 35
  #ListView = 36
  #ListIcon = 37
  #panel = 38
  #ProgresB = 39
  #Spin = 40
  #String = 41
  #Txt1 = 42
  #Txt2 = 43
  #Txt3 = 44
  #TrackBar = 45
  #Treegad = 46
EndEnumeration

UsePNGImageDecoder()
LoadImage(100, #PB_Compiler_Home + "examples/sources/Data/world.png")
;- image
Enumeration 2
  #img_1 =  100 ;btstop
  ;#img_2 = 101
EndEnumeration

#Ldef = 1920:#Hdef = 1080 :#Corf = 12
Global definecrlarg.d = GetSystemMetrics_(#SM_CXSCREEN)
Global definecrht.d = GetSystemMetrics_(#SM_CYSCREEN)
Global typH.b
Global St
Global L.d,Hwq.d
hdc = GetDC_(GetDesktopWindow_())
If hdc : dpiX.d = GetDeviceCaps_(hdc, #LOGPIXELSX) :EndIf
If hdc : Global dpiY.d = GetDeviceCaps_(hdc, #LOGPIXELSY) : ReleaseDC_(GetDesktopWindow_(), hdc) : EndIf
Global mmx.d = (dpiX / 2.54)/10
Global mmy.d = (dpiY / 2.54)/10
;Attention CalendarGadget ou DateGadget sous w7 ou plus, est mal géré les dimensions du calendrier ne sont pas pris en compte par PB.*************
;          MDIGadget, ScrollAreaGadget, ScrollBarGadget, ShortcutGadget, SplitterGadget, WebGadget    
;          ne sont pas pris en compte, mais il est possible de les programmer
 
#LVM_GETHEADER = #LVM_FIRST + 31 ;Hauteur du header des listIcon
Global oldproc.l, newheight.l 
Procedure.l WinProc(hWnd.l, Msg.l, wParam.l, lParam.l) 
    result.l = 0 
    If Msg = #HDM_LAYOUT 
        result = CallWindowProc_(oldproc, hWnd, Msg, wParam, lParam) 
        *hdlayout.HD_LAYOUT = lParam 
        If *hdlayout\prc <> 0 
            *rect.RECT = *hdlayout\prc 
            *rect\top = newheight 
        EndIf 
        If *hdlayout\pwpos <> 0 
            *windowpos.WINDOWPOS = *hdlayout\pwpos 
            *windowpos\cy = newheight 
        EndIf 
    Else 
        result = CallWindowProc_(oldproc, hWnd, Msg, wParam, lParam) 
    EndIf 
    ProcedureReturn result 
EndProcedure 

Procedure MLD_fontdef()
  If definecrht.d = #Hdef And dpiY.d = 96
    dft.w = #Corf
    LoadFont(0, "Arial",dft.w)
  Else
    dft.W = (#Corf / (#Hdef/definecrht.d)-1)
    ;If dft.W < 7 : dft.W = 7:EndIf
    LoadFont(0, "Microsoft Sans Serif",dft.w)
  EndIf  
  SetGadgetFont(#PB_Default, FontID(0))
EndProcedure  

Procedure MLD_SetGadgetFont(numgad.d,nomfont$,grd.d,opt1.d,opt2.i,opt3.d)
  grdf.d = (grd/ (#Hdef/definecrht.d))
  LoadFont(1,nomfont$,grdf.d) 
  SetGadgetFont(numgad.d,FontID(1))
EndProcedure  
  
Procedure Ywp(y.d)
Select y.d
  Case 0
   ProcedureReturn 0 ;en haut de l'écran
 Default
  If definecrht.d = #Hdef
   ProcedureReturn y.d 
  Else
   ProcedureReturn y.d * (definecrht /#Hdef)
  EndIf 
EndSelect   
EndProcedure

Procedure Hw(Dh.d,typH.b)
MLD_fontdef() 
definecrht.d = GetSystemMetrics_(#SM_CYSCREEN)
SystemParametersInfo_(#SPI_GETWORKAREA,0,@DesktopWorkArea.RECT,0)
htTaskbarwin.d = definecrht.d - DesktopWorkArea\Bottom
OpenWindow(2000,0,0,200,200,"",#PB_Window_SystemMenu|#PB_Window_Invisible)
If OSVersion() = #PB_OS_Windows_XP
 EPframeH.d = WindowX(2000, #PB_Window_InnerCoordinate)
 EPframeL.d = WindowX(2000, #PB_Window_InnerCoordinate)
Else
 EPframeH.d = (WindowX(2000, #PB_Window_InnerCoordinate)*3)
 EPframeL.d = WindowX(2000, #PB_Window_InnerCoordinate)  
EndIf  
Httitre.d = WindowY(2000, #PB_Window_InnerCoordinate)
CloseWindow(2000)
Select typH.b
 Case 1 ;fen avec titre et haut max
  If St = 0  
   Hwq.d = definecrht - (Httitre.d + EPframeH) 
   ProcedureReturn Hwq.d
  Else ; fen sans titre et hauteur max
   Hwq.d = definecrht
   ProcedureReturn Hwq.d 
  EndIf 
 Case 2 ;fen avec titre et barre de tache win visible
  If St = 0   
   Hwq.d = definecrht - (htTaskbarwin  + Httitre.d  + EPframeH)
   ProcedureReturn hwq.d 
  Else  ; fen sans titre et barre de tache win visible
   Hwq.d = definecrht - htTaskbarwin 
   ProcedureReturn Hwq.d
  EndIf 
 Default ;fen quelconque
  If Dh = 0:Dh = 1:EndIf
  If definecrht <> #Hdef
   Hwq.d =  Dh * (definecrht /#Hdef)
   ProcedureReturn Hwq.d
  Else
   Hwq.d =  Dh
   ProcedureReturn Hwq.d 
  EndIf  
EndSelect 
EndProcedure

Procedure XWp(lp.d)
Select lp.d
 Case 0
  ProcedureReturn 1 ;a gauche
 Default
  If definecrlarg <> #Ldef
   ProcedureReturn lp.d * (definecrlt /#Ldef)
  Else
   ProcedureReturn lp.d
  EndIf 
EndSelect 
EndProcedure

Procedure Lw(dL.d)
Select dL.d
 Case 0 
   If St = 0 ;largeur max avec bordure
    L.d = definecrlarg - 10
    ProcedureReturn L.d
   Else ;largeur max sans bordure
    L.d = definecrlarg
    ProcedureReturn L.d
   EndIf 
 Default
  If definecrlarg <> #Ldef
    L.d = dL * (definecrlarg /#Ldef)
    ProcedureReturn L.d
   Else 
     L.d = dL
     ProcedureReturn L.d
   EndIf
EndSelect 
EndProcedure

Procedure MLD_openfen(ng.d,x.d,y.d,Lf.d,H.d,titre$,opt1.l,opt2.l,opt3.l,opt4.l,typH.b)
  If y.d <> 0 :typH.b = 0:EndIf 
  Select #PB_Window_BorderLess
   Case opt1.l,opt2.l,opt3.l,opt4.l
    Global St = 1
   Default
     Global St = 0
     If L.d < 300 And L.d > 0:L.d = 300:EndIf
  EndSelect 
  Select #PB_Window_ScreenCentered 
   Case opt1.l,opt2.l,opt3.l,opt4.l
     typH.b =0
 EndSelect
 If opt1.l = 0 And opt2.l = 0 And opt3.l = 0 And opt4.l = 0; les options ne supporte pas les 0(pas de bouton)
    OpenWindow(ng.d,Xwp(x.d),Ywp(y.d),Lw(Lf.d),Hw(H.d,typH.b),titre$)
  Else  
   OpenWindow(ng.d,Xwp(x.d),Ywp(y.d),Lw(Lf.d),Hw(H.d,typH.b),titre$,opt1.l|opt2.l|opt3.l|opt4.l)
 EndIf 
EndProcedure   

Procedure X(lg.d)
  ProcedureReturn lg *(definecrlarg.d/#Ldef)
EndProcedure

Procedure y(h.d)
  ProcedureReturn h *(definecrht.d /#Hdef) 
EndProcedure 

Procedure MLD_ButtonGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Text$,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  ButtonGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Text$, Opt1|Opt2|Opt3|Opt4) 
EndProcedure

Procedure MLD_ButtonImageGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,img.d,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  ButtonImageGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),ImageID(img.d), Opt1|Opt2|Opt3|Opt4) 
EndProcedure 

Procedure MLD_CanvasGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  CanvasGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Opt1.l|Opt2.l|Opt3.l|Opt4.l)
EndProcedure 

Procedure MLD_CheckBoxGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Text$,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  CheckBoxGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Text$, Opt1|Opt2|Opt3|Opt4) 
EndProcedure

Procedure MLD_ComboBoxGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  ComboBoxGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Opt1.l|Opt2.l|Opt3.l|Opt4.l)
EndProcedure

Procedure MLD_ContainerGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  ContainerGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Opt1.l|Opt2.l|Opt3.l|Opt4.l)
EndProcedure

Procedure MLD_EditorGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  EditorGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Opt1.l|Opt2.l|Opt3.l|Opt4.l)
EndProcedure

Procedure MLD_ExplorerComboGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Text$,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
   ExplorerComboGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Text$, Opt1|Opt2|Opt3|Opt4) 
EndProcedure
 
Procedure MLD_ExplorerListGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Text$,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
   ExplorerListGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Text$, Opt1|Opt2|Opt3|Opt4) 
EndProcedure 
 
Procedure MLD_ExplorerTreeGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Text$,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
   ExplorerTreeGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Text$, Opt1|Opt2|Opt3|Opt4) 
EndProcedure
 
Procedure MLD_FrameGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Text$,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
   FrameGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Text$, Opt1|Opt2|Opt3|Opt4) 
EndProcedure
 
Procedure MLD_HyperLinkGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Text$,coul.d,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
   HyperLinkGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Text$,coul.d, Opt1|Opt2|Opt3|Opt4) 
EndProcedure 

Procedure MLD_IPAddressGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
   IPAddressGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d))
 EndProcedure
 
Procedure MLD_OptionGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Text$,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  OptionGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Text$)
EndProcedure

Procedure MLD_ImageGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,img.d,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  ImageGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),ImageID(img.d), Opt1|Opt2|Opt3|Opt4) 
EndProcedure 

Procedure MLD_ListViewGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
   ListViewGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d))
EndProcedure
 
Procedure MLD_ListIconGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Text$,Ltitre,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  ListIconGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Text$,X(Ltitre), Opt1|Opt2|Opt3|Opt4)
  header = SendMessage_(GadgetID(numgad.d), #LVM_GETHEADER, 0, 0) 
  oldproc = SetWindowLong_(header, #GWL_WNDPROC, @WinProc()) 
  newheight = y(22);hauteur header 
  SendMessage_(GadgetID(numgad.d),#LVM_SETIMAGELIST,#LVSIL_SMALL,ImageList_Create_(1,x(32) ,#ILC_COLORDDB,0,0));hauteur ligne
EndProcedure

Procedure MLD_PanelGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
   PanelGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d))
 EndProcedure
 
Procedure MLD_ProgressBarGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Min.d,Max.d,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  ProgressBarGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Min.d,Max.d,Opt1|Opt2|Opt3|Opt4)
EndProcedure

Procedure MLD_SpinGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Min.d,Max.d,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  SpinGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Min.d,Max.d,Opt1|Opt2|Opt3|Opt4)
EndProcedure

Procedure MLD_StringGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Text$,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  StringGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Text$)
EndProcedure

Procedure MLD_TextGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Text$,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  TextGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Text$)
EndProcedure

Procedure MLD_TrackBarGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Min.d,Max.d,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
  TrackBarGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d),Min.d,Max.d,Opt1|Opt2|Opt3|Opt4)
EndProcedure

Procedure MLD_TreeGadget(numgad.d,x.d,y.d,Gl.d,Gh.d,Opt1.l,Opt2.l,Opt3.l,Opt4.l)
    TreeGadget(numgad.d,X(x.d),y(y.d),X(Gl.d),Y(Gh.d))
EndProcedure
;######################## Essais #########################################################
MLD_openfen(#Ma_fen,0,0,0,0, "Essai_Ecran",0,0,0,0,1)
StickyWindow(0,1) 

hb.d = 0
For z = 1 To 10
  MLD_ButtonGadget(z,1678,hb,228,48,"essais en cours",0,0,0,0)
hb = hb + 50
Next
hbb.d = 501
For y = 11 To 20
 MLD_ButtonImageGadget(y,1680,hbb,228,48,#img_1,0,0,0,0)
hbb = hbb + 50
Next
MLD_CanvasGadget(21,1450,50,120,120,0,0,0,0)
StartDrawing(CanvasOutput(21))
 Box(X(20),y(20),X(80),Y(80),$0000FF)
StopDrawing()
MLD_CheckBoxGadget(22,1460,220,110,20,"CheckBox1",0,0,0,0)
MLD_CheckBoxGadget(23,1460,260,110,20,"CheckBox2",0,0,0,0)

MLD_ComboBoxGadget(24,1450,330,170,40,#PB_ComboBox_Image,0,0,0)
AddGadgetItem(24, -1, "Liste déroulante...", ImageID(100))
SetGadgetState(24, 0)
MLD_ContainerGadget(25,1450,400,160,60, #PB_Container_Raised,0,0,0)
 MLD_ButtonGadget(26, 40, 15, 80, 24, "Bouton 1",0,0,0,0) 
CloseGadgetList() 
MLD_EditorGadget(27,1450,490,160,60,0,0,0,0)
For a = 0 To 5 
 AddGadgetItem(27, a, "Ligne "+Str(a)) 
Next 
MLD_ExplorerComboGadget(28,1450,580,228,30,"",0,0,0,0)
MLD_ExplorerListGadget(29,1100,750,530,200,"*.*",0,0,0,0)
MLD_ExplorerTreeGadget(30,1000,10,330,200,"*.*",0,0,0,0)
MLD_FrameGadget(31,1450,180,200,120,"interface facile",0,0,0,0)
MLD_HyperLinkGadget(32,1000,220,250,20,"interface facile HyperLinkGadget ",$0000FF,0,0,0,0)
MLD_OptionGadget(33,1000,260,110,20,"Option1",0,0,0,0)
MLD_OptionGadget(34,1000,300,110,20,"Option2",0,0,0,0)
MLD_ImageGadget(35,1000,350, 50, 50,#img_1,#PB_Image_Border,0,0,0)
MLD_ListViewGadget(36,1000,390,270,225,0,0,0,0)     
For a=1 To 12
 AddGadgetItem (36,-1,"Elément "+Str(a)+" de la boîte à liste") 
Next
MLD_ListIconGadget(37,670,10,300,129,"Interface facile",178,#PB_ListIcon_GridLines,0,0,0)
AddGadgetColumn(37, 1, "Colonne2 " , X(115))
For b = 0 To 2          ; ajouter 4 éléments à chaque ligne des listes avec icônes
 AddGadgetItem(37,0, "Elément 1 " + Str(b) + Chr(10)+"Elément 2 " + Str(b))
Next
MLD_PanelGadget(38,670,160,300,130,0,0,0,0)   
AddGadgetItem (38, -1, "Onglet 1")
AddGadgetItem (38, -1, "Onglet 2")
CloseGadgetList()
MLD_ProgressBarGadget(39,670,320,300,30,1,100,0,0,0,0) 
SetGadgetState(39, 90) 
MLD_SpinGadget(40,670,370,70,25,1,100,0,0,0,0) 
SetGadgetState (40, 100) : SetGadgetText(40, "100") 
MLD_StringGadget(41,670,420,320,25, "StringGadget...",0,0,0,0)
MLD_TextGadget(42,50,40,320,25, "Standard interface Graphique",0,0,0,0)
MLD_TextGadget(43,50,140,320,60,"Standard interface Graphique",0,0,0,0)
MLD_SetGadgetFont(43,"Arial",16,opt1.d,opt2.i,opt3.d)
MLD_TextGadget(44,50,240,600,60,"Standard interface Graphique",0,0,0,0)
MLD_SetGadgetFont(44,"Arial",30,opt1.d,opt2.i,opt3.d)
MLD_TrackBarGadget(45,670,470,320,30,1,100,0,0,0,0) 
MLD_TreeGadget(46,670,520,320,300,0,0,0,0) 
For a = 0 To 10
 AddGadgetItem (46, -1, "Elément normal "+Str(a), 0, 0) ; si vous souhaitez ajouter une image, utilisez 
 AddGadgetItem (46, -1, "Noeud "+Str(a), 0, 0)          ; ImageID(x) comme 4ème paramètre
 AddGadgetItem (46, -1, "Sous-élément 1", 0, 1)         ; Ceux-là sont au premier sous-niveau 
 AddGadgetItem (46, -1, "Sous-élément 2", 0, 1)
 AddGadgetItem (46, -1, "Sous-élément 3", 0, 1)
 AddGadgetItem (46, -1, "Sous-élément 4", 0, 1)
 AddGadgetItem (46, -1, "Fichier "+Str(a), 0, 0) ; sous-niveau 0 à nouveau
Next


Repeat
Event = WaitWindowEvent()




Until Event = #PB_Event_CloseWindow
End
Dernière modification par MLD le lun. 03/mars/2014 14:07, modifié 3 fois.
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Standard Interface Graphique

Message par Ar-S »

En 1680x1050 le résultat est très propre bravo.
je pense qu'il y a tout de même un truc qui bug sur le 4eme texte "Standard interface Graphique" en partant du haut. il est tronqué (on le voit à peine en faite)

Voir screenshot ici
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
MLD
Messages : 1097
Inscription : jeu. 05/févr./2009 17:58
Localisation : Bretagne

Re: Standard Interface Graphique

Message par MLD »

Salut Ar-S

Heu! il n'y a que 3 textes ? 'Cest le gaget qui est un peu court (rectifier)
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Standard Interface Graphique

Message par Ar-S »

C'est ce que je me suis dit, parfait ça roule.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre