Konu: slider kullanan varmı ?
Slider kullanımıyla ilgili örnek verebilirmisiniz?
Teşekkürler.
Giriş yapmadınız. Lütfen giriş yapın yada kayıt olun.
fox4um » ActiveX Kontrolleri » slider kullanan varmı ?
Slider kullanımıyla ilgili örnek verebilirmisiniz?
Teşekkürler.
Şu sekilde bir örnek buldum..
public oform1
oform1=createobject("FORM1")
oform1.addobject("HSlider","slider")
oform1.hslider.min=0
oform1.hslider.max=100
oform1.hslider.tickstyle=0
oform1.hslider.borderstyle=0
oform1.hslider.value=80
oform1.SHOW()
READ EVENTS
RETURN
***************************
define class form1 as form
top=0
left=0
width=200
height=80
name="FORM1"
showwindow=2
AutoSize=.T.
CAPTION="Slider test"
procedure unload
clea events
If Right(Alltrim(Sys(16,1)),4)<>".EXE"
_Screen.Visible=.T.
Endif
endproc
enddefine
*********************************
define class slider as olecontrol
oleclass="mscomctllib.slider.2"
visible=.t.
TOP=30
LEFT=60
HEIGHT=25
WIDTH=120
procedure CHANGE
lparameters button,shift,x,y
? oform1.hslider.value
endproc
enddefine
Fakat bunu exe yapıp başka makinaya kopyaladığımda hata veriyor. hangi ocx'i dll' register etmem gerekiyor bulamadım.
Bulduğunuz örnek kodlarda yazılı.
oleclass="mscomctllib.slider.2"
yani "mscomctl.ocx"
İki ayrı bilgisayarda denedim. Programı, mscomctl.ocx'i ve VFP'nin diğer DLL'lerini bir dizine kopyalıyorum. "REGSVR32 e:\test\mscomctl.ocx" yapıyorum. Programı çalıştırdığımda "Sınıf kullanım için lisanslı değil" hatası veriyor. comctl.ocx'i de register etmeyi denedim, olmadı.
Aşağıdaki registry bilgilerini LICENSES.REG isimli bir text file a kopyalayın. Daha sonra file'ın üstüne gelip mouse'un sağ tuşuna tıklayarak windows registry'ye merge yapın.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses]
@="Licensing: Copying the keys may be a violation of established copyrights."
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\12B142A4-BD51-11d1-8C08-0000F8754DA1]
@="aadhgafabafajhchnbchehfambfbbachmfmb"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\190B7910-992A-11cf-8AFA-00AA00C00905]
@="gclclcejjcmjdcccoikjlcecoioijjcjnhng"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\1F3D5522-3F42-11d1-B2FA-00A0C908FB55]
@="gcfjdjecpchcncdjpdejijgcrdoijjfcieod"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\2c49f800-c2dd-11cf-9ad6-0080c7e7b78d]
@="mlrljgrlhltlngjlthrligklpkrhllglqlrk"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905]
@="kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\4D553650-6ABE-11cf-8ADB-00AA00C00905]
@="gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\4F86BADF-9F77-11d1-B1B7-0000F8753F5D]
@="iplpwpnippopupiivjrioppisjsjlpiiokuj"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\57CBF9E0-6AA7-11cf-8ADB-00AA00C00905]
@="aahakhchghkhfhaamghhbhbhkbpgfhahlfle"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\6FB38640-6AC7-11cf-8ADB-00AA00C00905]
@="gdjkokgdldikhdddpjkkekgknesjikdkoioh"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\72E67120-5959-11cf-91F6-C2863C385E30]
@="ibcbbbebqbdbciebmcobmbhifcmciibblgmf"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\73A4C9C1-D68D-11d0-98BF-00A0C90DC8D9]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\73A4C9C1-D68D-11d0-98BF-00A0C90DC8D9\Runtime]
@="okpvasjwmvjfrcatkskctmtjahdnkccdgjds"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\78E1BDD1-9941-11cf-9756-00AA00C00908]
@="yjrjvqkjlqqjnqkjvprqsjnjvkuknjpjtoun"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\7C35CA30-D112-11cf-8E72-00A0C90F26F8]
@="whmhmhohmhiorhkouimhihihwiwinhlosmsl"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\80E80EF0-DBBE-11D0-BCE2-00A0C90DCA10]
@="qijimitpmpnpxplpvjnikpkpqoxjmpkpoivj"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\899B3E80-6AC6-11cf-8ADB-00AA00C00905]
@="wjsjjjlqmjpjrjjjvpqqkqmqukypoqjquoun"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\8CC49940-3146-11CF-97A1-00AA00424A9F]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\8CC49940-3146-11CF-97A1-00AA00424A9F\Runtime]
@="okpvasjwmvjfrcatkskctmtjahdnkccdgjds"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\9E799BF1-8817-11cf-958F-0020AFC28C3B]
@="uqpqnqkjujkjjjjqwktjrjkjtkupsjnjtoun"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\B1EFCCF0-6AC1-11cf-8ADB-00AA00C00905]
@="qqkjvqpqmqjjpqjjvpqqkqmqvkypoqjquoun"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\BC96F860-9928-11cf-8AFA-00AA00C00905]
@="mmimfflflmqmlfffrlnmofhfkgrlmmfmqkqj"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\CDE57A55-8B86-11D0-b3C6-00A0C90AEA82]
@="ekpkhddkjkekpdjkqemkfkldoeoefkfdjfqe"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\CEDD4F80-B43C-11cf-837C-00AA00573EDE]
@=hex(2):67,00,78,00,77,00,61,00,65,00,7a,00,75,00,63,00,66,00,79,00,71,00,70,\
00,77,00,6a,00,67,00,71,00,62,00,63,00,6d,00,74,00,73,00,6e,00,63,00,75,00,\
68,00,77,00,73,00,6e,00,79,00,68,00,69,00,6f,00,68,00,77,00,78,00,7a,00,00,\
00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\DC4D7920-6AC8-11cf-8ADB-00AA00C00905]
@="iokouhloohrojhhhtnooiokomiwnmohosmsl"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\E32E2733-1BC5-11d0-B8C3-00A0C90DCA10]
@="kmhfimlflmmfpffmsgfmhmimngtghmoflhsg"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\ED4B87C4-9F76-11d1-8BF7-0000F8754DA1]
@="knlggnmntgggrninthpgmnngrhqhnnjnslsh"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\F4FC596D-DFFE-11CF-9551-00AA00A3DC45]
@="mbmabptebkjcdlgtjmskjwtsdhjbmkmwtrak"
Teşekkürler.
İki ayrı bilgisayarda denedim. Programı, mscomctl.ocx'i ve VFP'nin diğer DLL'lerini bir dizine kopyalıyorum. "REGSVR32 e:\test\mscomctl.ocx" yapıyorum. Programı çalıştırdığımda "Sınıf kullanım için lisanslı değil" hatası veriyor. comctl.ocx'i de register etmeyi denedim, olmadı.
installshield'de gerekli modülü işaretlersen böyle bir hata vermez. vfp nin cd sinin bir yerinde hangi kontrol için hangi modül işaretlenir diye anlatıyordu.
installshield'de gerekli modülü işaretlersen böyle bir hata vermez. vfp nin cd sinin bir yerinde hangi kontrol için hangi modül işaretlenir diye anlatıyordu.
Installshield'i pek bilmiyorum, bakıcam.
Bu arada şuda iyi kötü bir çözüm:
public oform1
dimension poly[6,2]
poly[1,1]=5
poly[1,2]=1
poly[2,1]=1
poly[2,2]=5
poly[3,1]=1
poly[3,2]=15
poly[4,1]=9
poly[4,2]=15
poly[5,1]=9
poly[5,2]=5
poly[6,1]=5
poly[6,2]=1
oform1=createobject("FORM1")
oform1.addobject("LABEL1","xLABEL1")
oform1.addobject("Slider1","xSlider1")
oform1.show()
return
***************************
define class form1 as form
top=0
left=0
width=200
height=80
name="FORM1"
showwindow=2
autosize=.t.
caption="Slider test 2"
enddefine
*****************************
define class xlabel1 as label
visible=.t.
top=5
left=5
height=30
width=50
caption="0"
enddefine
**********************************
define class xslider1 as container
visible=.t.
top=40
left=10
height=25
width=180
bordercolor=rgb(120,120,120)
backstyle=0
add object line1 as xline1
add object shape1 as xshape1
enddefine
***************************
define class xline1 as line
visible=.t.
left=5
height=0
procedure init
this.top=this.parent.height/2
this.width=this.parent.width-10
endproc
enddefine
**********************************
define class xslider1 as container
visible=.t.
top=40
left=10
height=25
width=120
bordercolor=rgb(120,120,120)
backstyle=0
add object line1 as xline1
add object shape1 as xshape1
enddefine
***************************
define class xline1 as line
visible=.t.
left=5
height=0
procedure init
this.top=this.parent.height/2
this.width=this.parent.width-10
endproc
enddefine
*****************************
define class xshape1 as shape
visible=.t.
left=5
polypoints="poly"
height=100
width=100
fillstyle=0
fillcolor=rgb(160,160,160)
borderstyle=0
procedure init
this.top=(this.parent.height/2)-8
endproc
procedure mousemove
lparameters nbutton,nshift,nxcoord,nycoord
if nbutton=1
scoord=nxcoord-this.parent.left
poz1=this.parent.line1.left
poz2=(this.parent.line1.left+this.parent.line1.width)-8
if scoord<poz1
scoord=poz1
endif
if scoord>poz2
scoord=poz2
endif
this.left=scoord
mcx4=int((100/(poz2-poz1))*(scoord-poz1))
oform1.label1.caption=alltrim(transform(mcx4))
endif
endproc
enddefine
Aşağıdaki registry bilgilerini LICENSES.REG isimli bir text file a kopyalayın. Daha sonra file'ın üstüne gelip mouse'un sağ tuşuna tıklayarak windows registry'ye merge yapın.
İki bilgisayarda da bunu yaptım. Şimdi de bilgisayarların birinde başka bir program aynı hatayı veriyormuş.
Bu MSCOMCTL, COMCTL'nin yeni versiyonuymuş. İkisi birden register edildiğinden windowsun kafası mı karışıyor acaba..
üsdatlarım,makinadan makinaya fark eden ve problem çıkaran bu ocx leri,sırf bu tür problemlerden dolayı kullanmıyorum..
Ocx'leri gereksiz yere kullanmamak lazım ama hiç kullanmadan da olmuyor.
Virtual PC'ye sıfırdan XP kurdum. Installshield'le setup dosyası hazırlayıp kurdum. Hiç sorunsuz çalıştı. Gerisi kullanıcının sorunu. İsterlerse XP'lerini yeniden yüklesinler, ben ne yapayım başka.
Installshield'i default ayarlarla kullanıyorum. Setup hazırlarken, programın dosyalarının olduğu klasöre VFP'nin DLL'lerini ve gerekli OCX'lerin hepsini birlikte kopyalıyorum. Installshield'e bu klasördeki dosyaların hepsini ekliyorum. O bana tek,tek OCX ve DLL'leri merge edip etmeyeceğini soruyor, hepsine YES diyorum. Kurulum sırasında o OCX ve DLL'ler hedef makinanın windows\system32 klasörüne kopyalanıyor. Böylece benim listeden birşey seçip tıklamama gerek kalmıyor. Bana böylesi daha kolay geldi.
Birde Virtual PC 2007'de undo diye bir özellik varmış Bende kapalıydı, yeni açtım. Herhalde bu gibi sorunlarda işe yarayan birşeydir. İşletim sisteminin ilk kurulduğu ana kadar dönmek mümkün sanırım.
fox4um » ActiveX Kontrolleri » slider kullanan varmı ?