Q&A

  • treeview에서 아이템 추가하기
제가 워나기 초보라..
질문이 있어여..
다름이 아니라..
treeview에서 그 아이템을 클릭하면 child 아템을 추가할려구 하는데여..
그럴러면 Treeview.Items.Addchild(Treeview1.selected,'까꿍') 이렇게 하면 돼는데여..그러면 따로 procedure를 만들어져야 하져..완전히 독립적으로..즉,
다른 이벤트에 영향을 받지않고 아이템을 클릭하면 자식노드를 추가할려면여..
아님 Treeview는 어떤 이벤트 procedure에도 영향을 받지않고 어떤 event procedure에 있더라도 item을 클릭하면 child아이템을 추가할수 있나여 ?

3  COMMENTS
  • Profile
    나옹이 2002.08.19 11:36
    질문 내용이 점 이해가 가질 않네요....

    그냥 단순히 Treeview 에 각 아이템을 클리가면

    해당 아이템의 자식노드를 생성 하고 싶다는 말씀인가요?

  • Profile
    김헌대 2002.08.20 23:52
    딴질문할께여.

    임의의 버튼명을 알수 있을까요 ?
    즉, a,b,c,d버튼이 있다고 할때 a버튼을 눌렀을때 a 명령을 b 버튼을 눌렀을때 b 명령을 실행할려고 하는데요..
    물론 같은 procedure에서요..
    이렇게 하면 procedure를 줄일수 있을거 같아서요..
    그리고 오른쪽 마우스를 누르면 트리에 서버아이템을 추가할려명 어캐해여 ?
    그럼..
  • Profile
    하늘벌레 2002.08.21 00:32
    저도 질문에 의도를 잘모르겠눼요..

    a,b,c 버튼은 각각에 대한 이벤트가 있으므로


    이내용은 버튼 클릭이벤트에 주고 자븐 명령을 주시면되겠지요..

    글고 버튼명은

    showmessage(버튼명.name); 로 확인해보세요 ^^;

    또 버튼 클릭이벤트에 showmessage((sender as Tbutton).name);
    이렇게 하시면 클릭하신 버튼에 이름을 확인하실수 있으실껍니다.



    이내용은 마우스다운 이벤트에 아이템 추가 명령을 주심 되겠네요 아래처럼요
    ㅡ,.aㅡ

    procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);

    begin

    if (Button= mbRight) then
      ShowMessage('오른쪽 버튼을 누렀따');
    end;



    그리고 참고가 될지 모르지만 밑에 내용을 보심 기초가 되실껍니다.
    어렵다 생각마시고 이해해보세요.



    델파이 컴포넌트 변수 처럼쓰는 방법

    컴퍼넌트마다 일일이 문자를 바꾸어야 하는경우에 한번에 바꿀수 있게 해주는 알고리즘입니다.

    예를들어
    label1.caption:='안영';
    label2.caption:='안영123';
    label3.caption:='안영123';
    label4.caption:='안영3';
    label5.caption:='안영334';
    label6.caption:='안2131영';
    label7.caption:='12313안영';
    label8.caption:='안1231영';
    label9.caption:='안1231영';
    label10.caption:='안42342영';
    label11.caption:='안영234234';
    label12.caption:='안234234영';
    label13.caption:='안영2342';
    ........................

    이렇게 넣으려고 하는데요..
    얼마나 짜증나는 일입니까?

    label+번호.caption:=문자열;

    이런구조이면 for문을 돌려 한번에 가능하지요..

    이런구조를 만들어서 사용할수 있게 해주는 방법입니다.

    프로그램 구조가 매우 간단해지며 눈으로도 보기 쉽게 일일이 나열하지 않아도 되므로 ..

    적용할수 있는 곳이 많이 있으리라 봅니다.



    function TForm1.compno(comp:string;no:integer):integer;
    var
    i,op:integer;
    tt:tcomponent;
    comp1: TComponent;
    begin
    comp1 := findcomponent(comp+inttostr(no));
    op:=-1;
    for i:=0 to componentcount-1 do begin
    Tt := Components[I];
    if tt=comp1 then begin op:=i; break; end;
    end;
    result:=op;
    end;

    // 예제.. button1...button10에 변수로 설정하여 captio에 문자에 1부터 10까지 쓰려면
    procedure TForm1.Button4Click(Sender: TObject);
    var
    i,j:integer;
    temp:TComponent;
    begin
    for j:=1 to 10 do begin
    i:=compno('button',j); // -1이면 컴퍼넌트가 존재하지 않는다.
    if i<>-1 then begin // 이 조건문은 틀림없이 넣어야 한다.
    Temp := Components[i];
    (Temp as tbutton).Caption:=inttostr(j);
    end;
    end;
    end;
    • 랜드빈
    • 2002.08.19 21:34
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김규홍
      2002.08.21 00:57
      어플리케이션으로 넘겨진 파라미터는 ParamCount 함수와 ParamStr 함수를 이용하시면 확인하실 수 있습...
    • jslove
    • 2002.08.19 20:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김규홍
      2002.08.19 21:12
      델파이 헬프의 ShowModal Example을 참조하세요. LogInFrm.ShowModal = mrCancle then 으로 확인하시...
    • 김지영
    • 2002.08.19 19:48
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 레드미
    • 2002.08.19 19:39
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.08.19 19:29
      hsr////////////////////////////////////////////////////////////// 처음 메모의 문자열에서 엔터나 공...
    • 김종화
      2002.08.19 19:28
      메모에디트에서 한라인씩 읽어 들여서 처리하시나 본데요.. 그걸.. 한라인 읽어들인후에 마지막에 '...
    • 김헌대
    • 2002.08.19 11:16
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 나옹이
      2002.08.19 11:36
      질문 내용이 점 이해가 가질 않네요.... 그냥 단순히 Treeview 에 각 아이템을 클리가면 해당 아이템...
    • 김헌대
      2002.08.20 23:52
      딴질문할께여. 임의의 버튼명을 알수 있을까요 ? 즉, a,b,c,d버튼이 있다고 할때 a버튼을 눌렀을때 a ...
    • 하늘벌레
      2002.08.21 00:32
      저도 질문에 의도를 잘모르겠눼요.. a,b,c 버튼은 각각에 대한 이벤트가 있으므로 이내용은 버튼 ...
    • 양행진
      2002.08.19 21:14
      delphi help 예제를 변경한 것임(loadcursor->loadimage) const      ...
    • KDDG_Jo
      2002.08.21 01:57
      제가 해보니까 이상이 없네여 ^^; image.refresh 를 한번 해보세여
    • 정오균
    • 2002.08.19 07:57
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이준해
      2002.08.19 08:13
      에러가 발생하는 부분의 소스를 같이 올려보시지요. 이런경우에 에러가 발생하기도 합니다. 문자열이 포...
    • 정오균
      2002.08.19 08:32
      답변 감사합니다.   이준해  님..... 혹시나 해서 델파이6 서비스팩 2를 다시 실행...
    • 김헌대
    • 2002.08.19 07:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 2002.08.19 08:10
      델파이는 디버깅 환경이 좋아서, 그렇게 일일이 ShowMessage를 해보지 않아도 되는데,... 그냥 Break를 걸...
    • 김헌대
      2002.08.20 23:55
      Watchwindow사용법점 알켜줘여.. 가령 155번째 라인에서 에러가 난다면 어떻게 해야 해여 ? 제가 책이 없...
    • 나옹이
    • 2002.08.19 06:24
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김종화
      2002.08.19 19:11
      스페이스를 기준으로 한 단어씩 쪼개구.. 그 쪼갠걸 기준으로 from 과 Where 문 사이에 있는것만 추출...
    • 소리새
    • 2002.08.18 19:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김종화
      2002.08.19 19:19
      function CharCount(in_str, in_char : string) : integer; var i : integer; begin   ...
    • cho jin woo
    • 2002.08.18 12:08
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 양상훈
      2002.08.18 18:22
      Torry 홈피에 있는 팁입니다. uses NB30; function GetMACAdress: string; var   NCB: P...
    • 임승범
      2002.12.13 22:39
      결과값이 틀리내요... 제 PC에서 ipconfig / all 로 본 바로는   00-E0-29-8D-5D-B7 인...
    • 이경문
      2002.08.18 12:49
      제가 찾아본 봐로는 관련 API가 없는 것으로 알고 있습니다. 더우기 랜카드가 여러장 설치되어 있을 때는 ...
    • 박완수
    • 2002.08.18 01:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 맑은물
      2002.08.18 07:31
      database 라는 컴포넌트가 있습니다. 그기서 프로퍼티를 설정을 잡아주셔야지. 자동 로그인 이 되거든요....
    • 맑은물
    • 2002.08.18 01:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.08.24 18:54
      UpdateSQL 을 사용하셔서 Update 하시기 바랍니다.
    • 진정용
    • 2002.08.18 00:12
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이경문
      2002.08.18 04:50
      private나 public해도 컴파일할 때만 외부에서 참조가 되느냐 아니냐뿐 실행속도에는 아무런 관계가 없습...
    • 황준동
      2002.08.18 00:37
      속도나 용량과는 별 차이 없습니다.
    • 김헌대
    • 2002.08.17 23:55
    • 0 COMMENTS
    • /
    • 0 LIKES