Jump to content

Program Kurulum Ekranı


mustafakara

Recommended Posts

sevgili arkadaşlar kurulum yaparken yada inputbox lar üzerinde veri
girişi sağlarken işlemi onaylamak yerine direkt olarak enter tuşuna basarak onaylamış oluyoruz
bu nasıl yapılıyor
yada bir program kuruyoruz
programın tanıtım ekranı karşımıza çıkıyor
direkt olarak enter tuşuna basıyoruz
ve ileri demiş oluyoruz
aynızamanda 2. sayfaya geçmiş oluyoruz 2. sayfada 1 kere tab tuşuna basarak lisans sözleşmesini kabul etmek için boşluk tuşuna basıyoruz ve yine enter
tuşuna bastığımızda ileri demiş olarak 3 sayfaya geçiş yapmış oluyoruz
guisetstate gibi birşey
bu ekranı nasıl yapabilirim
Link to comment
Share on other sites

teşekkürler

GUICtrlCreateButton("İleri >", 50, 50)
GUICtrlSetState(-1, 512)

onu biliyorum ancak benim anlatmak istediğim o deyil
sizin verdiğiniz kot sayfanın ilk açıldığında aktif olması gereken buttonu gösterir
1. sayfa için bunu kullanalım
2. sayfaya geçtiğimizdede buşekilde crackbox tanımlayalım
2. sayfa açıldığında crack box seçilecek
peki ben crackbox un üzerinde boşluk tuşuna bastığımda crackbox işaretlenmiş olacak
tekrar enter tuşuna bastığımda ileri demiş olmalıyım
işte sorun burda
bunu yapamıyoruz orjinal kurulumlarda bu oluyor
crackboxun yada inputbox un tab tuşu ile üzerine geldiğimizde ok yada ileri buttonuda onunla seçiliyor dolayısıyla
enter e bastığımızda işlemimiz gerçekleşiyor
yapmak istediğim bu

Link to comment
Share on other sites

O zaman ona da bi örnek vermek gerekirse:

Bu örnekte Space tuşuna basıldığında Checkbox işlev yapacaktır, Enter tuşuna basıldığında ileri tuşu görev yapıcaktır.Sayfa açıldığında sadece space tuşuna basıp entera bastığınızda direk bu sayfayla ilgili işlemleri yapmış olucaksınız

$gui = GUICreate("Giriş Paneli", 326, 135, -1, -1)
$kadi = GUICtrlCreateInput("", 112, 18, 185, 21,0x0001)
$sifre = GUICtrlCreateInput("", 112, 62, 185, 21, BitOR(0x0020,0x0001))
$hatirla = GUICtrlCreateCheckbox("Oturumu Açık Tut", 15, 115, 110, 13)
$ileri = GUICtrlCreateButton("İleri", 173, 105,62,29)
$iptal = GUICtrlCreateButton("İptal", 235, 105,62,29)
Local $AccelKeys[2][2]=[["{ENTER}", $ileri],["{SPACE}",$hatirla]]
GUISetAccelerators($AccelKeys,$gui)
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
case $hatirla
if GUICtrlRead($hatirla)=1 Then
guictrlsetstate($hatirla,128)
Else
guictrlsetstate($hatirla,64)
endif
case $ileri
;buraya ileri tuşuna basınca yapılacak görev
WEnd

Link to comment
Share on other sites

tamam buna yakın birşey ancak buda değil orjinal kurulum ekranlarını incelerseniz benim söylemek istediğimi anlayacaksınız
sizler çoğu işlemlerinizi mause ile yaptığınız için bazı şeylerin farkında olamıyabiliyorsunuz.
kurulum ekranlarında crackbox un üzerine tab tuşu ile geldiğinizde
GUICtrlSetState(-1, 512)
kodu ile seçilmiş gibi hem crackbox hemde ileri buttonu aktif oluyor
tab tuşu ile devamedersek ileri buttonunun üzerine geldiğimizde sadece ileri aktif oluyor bir denerseniz ne demek istediğimi daha iyi anlayacaksınız teşekkürler

Link to comment
Share on other sites

Mustafacım bende kurulumları klavyeden yaparım ve biliyorum demek istediğin şeyi.Bu kodla hiç tab tuşunu vs kullanmadan hepsi aktif durumda tek yapman gereken space tuşuna basıp checkboxı işaretlemek ve enter tuşuna basıp ileri tuşunu çalıştırmak.Kodu mesaj bölümünde yazdığım için ufak bi hata olmuş yeni kod bu nolur bi dene istediğin şey bu görüceksin

