Salut, esque quelu'un ceri comment créer çon propre gadget en purebasic.
Example: comment pourraient-ont faire pour créer un gadget qui jourrai le même rôle que webgadget.
Merci!
créer son propre gadget en Purebasic
Il exist une lib CreateGadget qui fait partie de PBOSL : http://pbosl.purearea.net/
à quoi ça correspond?
Salut, l'aide est en anglais, et je ne comprend pas tout.
Voilà si quelqu'un pourrais me traduir un peu car l'anglais et moi = 30!
Merci![/code]
Code : Tout sélectionner
CreateGadget()
CreateGadget
Syntax:
CreateGadget(Id.l, ClassName.s, Text.s, Style.l, X.l, Y.l, CX.l, CY.l[,ExStyle.l[,DestroyProc.l[,*vt.PB_GadgetVT]]])
Parameters:
ID.l
=
Gadget Number or #PB_Any (ça j'ai compris),
ClassName.s
=
Registered Name in Windows (ça je ne vois pas ce que c'est),
Style.l
=
Windowsstyle (ça je ne vois pas ce que c'est),
X.l
=
x-position (ça ok),
Y.l
=
y-position (ça ok),
CX.l
=
with (ça ok),
CY.l
=
height (ça ok),
ExStyle
=
Extended Style (optional = 0) (ça je ne vois pas ce que c'est),
DestroyProc.l
=
Procedure to cleanup (optional = 0) (ça je ne vois pas ce que c'est),
*vt.PB_GadgetVT
=
pointer to structure of Gadgetfunctions to register (ça je pence que c'est pour donner l'adresse de la structure du gadget).
(à la description jcomprend vaguement).
Description:
register and create the user defined Gadget
Example:
; Structure for Gadgetfunctions
Structure PB_GadgetVT
GadgetType.l
SizeOf.l
GadgetCallback.l
FreeGadget.l
GetGadgetState.l
SetGadgetState.l
GetGadgetText.l
SetGadgetText.l
AddGadgetItem2.l
AddGadgetItem3.l
RemoveGadgetItem.l
ClearGadgetItemList.l
ResizeGadget.l
CountGadgetItems.l
GetGadgetItemState.l
SetGadgetItemState.l
GetGadgetItemText.l
SetGadgetItemText.l
OpenGadgetList2.l
GadgetX.l
GadgetY.l
GadgetWidth.l
GadgetHeight.l
HideGadget.l
AddGadgetColumn.l
RemoveGadgetColumn.l
GetGadgetAttribute.l
SetGadgetAttribute.l
GetGadgetItemAttribute2.l
SetGadgetItemAttribute2.l
SetGadgetColor.l
GetGadgetColor.l
SetGadgetItemColor2.l
GetGadgetItemColor2.l
SetGadgetItemData.l
GetGadgetItemData.l
EndStructure
If LoadLibrary_("Scintilla.dll") = #False : MessageRequester("", "Scintilla.dll nicht gefunden") : End : EndIf
Procedure MySciEdit(Gadget, x, y, width, height)
ProcedureReturn CreateGadget(Gadget, "Scintilla", "", #WS_CHILD | #WS_VISIBLE, x, y, width, height)
EndProcedure
Procedure MyStatic(Gadget, x, y, width, height, Text.s)
ProcedureReturn CreateGadget(Gadget, "Static", Text, #WS_CHILD|#WS_VISIBLE|#SS_CENTER|#SS_SUNKEN, x, y, width, height)
EndProcedure
Procedure MyButton(Gadget, x, y, width, height, Text.s)
ProcedureReturn CreateGadget(Gadget, "Button", Text, #WS_CHILD | #WS_VISIBLE, x, y, width, height)
EndProcedure
If OpenWindow(0, #PB_Ignore, 0, 250, 480, "Test")
CreateGadgetList(WindowID(0))
MySciEdit(0, 0, 0, 250, 400)
MyButton(1, 10, 440, 50, 25, "Button 1")
GadgetToolTip(1, "Button 1")
MyButton(2, 70, 440, 50, 25, "Button 2")
GadgetToolTip(2, "Button 2")
btn3 = MyButton(#PB_Any, 130, 440, 50, 25, "Button 3")
GadgetToolTip(btn3, "Button 3")
MyButton(4, 190, 440, 50, 25, "")
GadgetToolTip(4, "Button 4")
MyStatic(5, 10, 410, 50, 20, "Label 1")
MyStatic(6, 70, 410, 50, 20, "Label 2")
MyStatic(7, 130, 410, 50, 20, "Label 3")
MyStatic(8, 190, 410, 50, 20, "Label 4")
SetGadgetText(0, "Feel the ..Pure.. Power")
SetGadgetText(4, "Button 4")
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
Select EventGadget()
Case 1
Debug "Button 1"
If GetGadgetText(1) = "Button 1"
SetGadgetText(1, "PushMe")
Else
SetGadgetText(1, "Button 1")
EndIf
Case 2
Debug "Button 2"
Debug GetGadgetText(0)
Case btn3
Debug "Button 3"
Case 4
Debug "Button 4"
EndSelect
EndSelect
ForEver
Merci![/code]