Listbox'a doldurulan bilgi Ctrl+C ile kopyalanmıyor nedeni n

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Listbox'a doldurulan bilgi Ctrl+C ile kopyalanmıyor nedeni n

Mesaj gönderen delphist »

S.a. Arkadaşlar arama alanım var ve querylerle bir sürü bilgiyi arama yaptırıp tek ekranda bir çok bilgiyi beraber gösteriyorum. Fakat Listboxa veriyi seçip Ctrl C dediğim zaman kopyalamıyor...En kolay yoldan nasıl yapabilirim. Teşekkürler
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Formun onkeydown eventında;

Kod: Tümünü seç

  if (key = ord('C')) and (shift = [ssCtrl]) then
kontrolü ile seçili olan itemı alarak yapabilirsin. Ama clipboarda nasıl atanır bilmiyorum :)
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Merhaba.
Clipboard'a yazmayı da ben ekleyeyim bari..

Clipbrd unitini uses'e eklemek kaydı ile;

Kod: Tümünü seç

ClipBoard.AsText := Listbox1.Items [Listbox1.ItemIndex];
gibi bir kodla alabilirsiniz...

Kolay gelsin..
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

s.a. kusura bakmayın yardımlarınızdan dolayı çok teşekkür ederim. Bu kodu hangi eventa yazacam clipboard ile ilgili kusura bakmayın ilk defa yapıyorum böyle bişi clipboard lada ilk defa uğraşıyorum. yabancıyım. Şimdiden yardımlarınız için teşekkür ederim.
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Merhaba,
Naile hanımın dediği yere veya Listbox ın OnKeydown event ına : Listboxta seçenek seçili iken Ctrl +C tuşuna basarsanız aşağıdaki kodla :

Kod: Tümünü seç

        if (key = ord('C')) and (shift = [ssCtrl]) then

        ClipBoard.AsText := Listbox1.Items [Listbox1.ItemIndex];


clipboarda atmış olursunuz. Bir edit bileşeninde veya başka bir yerde iken Ctr+V tuşuna atarsanız. İstediğiniz yere kopyalanır.

Yoksa programla Yapıştırmayı mı soruyorsunuz. O da

Kod: Tümünü seç

 edit1.Text :=ClipBoard.AsText; 
şeklinde olur.

***** uses kısmına ,qclipbrd; eklemeyi unutmayın.
Kolay gelsin.
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

çok güzel çalışıyor yardımlarınız için teşekkür ederim listboxın birinde yaptığımız zaman orayı seçmiş oluyorum ama diğer bir bileşeni seçtiğim zaman önceki seçili kalıyor ikisi birden seçili kalıyor ve bu kod her bir bileşene ayrı ayrı yazdığım için çift tıklama ile alıyor ordaki bilgiyi fakat diğeride seçili olunca çift tıklama ile değil ctrl + v alıyor ama önceki seçiliyor kalıyor bir diğerinide tıklayanca 3 ü birden seçili kalmış oluyor bunu nasıl aşabilirim. Teşekkürler
Kullanıcı avatarı
ofenX
Üye
Mesajlar: 397
Kayıt: 09 Nis 2005 10:24
Konum: Diyarbakır
İletişim:

Mesaj gönderen ofenX »

Listboxtaki itemlerden bahsediyorsanız bende öyle bir sorun çıkmıyor. Ama Listbox ın Multiselect özelliğini false yapmayı deneyin. O da olmuyorsa Listboxın onenter event ına aşağıdaki kodu yazıp bir deneyin. Giriş odağı her Listbox a geçtiğinde seçilenleri iptal eder.

Kod: Tümünü seç

 listbox1.ClearSelection;
Kolay gelsin.
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

Teşekkür ederim.
Cevapla