Results 1 to 7 of 7

Thread: NLDStringGrid tabafhandeling

  1. #1

    NLDStringGrid tabafhandeling

    Beste mensen,

    Ik gebruik in mijn applicatie een NLDStringgrid om verbruikte onderdelen in te kunnen voeren, standaard Windows gebruik levert bij een druk op de tabtoets op dat er naar de volgende kolom wordt gesprongen. Dit werkt in het NLDStringGrid echter niet. Iemand enig idee hoe ik dat wel kan realiseren??

    gr william

  2. #2
    Senior Member PsychoMark's Avatar
    Join Date
    Nov 2001
    Location
    Raamsdonksveer
    Posts
    10,269
    Verplaatst naar NLDStringGrid...
    Qui custodiet ipsos custodes

  3. #3
    Senior Member walterheck's Avatar
    Join Date
    Oct 2001
    Location
    Belo Horizonte, Brasil
    Posts
    4,212
    Ik heb er even naar gekeken, maar ik heb er niet 1,2,3 een oplossing voor. De OnKeyXXX events werken niet, aangezien de tab daar niet door wordt afgevangen. oke, de onKeyUp wel, maar dan ben je al te laat, want die gaat alleen af als je je control net komt binnen vallen...

    [edit]
    Misschien weet iemand hier hoe dat ook alweer moest? dan ben ik wel bereid te kijken of ik het kan inbouwen...
    [/edit]
    Nee, de Romeinen spraken geen ISO-8859-1 LATIN

  4. #4
    Ik ben er ook even verder meegegaan en ik kan de tab-toets nu wel afvangen, met de volgende code: (komt ook van t forum af)

    Function isTabpressed: Boolean;
    begin
    Result := False;
    if (GetAsyncKeyState(VK_TAB) and $8000) = $8000 then
    Result := True;
    end;


    Hiermee kun je controleren of de tab is ingedrukt, alleen helemaal 100% werkt t nog niet. Nu heb ik alleen nog de code voor het focussen op een bepaalde cell nodig, Die heb ik nog niet kunnen vinden (Misschien met Windows handler???)

  5. #5
    Senior Member walterheck's Avatar
    Join Date
    Oct 2001
    Location
    Belo Horizonte, Brasil
    Posts
    4,212
    Dan kun je gewoon de row en co properties zetten. Om de focus een cell naar rechts te laten schuiven kun je dus bijvoorbeeld doen: col:=col+1;
    Nee, de Romeinen spraken geen ISO-8859-1 LATIN

  6. #6
    Waar kan ik die properties zetten dan???

    Ik heb de volgende code:

    Code:
    procedure TForm1.sgOnderdelenSetEditText(Sender: TObject; ACol,
      ARow: Integer; const Value: String);
    begin
      if isTabPressed() = true
      then begin
    
        if bGedaan = false
        then begin
          showmessage('Kolom moet gewijzigd worden');
          KolomWijziging(ACol, ARow, Value);
          //// Nu moet de focus verplaats worden naar de vierde kolom in dezelfde rij
          bGedaan := true;
    
        end
        else begin
          showmessage('Kolom is al gewijzigd');
          bGedaan := false;
        end;
      end
      else begin
        KolomWijziging(ACOl, ARow, Value);
       //// En hier ook
      end;
    end;
    Hoe zou ik dat hier moeten doen??
    Last edited by Dees; 21-Nov-05 at 00:09. Reason: code tags toegevoegd

  7. #7
    Silly member NGLN's Avatar
    Join Date
    Aug 2004
    Location
    Werkendam
    Posts
    5,133
    Code:
        procedure           WMSize(var Msg:TWMKey); message WM_CHAR;
    
    ...
    
    procedure TNLDStringGrid.WMSize(var Msg: TWMKey);
    begin
    
    end;
    Ik vermoed dat het aan deze messagehandler ligt. Door dit te verwijderen en Options.goTabs op True te zetten kun je weer met de tab door de cellen wandelen.

    //Edit:
    Heb deze bug opgelost en aangepast op de Subversion server, zie http://svn.nldelphi.com/nldelphi/ope...nldstringgrid/.
    Last edited by NGLN; 18-Apr-08 at 00:10. Reason: Bugfix in SVN
    (Sender as TNLDUser).Signature := 'Groeten van Albert';

Thread Information

Users Browsing this Thread

There are currently 2 users browsing this thread. (0 members and 2 guests)

Similar Threads

  1. NLDstringgrid zwarte cells workaround
    By Pray in forum NLDStringGrid
    Replies: 1
    Last Post: 07-Oct-04, 15:32
  2. NLDStringgrid v1.0
    By walterheck in forum NLDStringGrid
    Replies: 1
    Last Post: 24-Jun-02, 10:25

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •