![]() |
StringGrid Zelle markieren
hallo,
ich möchte dem Benutzer die Möglichkeit geben, in meinem StringGrid eine Zelle zu markieren und den Wert darin z.B. über Strg+C oder rechte Maustaste+"kopieren" zu kopieren, um ihn in der Zwischenablage zu haben. Allerdings scheitert es im Moment schon an der Markierung... :roll: Hab folgendes versucht:
Delphi-Quellcode:
Da markiert der dann aber gar nischt...
if Button = mbRight then
begin grSel.Top := Row; grSel.Left := Column; grSel.Right := Row; grSel.Bottom := Column; sgGarantie_Daten.Selection := grSel; popupMenu.Popup(Mouse.CursorPos.x, Mouse.CursorPos.y); end; und wie kann ich das kopieren in die Zwischenablage realisieren? Kann mir jemand helfen? Gruß, Klarabella :spin: |
Re: StringGrid Zelle markieren
Ich hab' zufällig grad' sowas in meinem Programm eingebaut:
Delphi-Quellcode:
Das, was für dich uninteressant ist, habe ich mal ausgeklammmert. Zu beachten wäre noch, dass es sich hier um ein
var
i, j: Integer; s: string; begin { if firstentry = true then begin listbox1.items.add('Englisch :: Deutsch'); firstentry := false; end;} if DBGrid1.SelectedRows.Count>0 then with DBGrid1.DataSource.DataSet do for i:=0 to DBGrid1.SelectedRows.Count-1 do begin GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i])); for j := 0 to FieldCount-1 do begin if (j>0) then s:=s+' :: '; s:=s+Fields[j].AsString; end; Listbox1.Items.Add(s); //Oder wo du den String sonst haben willst //listboxadded := true; //StatusBar1.Panels[4].text := 'Einträge: ' + inttostr(listbox1.Items.count - 1); s:= ''; end; DBGrid handelt, daher muss noch eine Anpassung an ein StringGrid vorgenommen werden.(Ich hoffe mal, das ist möglich. Ich bin mir nicht hundertpro sicher, müsste aber eigentlich). Übrigens muss bei dieser Lösung der User auf das StringGrid klicken (mit rechts) und dann bei einem PopUp-Menü auf kopieren. So hab' ich den Code bei mir eingebaut. Folgender Code kopiert einen String in die Zwischenablage: (die Unit "ClipBrd" muss mit eingebunden werden)
Delphi-Quellcode:
Steht übrigens auch in der OH...
procedure Clipboard.SetTextBuf(Buffer: PChar);
Keep on coding Daniel |
Re: StringGrid Zelle markieren
Was ein Zufall :-D
Vielen lieben Dank... Das hilft mir zumindest bei der Recherche schon einmal etwas... Leider ist das DBGrid nicht ganz so einfach auf das StringGrid übertragbar... :( Wenn also noch jemand eine Idee hat, immer men her damit! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz