DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Programiranje (http://www.devprotalk.com/forumdisplay.php?f=23)
-   -   Borland Builder TreeView - selekcija noda DESNIM klikom (http://www.devprotalk.com/showthread.php?t=3646)

tokajac 29. 09. 2007. 22:03

Borland Builder TreeView - selekcija noda DESNIM klikom
 
Koristim klasican Borlandov TTreeView.
Kreiram nekoliko Node-ova. Pustim aplikaciju i dobijam sledece:

Levim klikom lepo mogu da oznachim zeljeni Node, ALI desnim klikom to nije izvodljivo (nakon pustanja misha selekcija preskoci na prethodno selektovani Node?!).

Hocu da mi se prilikom klika desnim tasterom na neki od Node-ova otvori pop-up meni, pa bi mi zato znachilo da selekcija bude odgovarajuca.


Ovim kodom mi se pojavljuje pop-up na odgovarajucem mestu:

Kôd:

void __fastcall TForm1::TreeView1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  TTreeNode *tempTreeNode =TreeView1->GetNodeAt(X,Y);

  if ((tempTreeNode!=NULL)&&(Button==mbRight))
      PopupMenu1->Popup(Mouse->CursorPos.x,Mouse->CursorPos.y);
}

Na slican nacin sam probao da reshim i problem selekcije ali za sada bezuspesno.

Hvala unapred na pomoci!


Pozdrav!

tokajac 29. 09. 2007. 22:39

Dosao sam do resenja u medjuvremenu, pa ako je nekom potrebno:


Resenje za selekciju:

Kôd:

void __fastcall TForm1::TreeView1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  if ( Button == mbRight )
  {
      TTreeView *pTreeView = static_cast<TTreeView*>( Sender );
      if ( pTreeView )
      {
          THitTests HT;
          HT = pTreeView->GetHitTestInfoAt( X,Y );
          if ( HT.Contains( htOnItem ) )
            pTreeView->GetNodeAt( X,Y )->Selected = true;
      }
  }       
}

PopUp treba da se postavi u ObjectInspectoru (elegantnije je)


Vreme je GMT +2. Trenutno vreme je 12:08.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.