Ekran klavyesi: Türkçe karakter sorunu!

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mcelebi
Üye
Mesajlar: 5
Kayıt: 13 Tem 2010 03:27

Ekran klavyesi: Türkçe karakter sorunu!

Mesaj gönderen mcelebi »

Merhaba,
Ekran klavyesi yapmak istiyorum ama Türkçe Karakterleri kullanırken (Ç, Ü, Ş, Ğ ve Ö) harflerinde sorun yaşıyorum.
Yadım ederseniz memnun olurum...
Saygılar,

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
KeyState : TKeyboardState;
begin
LoadKeyboardLayout('0000041f', KLF_ACTIVATE); // Türkçe
Edit1.SetFocus;
keybd_event(Ord('I'), MapVirtualKey(Ord('I'), 0), 0, 0); // Harf
GetKeyboardState(KeyState);
if (KeyState[VK_CAPITAL] = 1) then
KeyState[VK_CAPITAL] := 0
else
KeyState[VK_CAPITAL] := 0;
SetKeyboardState(KeyState);
end;
En son mcelebi tarafından 17 Tem 2010 08:51 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: Ekran klavyesi: Türkçe karakter sorunu!

Mesaj gönderen thelvaci »

Merhaba; aşağıdaki gibi bir kullanım işinizi görecektir;

Kod: Tümünü seç

var
  Key : Integer;
  Extra : DWord;
begin
  Key := VkKeyScan('Ö');
  Extra := 0;

  keybd_event(Key, MapVirtualKey(Key, 0), Extra, 0);
  keybd_event(Key, MapVirtualKey(Key, 0), Extra or KEYEVENTF_KEYUP, 0);
end;
mcelebi
Üye
Mesajlar: 5
Kayıt: 13 Tem 2010 03:27

Re: Ekran klavyesi: Türkçe karakter sorunu!

Mesaj gönderen mcelebi »

Teşekkürler.
savasgti
Üye
Mesajlar: 103
Kayıt: 07 Eki 2008 06:13

Re: Ekran klavyesi: Türkçe karakter sorunu!

Mesaj gönderen savasgti »

nasıl yaptığınızı daha detaylı yazarmısınız.
mcelebi
Üye
Mesajlar: 5
Kayıt: 13 Tem 2010 03:27

Re: Ekran klavyesi: Türkçe karakter sorunu!

Mesaj gönderen mcelebi »

savasgti yazdı:nasıl yaptığınızı daha detaylı yazarmısınız.
procedure TMainForm.SpeedButton1Click(Sender: TObject);
var
Key : Integer;
Extra : DWord;
begin
LoadKeyboardLayout('0000041f', KLF_ACTIVATE);
SearchEdit.SetFocus;
Key := VkKeyScan('A');
Extra := 0;
keybd_event(Key, MapVirtualKey(Key, 0), Extra, 0);
keybd_event(Key, MapVirtualKey(Key, 0), Extra or KEYEVENTF_KEYUP, 0);
end;
Cevapla