FileRequester Maker

Programmation d'applications complexes
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Re: FileRequester Maker

Message par Chris »

Non. Ça fait trop de trucs à reprendre dans le code.
Ça restera comme ça.

Pour les patterns par défaut, ça peut se faire sans problème mais ce sera tout au niveau des modifs.
Je chasse les bugs, je les corrige et je passe à autre chose.

A la limite, si quelqu'un peut me proposer un code pour pouvoir changer un ComboBox de "éditable" à "non éditable" à la volée, je prends.

Voilà un code qui, évidemment ne fonctionne pas vu que le gadget ne supporte pas ce genre de manip, mais il explique bien ce que je cherche.

Code : Tout sélectionner

Select WaitWindowEvent()
  Case #PB_Event_Gadget
    Select EventGadget()
      Case #Combo_Machin
        If GetGadgetState(#Combo_Machin) > 0
          SetGadgetAttribute(#Combo_Machin, #PB_ComboBox_Editable, 1)
        Else
          SetGadgetattribute(#Combo_Machin, #PB_ComboBox_Editable, 0)
        Endif
    EndSelect
EndSelect
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: FileRequester Maker

Message par Backup »

ça peut etre :)

Code : Tout sélectionner

Global editable = 1

Procedure EditProc(hwnd, msg, wparam, lparam)
     oldproc = GetProp_(hwnd, "oldproc")
     
     Select msg
          Case #WM_NCDESTROY
          RemoveProp_(hwnd, "oldproc")
          
          Case #WM_CHAR, #EM_SETSEL
          If Not editable
               ProcedureReturn 0
          EndIf
          Case #WM_SETCURSOR
      If Not editable
        SetCursor_(LoadCursor_(0, #IDC_NO))
        ProcedureReturn #True
      EndIf
          
     EndSelect
     
     ProcedureReturn CallWindowProc_(oldproc, hwnd, msg, wparam, lparam)
EndProcedure

OpenWindow(0, 0, 0, 270, 140, "ComboBoxGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

ComboBoxGadget(1, 10, 40, 250, 21, #PB_ComboBox_Editable)
For a = 1 To 5
     AddGadgetItem(1, -1,"ComboBox item " + Str(a))
Next

AddGadgetItem(1, -1,"Editing OFF")
AddGadgetItem(1, -1,"Editing ON")

SetGadgetState(1,0)
edit = GetWindow_(GadgetID(1),#GW_CHILD)

SetProp_(edit, "oldproc", SetWindowLongPtr_(edit, #GWL_WNDPROC, @EditProc()))

Repeat
     EventID = WaitWindowEvent()
     Select EventID
          Case #PB_Event_Gadget
          Select EventGadget()
               Case 1
               
               If GetGadgetState(1) = 5
                    editable = 0
                    
                    ElseIf GetGadgetState(1) = 6
                    editable = 1
                    
               EndIf
          EndSelect
     EndSelect
Until EventID = #PB_Event_CloseWindow
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Re: FileRequester Maker

Message par Chris »

Oui, j'avais trouvé cette procédure sur le forum Anglais. :wink:

J'ai vaguement testé, mais pas plus que ça.
Ca devrait pouvoir fonctionner pour rendre les combos non éditables quand l'item sélectionné est 0 (le premier de la liste) et le rendre éditable dans les autres cas.

De toute façon, que ce code fonctionne ou pas, le combo devra rester éditable sur les éléments de 1 à (n) pour permettre leur modification/suppression, parce que je ne referai pas ces routines
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: FileRequester Maker

Message par Backup »

de toutes façon ma demande etait surtout
que tu mettes deja des paternes par defaut
de façon a ce qu'on comprenne a quoi sert le "Nouveau"
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Re: FileRequester Maker

Message par Chris »

Oh et puis merde, ça me gonfle.
Les bugs sont corrigé, tout fonctionne comme je veux, je met ça en ligne et basta : Ça reste comme ça.

Ceux qui veulent l'utiliser l'utilisent comme il est
Pour les autres, qu'ils codent leurs boite à la main, c'est pas mon affaire.

Dernière version, et quand je dis "Dernière", c'est la dernière.
Ca veut dire que c'est la dernière qui a été faite, et ça veut aussi dire qu'il n'y en aura pas d'autre
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: FileRequester Maker

Message par Backup »

:lol: :lol: tu veux un OS ? (blague d'informaticien) Image
Répondre