vbSkinner in PB mit ActiveX?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
MJP
Beiträge: 72
Registriert: 14.10.2004 18:45
Wohnort: Nähe Frankfurt/Hessen
Kontaktdaten:

vbSkinner in PB mit ActiveX?

Beitrag von MJP »

Moinsen^^
Ich hätte da gerne moa en Problem... ich bin schon die ganze Zeit auf der suche nach einer schönen Skin Engine, hab auch schon ein paar gefunden aber die meisten haben geld gekostet :(
VBSkinner kostet natürlich nix, aber des Teil funktioniert mit ActiveX...
Hier mal der Link:
HP: http://www.visual-basic.com.ar
Download der .oxc datei hier... http://www.infotambo.com.ar/arc/skpr-ocx.zip


Also ich habe schon ein bissi probiert aber ich bekomms net hin mit OOP... :freak:
Mein Problem is das ich net weiß was und wie ich ansprechen muss.

Code: Alles auswählen

Interface my_IUnknown
  QueryInterface(a.l,b.l)
  AddRef()
  Release()
EndInterface

Interface Skinner Extends IDispatch
AlwaysOnTop(quest)
Applyto.l(apply)
BodyforeColor.l(color)
BodySkin.l(skin)
ChangeControlsBackColor(quest)
ChangeControlsForeColor(quest)
ShowFormIcon.l(skin)
ShowInactiveState(quest)
ShowsysCommands(quest)
Skin.l(skin)
Skinboxes(quest)
SkinPicture.l(Pic)
SysDisableSkinCaption(frage.s)
SysEnableSkinCaption(frage.s)
TitleBarFont(Font.s)
TitleBarBaforeColor.l(Color.l)
TitleBarSkin.l(skin)
EndInterface

Procedure RegisterDLL(DLL$)
  CoInitialize_(0)
  If OpenLibrary(1,DLL$)
    If CallFunction(1,"DllRegisterServer") = #S_OK
      RegisterDLL = #TRUE
    EndIf
    CloseLibrary(1)
  EndIf

  ProcedureReturn RegisterDLL
EndProcedure


Procedure UnRegisterDLL(DLL$)
  CoUninitialize_()
  If OpenLibrary(1,DLL$)
    If CallFunction(1,"DllUnregisterServer") = #S_OK
      UnRegisterDLL = #TRUE
    EndIf
    CloseLibrary(1)
  EndIf
  CallFunction(2,"AtlAxWinTerm")
  CloseLibrary(2)
  ProcedureReturn UnRegisterDLL
EndProcedure

Procedure CreateActiveXControl(hWnd,String$,IID)
  Shared CreateActiveXControl_init

  If CreateActiveXControl_init=0
    If OpenLibrary(2,"ATL.DLL")
      CallFunction(2,"AtlAxWinInit")
      CreateActiveXControl_init=1
    Else
      ProcedureReturn 0
    EndIf
  EndIf
  A$ = Space((Len(String$)+1)*2)
  MultiByteToWideChar_(#CP_ACP,0,String$,-1,@A$,Len(A$))
    If CallFunction(2,"AtlAxCreateControl",A$,hWnd,0,@obj1.my_IUnknown) = #S_OK

      CallFunction(2,"AtlAxGetControl",hWnd,@obj2.my_IUnknown)

      obj2\QueryInterface(IID,@final)
      If final
        CreateActiveXControl = final
      EndIf
      obj1\Release()
      obj2\Release()
    EndIf
  ProcedureReturn CreateActiveXControl
EndProcedure
If RegisterDLL("vbskpro2.ocx")
  
If OpenWindow(0,0,0,155,145,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"PB ActiveX Test") 
  *Skin_1.Skinner = CreateActiveXControl(WindowID(),"Window.Skinner",?IID_Skinner)
If *Skin_1
  *Skin_1.Skinner/Skin(skDarkSkin(5))
EndIf   
  Repeat
  
  ForEver 
  EndIf 
UnRegisterDLL("vbskpro2.ocx")  
EndIf 
Thx 4 Help
Alle Reschtsreib feler sind beabsichticht unn kosten nichs echtra ;-D
Visit ---|> http://www.Komani.de/
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: vbSkinner in PB mit ActiveX?

Beitrag von Kiffi »

> VBSkinner kostet natürlich nix

bist Du Dir da sicher? Ich lese was von $49 (Single license) bis $290
(Enterprise license).

Skin-Funktionalitäten bieten auch die PureTools von Danilo.
Zu finden sind diese Userlibraries in der PureArea.

Grüße ... Kiffi
Benutzeravatar
MJP
Beiträge: 72
Registriert: 14.10.2004 18:45
Wohnort: Nähe Frankfurt/Hessen
Kontaktdaten:

Beitrag von MJP »

ups... :oops: habe mich beim Link vertan :)
Es gibt ein Pro und eine Free Version
siehe hier... http://www.visual-basic.com.ar/descarga-en.htm
Skin-Funktionalitäten bieten auch die PureTools von Danilo.
Zu finden sind diese Userlibraries in der PureArea.
Ich benutze die Lib ja auch, nur ich will halt die Fenster Border und die Leiste skinnen... die API dazu hab ich auch noch nirgendwo gefunden :(

Thx 4 Help
Alle Reschtsreib feler sind beabsichticht unn kosten nichs echtra ;-D
Visit ---|> http://www.Komani.de/
Antworten