AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

StringGrid Zelle markieren

Ein Thema von Klarabella · begonnen am 22. Dez 2004 · letzter Beitrag vom 22. Dez 2004
Antwort Antwort
Klarabella

Registriert seit: 28. Sep 2004
59 Beiträge
 
#1

StringGrid Zelle markieren

  Alt 22. Dez 2004, 12:52
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...
Hab folgendes versucht:
Delphi-Quellcode:
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;
Da markiert der dann aber gar nischt...

und wie kann ich das kopieren in die Zwischenablage realisieren?

Kann mir jemand helfen?
Gruß, Klarabella
  Mit Zitat antworten Zitat
Kernel32.DLL
(Gast)

n/a Beiträge
 
#2

Re: StringGrid Zelle markieren

  Alt 22. Dez 2004, 13:22
Ich hab' zufällig grad' sowas in meinem Programm eingebaut:

Delphi-Quellcode:
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;
Das, was für dich uninteressant ist, habe ich mal ausgeklammmert. Zu beachten wäre noch, dass es sich hier um ein
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)

procedure Clipboard.SetTextBuf(Buffer: PChar); Steht übrigens auch in der OH...


Keep on coding
Daniel
  Mit Zitat antworten Zitat
Klarabella

Registriert seit: 28. Sep 2004
59 Beiträge
 
#3

Re: StringGrid Zelle markieren

  Alt 22. Dez 2004, 13:45
Was ein Zufall
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!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz