C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[9724] Re:Re:감사합니다. 해결되었습니다.
전백수 [moosoori20] 929 읽음    2001-08-09 14:47
kark .김성진 님이 쓰신 글 :
: 꼭 OnClick 이벤트에서 처리를 하셔야 하는지요..
:
: 그게 아니라면 간단하게 처리하는 방법이 있긴합니다.
:
: OnChange 이벤트에서요..
:
: void __fastcall TForm1::TreeView1Change(TObject *Sender, TTreeNode *Node)
: {
:    if(Node == NULL)
:       return;
:
:    ShowMessage(TreeView1->Selected->Text); // 여기에서 DB 처리해주시면 되겠죠..
:                                            // Node->Text ...
: }
:
: 이렇게 하면 되긴합니다.
:
: 클릭 순간에 이미 선택 여부를 떠나서 이전 아이템이 먼저 선택이 되어 있습니다.
:
: OnMouseUp이나 다른 부분에서
:
: TreeView1->Selected->Selected = false;
:
: 하셔서 선택을 해제 시켜 버릴 수도 있으나,
:
: 이렇게 하시면 OnClick 하는 순간에
:
: if(TreeView1->Selected == NULL)
:    return;
:
: 이라는 안전코드를 넣어도 무의미해지죠.
:
: 그리고 전백수님이 올리신 코드처럼 마우스 포지션으로 찾을 수 도 있으나..
:
: 고려해야 할게 많아서..좀..그렇네요..
:
: 도움이 되었길 바랍니다.
:
:
: 전백수 님이 쓰신 글 :
: : 트리뷰의 아이템이아닌 트리뷰의 빈공간에 클릭을 해도 아이템과 연결된 데이타베이스의 링크로 연결되는 문제때문에
: :  도움을 요청했더니 어떤분(Free0210)께서 알려주신대로 아래와같이 코딩을 했습니다.
: :
: : 그런데  알려주신데로 했더니 빈영역에 클릭을 하면 사이트로 이동하는
: : 현상은 사라졌지만 트리뷰 아이콘들중에서 위에서부터 차례로 몇개만 클릭을 인식을 합니다.
: : 아래에 있는 아이콘들은 클릭을 감지하지 못합니다.
: :
: : 혹시 영역설정이 잘못되어서 그런건지 제가 초보라서 잘모르겠군요.
: :
: : procedure TMainForm.FavoritesTreeViewClick(Sender: TObject);
: : var i:integer;  TViewTest : THitTests;  MousePt : TPoint;  label TheEnd2;
: : begin
: : Try
: : if MainForm.FavoritesTreeView.Selected = nil then Goto theend2;
: : GetCursorPos(MousePt);
: : MousePt   := ScreenToClient(MousePt);
: : TViewTest := MainForm.FavoritesTreeView.GetHitTestInfoAt(MousePt.X - MainForm.FavoritesTreeView.Left,MousePt.Y - MainForm.FavoritesTreeView.Top);
: : if (htOnButton in TViewTest) then Goto theend2;
: : if not (htOnItem in TViewTest) then Goto theend2;
: :
: :
: :        with MainForm.FavoritesTreeview.Selected do
: :        begin
: :        FavoritesTreeView_OldSelectnode:=MainForm.FavoritesTreeView.selected.Text;
: :        if MainForm.FavoritesTreeview.Selected.imageindex <> 0 then
: :           begin
: :                Click_str_site:=MainForm.FavoritesTreeview.Selected.Text;
: : MainForm.BoardBrowser1.Navigate(SiteToTable_Search(MainForm.FavoritesTreeview.Selected.Text,'siteaddress'));
: :            end;
: :        end;
: : TheEnd2:
: : except
: : end;           
: : end;

+ -

관련 글 리스트
9698 [질문]트리뷰의 빈공간을 클릭해도 아이템을 클릭한 효과가 납니다. 전백수 819 2001/08/09
9708     Re:[질문]트리뷰의 빈공간을 클릭해도 아이템을 클릭한 효과가 납니다. kark .김성진 933 2001/08/09
9724         Re:Re:감사합니다. 해결되었습니다. 전백수 929 2001/08/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.