[code]$gui = GUICreate("Giriş Paneli", 326, 135, -1, -1)
$kadi = GUICtrlCreateInput("", 112, 18, 185, 21,0x0001)
$sifre = GUICtrlCreateInput("", 112, 62, 185, 21, BitOR(0x0020,0x0001))
$hatirla = GUICtrlCreateCheckbox("Oturumu Açık Tut", 15, 115, 110, 13)
$ileri = GUICtrlCreateButton("İleri", 173, 105,62,29)
$iptal = GUICtrlCreateButton("İptal", 235, 105,62,29)
Local $AccelKeys[2][2]=[["{ENTER}", $ileri],["{SPACE}",$hatirla]]
GUISetAccelerators($AccelKeys,$gui)
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
case $hatirla
if GUICtrlRead($hatirla)=1 Then
guictrlsetstate($hatirla,4)
Else
guictrlsetstate($hatirla,1)
endif
case $ileri
MsgBox(0,"Bak","İleri tuşuna basınca bu çıkıcaktı")
case -3
Exit
EndSwitch
WEnd[/code]

Link to comment
Share on other sites

tamam söylediğim gibi buna yakın
enter tuşu ile heryerde aynı tepkiyi veriyor
iptal dersek örnekteki gibi
[code]
$gui = GUICreate("Giriş Paneli", 326, 135, -1, -1)
$kadi = GUICtrlCreateInput("", 112, 18, 185, 21,0x0001)
$sifre = GUICtrlCreateInput("", 112, 62, 185, 21, BitOR(0x0020,0x0001))
$hatirla = GUICtrlCreateCheckbox("Oturumu Açık Tut", 15, 115, 110, 13)
$ileri = GUICtrlCreateButton("İleri", 173, 105,62,29)
$iptal = GUICtrlCreateButton("İptal", 235, 105,62,29)
Local $AccelKeys[2][2]=[["{ENTER}", $ileri],["{SPACE}",$hatirla]]
GUISetAccelerators($AccelKeys,$gui)
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
case $hatirla
if GUICtrlRead($hatirla)=1 Then
guictrlsetstate($hatirla,4)
Else
guictrlsetstate($hatirla,1)
endif
case $ileri
MsgBox(0,"Bak","İleri tuşuna basınca bu çıkıcaktı")
case $iptal
EndSwitch
WEnd
[/code]
iptal tuşunada bastığımızda sonuç yine aynı olacak
peki şöyle yapmak mümkünmü
ben hangi objenin üzerindeysem ona göre işlemyapsa
input ve crackbox üzerinde enter tuşuna basarsam ileri
iptal üzerinde enter basarsam
çık
geri üzerinde enter basarsam geri
seni yoruyorum kusuruma bakma

peki
GUICtrlSetState(-1)
kodu ile 2 tane varsayılan obje seçemiyormuyuz
ben crackboxun üzerine geldiğimde ileri butonunuda seçsin bu mümkün değilmi.

Link to comment
Share on other sites

Buyrun bir örnek hazırladım ama yaklaşık 200 küsür satır tuttuğundan upload ettim.Sizinle ilgili kısım sadece ilk 32 satırda fonksiyonlarla cebelleş olmanıza gerek yok ;)

İleri tuşunun üstündeyken entera basarsanız, İlerinin Üzerindesiniz... geri tuşunun üstündeyken entera basarsanız, Gerinin Üzerindesiniz diye mesaj vericektir.

[code]http://www.4shared.com/file/J9yQZojM/MouseOnOver.html[/code]

Link to comment
Share on other sites

Mustafa kardeş. Bende denedim şimdi bu scripti. Açılan ekranda hangi butonun üzerine gelip entera basarsam uyarı penceresi açılıp şu butonun üzerindesiniz diyor.
Çalışıyor yani. Senin Autoitde bir sorun olabilirmi acaba. Önceden çalıştırdığın bir scripti çalıştırıp sorun varmı diye bir kontrol edermisin.

Link to comment
Share on other sites

Merhabalar, ne kaynatıyorsunuz :)

