Ekran Klavyesi Yapmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Ekran Klavyesi Yapmak

Mesaj gönderen tayipk »

Merhaba arkadaşlar hepinize kolay gelsin. Projeme ekran klavyesi eklemek istiyorum fakat bu konu hakkında nerden başlayacam ne yapacağımı açıkçası bilmiyorum. bir klavye formu düşünün program açıldığında otomatik olarak açılacak ve her yerde bu klavye kullanılacak. bunu nasıl becerebilirim yani o andaki aktif form ve aktif editi yani cursorun yerini bularak mı işlem yapacam bilemiyorum. yardımlarınız için şimdiden teşekkürler
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
Kullanıcı avatarı
barisatalay
Üye
Mesajlar: 398
Kayıt: 02 Nis 2013 05:43
İletişim:

Re: Ekran Klavyesi Yapmak

Mesaj gönderen barisatalay »

Yazdığın editin onChange özelliğinde olayı bağlayabilirsin.
Mesela delphi kullanmadan aklımdan yazıyorum

Kod: Tümünü seç

Sanal Klavyenin Left: TEdit(Sender).width+ TEdit(Sender).Left;
Gibi bir yöntemde olabilir hemen sağ tarafına yerleştirmek için.
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Re: Ekran Klavyesi Yapmak

Mesaj gönderen tayipk »

delphi zaten yapmış benim yerime :D tekrar yapmama gerek kalmadı TTouchkeyboard componenti tam işimi gördü cevabın için teşekkürederim.
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
Kullanıcı avatarı
barisatalay
Üye
Mesajlar: 398
Kayıt: 02 Nis 2013 05:43
İletişim:

Re: Ekran Klavyesi Yapmak

Mesaj gönderen barisatalay »

Benim hatam banka kartı girerken yan tarafta açılan sanal sayılara gitti bi anda aklım :)
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Re: Ekran Klavyesi Yapmak

Mesaj gönderen tayipk »

yanlız şöyle bir problem var bunda da eğer ttouchkeyboard aynı formda ise sıkıntı yok çalışıyor ama benim istediğim farklı birşey yani yine bu ttouchkeyboard componentini kullanayım ama klavye diye bir form yapayım bu form sürekli açık dursun. ben hangi formda ve hangieditte çalışıyorsam ttouchkeyboard orda aktif hale gelsin. bunu nasıl yapabilirim
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Ekran Klavyesi Yapmak

Mesaj gönderen SimaWB »

tayipk yazdı:delphi zaten yapmış benim yerime :D tekrar yapmama gerek kalmadı TTouchkeyboard componenti tam işimi gördü cevabın için teşekkürederim.
Bunu yazdığında TTouchkeyboard'ı sadece aynı formda kullanabilirsin yazacaktım ama sonra işim çıkmıştı. Şimdi sen yazmışsın :)

Bence onunla hiç uğraşma, kendi formunu oluştur.
Klavye formuna mouse'la click yapılınca focus olmaması için WM_MOUSEACTIVATE mesajını kontrol et. (Bu mesaja MA_NOACTIVATE ile cevap vermelisin)
Ayrıca klavye formunda TButton yerine TSpeedButton kullan ki TSpeedButton tıklandığında Focused olmaz.
Her TSpeedButton'a basılında bu butonun caption'ını bir önceki formda en son seçili olan bileşenin Handle'ınına yolla.
Enter, Escape gibi tuşlar için ise ayrıca kod yaz.

Farkındayım biraz karışık anlattım o yüzden "dummy" bir örnek hazırladım. Umarım yardımı dokunur...
Dosya ekleri
EkranKlavyesi.zip
Ekran klavyesi örneği...
(94.16 KiB) 146 kere indirildi
There's no place like 127.0.0.1
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Re: Ekran Klavyesi Yapmak

Mesaj gönderen tayipk »

SimaWB yazdı:
tayipk yazdı:delphi zaten yapmış benim yerime :D tekrar yapmama gerek kalmadı TTouchkeyboard componenti tam işimi gördü cevabın için teşekkürederim.
Bunu yazdığında TTouchkeyboard'ı sadece aynı formda kullanabilirsin yazacaktım ama sonra işim çıkmıştı. Şimdi sen yazmışsın :)

Bence onunla hiç uğraşma, kendi formunu oluştur.
Klavye formuna mouse'la click yapılınca focus olmaması için WM_MOUSEACTIVATE mesajını kontrol et. (Bu mesaja MA_NOACTIVATE ile cevap vermelisin)
Ayrıca klavye formunda TButton yerine TSpeedButton kullan ki TSpeedButton tıklandığında Focused olmaz.
Her TSpeedButton'a basılında bu butonun caption'ını bir önceki formda en son seçili olan bileşenin Handle'ınına yolla.
Enter, Escape gibi tuşlar için ise ayrıca kod yaz.

Farkındayım biraz karışık anlattım o yüzden "dummy" bir örnek hazırladım. Umarım yardımı dokunur...
verdiğin cevap ve gönderdiğin örnek için teşekkürederim denedikten sonra muhakkak sonuç bildirecem. çok sağol
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Re: Ekran Klavyesi Yapmak

Mesaj gönderen tayipk »

göstermiş olduğun yöntemle klavye formumu oluşturdum klavye formundaki kontrol değişkenine ilgili formların HANDLE değerlerini alıp işimi güzel bir şekilde görebiliyorum. fakat tek bir sıkıntım kaldı o da şu kullandığım CXGRİD de ki alanların HANDLE değerlerini alamıyorum dolayısıyla ekran klavyesi orda işe yaramıyor bununla ilgili nasıl bir işlem yapabilirim. Resim
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
Cevapla