Avatar billede germsen Nybegynder
05. marts 2002 - 08:38 Der er 5 kommentarer

Skærm position på et Item

Hej

Jeg har et dxDBGrid som er det samme som DBGrid og jeg vil meget gerne have at vide hvad skærmpositionen (X,Y) er for en eller anden Row. Der er en function ItemAtPos hvor man giver x,y og får sit item men det er den omvendte funktion jeg gerne vil have altså man giver den et item og den returnerer et x,y

Mvh
Kim
Avatar billede morten_s Nybegynder
05. marts 2002 - 08:44 #1
På dit OnMouseDown event


procedure TForm1.dxDBGridMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  ShowMessage('X: ' +IntToStr(X ) + ' Y: '+ IntToStr(Y));
end;
Avatar billede morten_s Nybegynder
05. marts 2002 - 08:45 #2
nej det duer ikke sorry, kan se du skal bruge en function hvor du stikker den item
Avatar billede Slettet bruger
05. marts 2002 - 20:30 #3
Prøv dette

Function GetPos(I1,I2: Integer;DB:TDBGrid):TGridCoord;
Begin
    Result:=DB.MouseCoord(I1,I2);
End;

Delphi hjælp siger dette:
MouseCoord returns the row and column indexes of the cell that contains a point specified in screen coordinates.

type TGridCoord = record

    X: Longint;
    Y: Longint;
  end;

function MouseCoord(X, Y: Integer): TGridCoord;

Description

Call MouseCoord to locate the column and row of the cell which contains a given screen coordinate. Usually, MouseCoord is used to locate the cell which is under the mouse.

Mvh. Simon
Avatar billede germsen Nybegynder
06. marts 2002 - 10:06 #4
Tak for svaret men det er jo den omvendte funktion jeg skal bruge
Avatar billede Slettet bruger
06. marts 2002 - 21:43 #5
function Pos(Form:TForm;row:TPoint;DB:TDBGrid;
var
I1,I2:Integer;
coord:TGridCoord;
Begin
    For I1:=0 To Form.Height Do
    For I2:=0 To Form.Widht Do
    Begin
    Coord:=DB.MouseCoord(I1,I2);
    If (Coord.X=Row.X) and (Coord.Y=Row.Y) Then
    Begin
    Result.X:=I1;
    Result.Y:=I2;
    Exit;
    End;
    End;
End;

Denne burde kunne bruges

Mvh. Simon
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester