Edit1.CopyToClipboard;
edit1.PasteFromClipborad;
komutlarını Dbgrid için Popup menüden nasıl kullanabilirim.
Diyelimki Dbgridde bir alandaki metni seçtiğim kopyalama ve yapıştırma komutlarını vermek istiyorum.
Dbgride popup menü atamazsam windowsun özelliği ile kopyala-yapıştır popupda zaten geliyor.Fakat ben bir popup atamak zorundayım ve aynı popupun altına kopyala-Yapıştırı koymak istiyorum
Selamlar.
Dbgridde kopyala-Yapıştır
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 163
- Kayıt: 06 Nis 2006 12:22
Re: Dbgridde kopyala-Yapıştır
Standart Action'lar kullanabilirsiniz. ActionList bileşeninde standart actionlar arasında Copy, Cut, Paste standart eylemleri var. Ancak anladığım kadarıyla sizin yapmaya çalıştığınız şey komple kaydı kopyalamak. Oldukça karmaşık olabilir.kelaynak2 yazdı:Edit1.CopyToClipboard;
edit1.PasteFromClipborad;
komutlarını Dbgrid için Popup menüden nasıl kullanabilirim.
Diyelimki Dbgridde bir alandaki metni seçtiğim kopyalama ve yapıştırma komutlarını vermek istiyorum.
Dbgride popup menü atamazsam windowsun özelliği ile kopyala-yapıştır popupda zaten geliyor.Fakat ben bir popup atamak zorundayım ve aynı popupun altına kopyala-Yapıştırı koymak istiyorum
Selamlar.
Saygılar ve Başarılar
Çözümünü
http://www.panix.com/~mmowens/delphi/oldtip.shtml linkinden buldum.
SendMessage(GetFocus, WM_COPY, 0, 0); {Copy selection to clipboard}
SendMessage(GetFocus, WM_PASTE, 0, 0); {Replace selection with clipboard contents}
SendMessage(GetFocus, WM_CLEAR, 0, 0); {Clear selection}
SendMessage(GetFocus, EM_UNDO, 0, 0); {Undo last operation}
Şimdi Sorunum cell içindeki belli bir kelime seçili ise popupdaki kopyala aktif olsun, değilse pasif olsun?
Biraz araştırınca aşağıdaki kodla olduğunu buldum,Saygılar.
http://www.panix.com/~mmowens/delphi/oldtip.shtml linkinden buldum.
SendMessage(GetFocus, WM_COPY, 0, 0); {Copy selection to clipboard}
SendMessage(GetFocus, WM_PASTE, 0, 0); {Replace selection with clipboard contents}
SendMessage(GetFocus, WM_CLEAR, 0, 0); {Clear selection}
SendMessage(GetFocus, EM_UNDO, 0, 0); {Undo last operation}
Şimdi Sorunum cell içindeki belli bir kelime seçili ise popupdaki kopyala aktif olsun, değilse pasif olsun?
Biraz araştırınca aşağıdaki kodla olduğunu buldum,Saygılar.
Kod: Tümünü seç
procedure TForm1.PopupMenu1Popup(Sender: TObject);
type
Tsecim = record
StartPos, EndPos: Integer;
end;
var
result:integer;
Secim: Tsecim;
begin
SendMessage(GetFocus, EM_GETSEL, Longint(@Secim.StartPos), Longint(@Secim.EndPos));
Result := Secim.EndPos - Secim.StartPos;
pkopyala.Enabled:=result> 0;
end;