Merhaba
Bir sözlük projesinde; bir belge (word, pdf, internet v.b) içinde geçen bir kelimeyi, mous'la seçerek herhangi bir fonksiyon tuşu (Alt-F2, Ctrl-F2 vb.)
ile formumuzda bulunan edit kutusunun içine nasıl ekleyebiliriz?
Cevap verenlere şimdiden teşekkürler
(Not: Veritabanı ile ilgili kodların yazımında herhangi bir sorun yok)
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Shift = [ssCtrl]) and (Chr(Key) = 'W') then
begin
Edit1.Text:=RichEdit1.SelText;
end;
end;
örnekte
"ctrl" + "w" tuslarına basılınca olay gerceklesir
(secili metin edit1 e aktarılır)
Cevabınız ve soruya ilginiz için teşekkür ederim..
Ancak şöyle bir problem var.. Siz Richedit içinde geçen kelimenin seçilerek edit1 kutusuna aktarılmasını kodlamışsınız. Fakat benim yaptığım projede ise program arkada çalışacak (mesela taskbar da) ve internet, word gibi dosyalarda geçen kelime seçilerek edit1 kutusuna aktarılacak..
Sanırım bunun için WinApi programlama gerekmekte fakat hangi kod kullanılması gerekiyor onu bilmiyorum...
- Normalde her program kendi üzerinde akan Mesajları okuma kabiliyetindedir. Windows'ta basılmış bir tuşu algılamak için Windows'un ana otoyolu diyebileceğim Hooking (kanca ile) ile erişmeniz lazım.
- Bu durumda oradaki basılan tuş, daha windows algılamadan sizin programınızın denetimine geçecektir. Kulağınıza hoş geliyor değil mi ? Ama bu kadar mesajdan hangisini kullanacağınızı; WM_ ile başlayan bu mesaj paketlerinden ilgili olanını seçmelisiniz.
- Ben bununla ilgili bir çalışma yapmadım ama sizin için Google'dan Widnows Hook, Message Hook diye aratınca yüzlerce cevap gördüm. Başına Delphi ibaresini de ekleyip aratın.
Sayın Muharrem ve Mustafa Bey cevaplarınız ve bana göstermiş olduğunuz yardımlar için ne kadar teşekkür etsem azdır.
Sağolun yeni bir yol bulmamı sağladınız...