@mustafakara
Şimdi ben @blackman12'nin örneğini indirdim ve çalışıyor. Ama söylediği gibi kodlama çok uzun.
Ben genelde evet mouse ile kurulum yapıyorum. Aşağıdaki gibi bir şeymi istiyorsun. (Tabi bu @blackman12'nin örneği)
Çok ufak bir rutuş yaptım..

[codebox]$gui = GUICreate("Giriş Paneli", 326, 135, -1, -1)
$kadi = GUICtrlCreateInput("", 112, 18, 185, 21,0x0001)
$sifre = GUICtrlCreateInput("", 112, 62, 185, 21, BitOR(0x0020,0x0001))
$hatirla = GUICtrlCreateCheckbox("Oturumu Açık Tut", 15, 115, 110, 13)
$ileri = GUICtrlCreateButton("İleri", 173, 105,62,29,0x0001)
$iptal = GUICtrlCreateButton("İptal", 235, 105,62,29)
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
case $ileri
MsgBox(0,"Bak","İleri tuşuna basınca bu çıkıcaktı")
case $iptal
MsgBox(0,"Bak","Iptal tuşu")
case -3
Exit
EndSwitch
WEnd[/codebox]

Link to comment
Share on other sites

merhabalar sevgili blue_life
aradığım bu ama nasıl oldu bu
anlayamadım
crackboxun üzerinde enter tuşuna basınca nasıl o sonucu veriyor
mesala crack box işaretli olmaz ise enter e bastığımızda iptal edebilirmi
ama eline sağlık mükemmel
blackmanada çok teşekkür ediyorum
bu arada dün yoktunuz sanıyorum hiç sesiniz çıkmadı
yokluğunuz belli oluyor

Link to comment
Share on other sites

Bir süredir autoit bölümüne takılmıyordum :(
Neyse kısaca [b]GUICtrlCreateButton [/b]için style belirliyoruz. [b]0x0001[/b]

Checbox seçili deyilse, bunun için ek satırlar eklersin.
Yani GUICtrlRead ile okutup seçili deyilse çıkış yapabilirsin. Veyahut ne istiyorsun!

[codebox]$gui = GUICreate("Giriş Paneli", 326, 135, -1, -1)
$kadi = GUICtrlCreateInput("", 112, 18, 185, 21,0x0001)
$sifre = GUICtrlCreateInput("", 112, 62, 185, 21, BitOR(0x0020,0x0001))
$hatirla = GUICtrlCreateCheckbox("Oturumu Açık Tut", 15, 115, 110, 13)
$ileri = GUICtrlCreateButton("İleri", 173, 105,62,29,0x0001)
$iptal = GUICtrlCreateButton("İptal", 235, 105,62,29)
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
case $ileri
If GUICtrlRead($hatirla) <> 1 Then
Exit
EndIf
MsgBox(0,"Bak","İleri tuşuna basınca bu çıkıcaktı")
case $iptal
MsgBox(0,"Bak","Iptal tuşu")
case -3
Exit
EndSwitch
WEnd[/codebox]

Link to comment
Share on other sites

aşağıdaki örnekte ilk olarak default olarak
gelen button 1. inputun karşısındaki buton
burada benim istediğim hangi inputun üzerindeysem o inputun yanındaki butonun seçilmesi
inputun üzerinde enter tuşuna bastığımızda
yanındaki buttonu çalıştırması
crackbox seçildiği anda çıkış butonu aktif oluyor
ama seçilmiyor onunda seçili olmasını istiyorum
yani crackbox un üzerinde enter tuşuna basarsam çıkış buttonunu devreye sokacak bu mümkünmü



[code]


#include <GUIConstantsEx.au3>
#include <GuiButton.au3>

$gui = GUICreate("Giriş Paneli", 500, 250, -1, -1)
$kadi = GUICtrlCreateInput("", 112, 18, 185, 21,0x0001)
$ileri = GUICtrlCreateButton("&OKU", 310, 18,62,21,$BS_DEFPUSHBUTTON)
;_GUICtrlButton_SetStyle(-1, $BS_DEFPUSHBUTTON)
$sifre = GUICtrlCreateInput("", 112, 62, 185, 21, BitOR(0x0020,0x0001))
$oku = GUICtrlCreateButton("OKU", 310, 62,62,21)
$hatirla = GUICtrlCreateCheckbox("çıkış için onay ver", 15, 115, 110, 13)
$cik = GUICtrlCreateButton("&ÇIKIŞ", 235, 105,62,29)
GUICtrlSetState(-1, $GUI_DISABLE)
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
case $ileri
MsgBox(0,"input1",GUICtrlRead($kadi))
case $oku
MsgBox(0,"input2",GUICtrlRead($sifre))

case $cik
MsgBox(0,"çıkış","Iptal tuşu")
Exit
case -3
Exit
Case $hatirla
If GUICtrlRead($hatirla) = 1 Then
GUICtrlSetState($cik, $GUI_enable)
_GUICtrlButton_SetStyle($cik, $BS_DEFPUSHBUTTON)
Else
GUICtrlSetState($cik, $GUI_DISABLE)
EndIf
EndSwitch
WEnd


[/code]

Link to comment
Share on other sites

arkadaşlar haklısınız
ama sadece işim görülsün amaçlı çalışmıyorum
birşeyler öğrenmeye çalışıyorum zaten hepinizde bu konuda bizlere yardımcı olan kişilersiniz
fikirlerinizle bizlere fikir katıyorsunuz
ben yinede merak ettiklerimi öğrenebilirsem memnun olurum
o kadar güzel şeyler paylaşılıyorki burda
hepinizden allah razı olsun

Link to comment
Share on other sites

@mustafakara

$BS_DEFPUSHBUTTON sitiline baktım, lakin bu sitil ilgili gui nesnesi (buton) oluşturulurken kullanılabiliyor.
Sonradan iptal edilebiliyor lakin, yeniden uygulanamıyor. Heralde bir bag olsa gerek!
Neyse yine bunun için @blackman12'nin önerdiği GUISetAccelerators komutunu kullanabilirsin.
Ben bir örnek vereyim, sen incele!

[codebox]Global $Get_Focus
Global $gui = GUICreate("Giriş Paneli", 500, 250)
Global $Input1 = GUICtrlCreateInput("", 112, 18, 185, 21, 0x0001)
Global $Btn1 = GUICtrlCreateButton("&OKU", 310, 18, 62)

Global $Input2 = GUICtrlCreateInput("", 112, 62, 185, 21, BitOR(0x0020, 0x0001))
Global $Btn2 = GUICtrlCreateButton("O&KU", 310, 62, 62, 21)

Global $Check1 = GUICtrlCreateCheckbox("çıkış için onay ver", 15, 115, 110, 13)
Global $Btn3 = GUICtrlCreateButton("&ÇIKIŞ", 235, 105, 62, 29)
GUICtrlSetState(-1, 128)

Global $ENTER = GUICtrlCreateLabel("", -5, -5, 1, 1)
Local $AccelKeys[1][2] = [["{ENTER}", $ENTER]]
GUISetAccelerators($AccelKeys)
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
Case $ENTER
$Get_Focus = _GetFocus()
Switch $Get_Focus
Case GUICtrlGetHandle($Btn1), GUICtrlGetHandle($Btn2), GUICtrlGetHandle($Btn3)
ControlCommand($gui, "", $Get_Focus, "check")
Case GUICtrlGetHandle($Check1)
If GUICtrlRead($Check1) = 1 Then
GUICtrlSetState($Check1, 4)
GUICtrlSetState($Btn3, 128)
Else
GUICtrlSetState($Check1, 1)
GUICtrlSetState($Btn3, 64)
EndIf

Case GUICtrlGetHandle($Input1)
GUICtrlSetState($Btn1, 256)

Case GUICtrlGetHandle($Input2)
GUICtrlSetState($Btn2, 256)
EndSwitch

Case $Btn1
MsgBox(64, "", "Input 1")
Case $Btn2
MsgBox(64, "", "Input 2")
Case $Btn3
MsgBox(64, "", "Kapat")
Exit
Case $Check1
If GUICtrlRead($Check1) = 1 Then
GUICtrlSetState($Btn3, 64)
Else
GUICtrlSetState($Btn3, 128)
EndIf
EndSwitch
WEnd

Func _GetFocus()
Local $ARESULT = DllCall("user32.dll", "hwnd", "GetFocus")
If @error Then Return SetError(@error, @extended, 0)
Return $ARESULT[0]
EndFunc ;==>_GetFocus[/codebox]

Link to comment
Share on other sites

sevgili arkadaşlar teşekkürler
ben yapmak istediğimi kısmende olsa gerçekleştirdim
yapamadığım hangi inputun üzerinde isem o inputun karşısındaki buttonun aktif olması
örneği aşağıya koyuyorum sizler bu örneğe göre yapabilirseniz memnun olurum

burada yapacağımız
input1 in üzerindeysem
GUICtrlSetState($Btn1,$GUI_DEFBUTTON)
input2 nin üzerindeysem
GUICtrlSetState($Btn2,$GUI_DEFBUTTON)


[code]

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiButton.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>

Global $gui = GUICreate("Giriş Paneli", 500, 250)
Global $Input1 = GUICtrlCreateInput("", 112, 18, 185, 21, 0x0001)
Global $Btn1 = GUICtrlCreateButton("&OKU", 310, 18, 62)
GUICtrlSetState(-1,$GUI_DEFBUTTON)
Global $Input2 = GUICtrlCreateInput("", 112, 62, 185, 21, BitOR(0x0020, 0x0001))
Global $Btn2 = GUICtrlCreateButton("O&KU", 310, 62, 62, 21)
Global $Check1 = GUICtrlCreateCheckbox("çıkış için onay ver", 15, 115, 110, 13)
Global $Btn3 = GUICtrlCreateButton("&ÇIKIŞ", 235, 105, 62, 29)
GUICtrlSetState(-1, $GUI_DISABLE)



GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
Case $Btn1
MsgBox(0,"input1",GUICtrlRead($Input1))
Case $Btn2
MsgBox(0,"input1",GUICtrlRead($Input2))
Case $Check1
If GUICtrlRead($Check1) = 1 Then
GUICtrlSetState($Btn3, $GUI_enable)
GUICtrlSetState($Btn3,$GUI_DEFBUTTON)
Else
GUICtrlSetState($Btn3, $GUI_disable)
GUICtrlSetState($Btn1,$GUI_DEFBUTTON)
EndIf
Case $Btn3
MsgBox(0,"çıkış","çıkıyorsunuz")

Exit
EndSwitch
WEnd

[/code]

Link to comment
Share on other sites

@mustafakara

Ilginç, geçen sever GUICtrlSetState(-1, $GUI_DEFBUTTON) denediğimde işe yaramıyordu!
Şuanda bende çalışıyor. :nea:
Neyse umarım sende de çalışır...

[codebox]#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiButton.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>

Global $gui = GUICreate("Giriş Paneli", 500, 250)
Global $Input1 = GUICtrlCreateInput("", 112, 18, 185, 21, 0x0001)
Global $Btn1 = GUICtrlCreateButton("&OKU", 310, 18, 62)
GUICtrlSetState(-1, $GUI_DEFBUTTON)
Global $Input2 = GUICtrlCreateInput("", 112, 62, 185, 21, BitOR(0x0020, 0x0001))
Global $Btn2 = GUICtrlCreateButton("O&KU", 310, 62, 62, 21)
Global $Check1 = GUICtrlCreateCheckbox("çıkış için onay ver", 15, 115, 110, 13)
Global $Btn3 = GUICtrlCreateButton("&ÇIKIŞ", 235, 105, 62, 29)
GUICtrlSetState(-1, $GUI_DISABLE)

GUIRegisterMsg(273, "MY_WM_COMMAND")
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
Case $Btn1
MsgBox(0, "input1", GUICtrlRead($Input1))
Case $Btn2
MsgBox(0, "input1", GUICtrlRead($Input2))
Case $Check1
If GUICtrlRead($Check1) = 1 Then
GUICtrlSetState($Btn3, $GUI_enable)
GUICtrlSetState($Btn3, $GUI_DEFBUTTON)
Else
GUICtrlSetState($Btn3, $GUI_DISABLE)
GUICtrlSetState($Btn1, $GUI_DEFBUTTON)
EndIf

Case $Btn3
MsgBox(0, "çıkış", "çıkıyorsunuz")
Exit
EndSwitch
WEnd

Func MY_WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
Switch $lParam
Case GUICtrlGetHandle($Input1)
GUICtrlSetState($Btn1, $GUI_DEFBUTTON)
Case GUICtrlGetHandle($Input2)
GUICtrlSetState($Btn2, $GUI_DEFBUTTON)
EndSwitch
EndFunc[/codebox]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...