Q&A

  • 동적으로 생성된 버튼을 스크롤박스위로 올리려면?
마우스로 클릭했을때 버튼이 스크롤박스위에 동적으로 생성되도록 할려고 하거든요.

근데 버튼이 스크롤박스 위로 올라오지를 않는군요

패널도 비슷할거 같은데, 그냥 버튼 콤포넌트를 패널이나 스크롤박스 위에 찍으면 그 위에

생기는데, 동적으로 할때는 안생기네요

버튼콤포넌트가 스크롤박스위에 있지도 않고...

어떻게 해야 하나요?

미리 감사.

3  COMMENTS
  • Profile
    강지영 1999.04.23 00:51
    구창민님의 홈페이지 팁/강좌란에서 읽은 팁입니다.

    실행을 하니까 그리드의 타이틀을 클릭하는 대로 쿼리가 sorting되었습니다.

    그런데 문제는.. 제가 만든 테이블로 실행을 하면 타이틀을 클릭할때마다

    sorting이 되기는 되는데 결과문은 전혀 변함이 없었습니다.

    원인을 분석해 보려고 하지만 중간의



    procedure TForm1.DBGrid1TitleClick(Column: TColumn);

    begin

    Query1.SQL[1] := Column.FieldName;

    Query1.Close;

    Query1.Open;

    end;



    부분에서 SQL[1]이 무엇을 가르키는 것인지 모르겠습니다.

    꼭 좀 알려주세요.

    부탁드립니다.







    [팁]DBGrid에서 컬럼 헤더의 클릭에 따른 인덱스키

    DBGrid에서 컬럼 헤더의 클릭에 따른 인덱스키

    윈도우 탐색기나 찾기(파일, 컴퓨터)를 통해 볼 수 있는 결과 자료에서 각 컬럼의 필드 헤더를 클릭하는

    것에 따라 그 컬럼 필드를 기준으로 정렬되는 것을 볼 수 있는데, 이것을 단지 윈도우 95의 기능이라고

    지나치면 안된다. 우리가 사용자에게 데이터를 보여주는 형식도 이와 거의 유사하기 때문에 이러한 기능

    은 매우 효과적이면서, 실무자들에게도 유용한 기능이 될 수 있다. 구현 방법은 델파이 3.0에서 추가된

    컬럼 헤더의 클릭 이벤트로 쉽게 처리할 수 있는데, 사용자가 모든 필드를 대상으로 인덱스를 요구할 것

    이므로 동적인 인덱스키를 지정하는 방법보다는 간단히 SQL문의 ORDER BY를 사용하는 것이 더 좋을 것

    같다. 다음은 DBDEMOS 알리아스에 있는 CUSTOMER 테이블로 데모를 만든 것이다.



    procedure TForm1.FormCreate(Sender: TObject);

    begin

    DBGrid1.Options := [dgTitles,dgIndicator,dgColLines,

    dgRowLines,dgTabs,dgConfirmDelete,dgCancelOnExit];

    end;



    procedure TForm1.DBGrid1TitleClick(Column: TColumn);

    begin

    Query1.SQL[1] := Column.FieldName;

    Query1.Close;

    Query1.Open;

    end;



    procedure TForm1.FormShow(Sender: TObject);

    begin

    with Query1 do begin

    Close;

    SQL.Clear;

    SQL.Add('SELECT * FROM CUSTOMER ORDER BY ');

    SQL.Add('CUSTNO');

    Open;

    end;

    end;





  • Profile
    신인재 1999.07.05 21:15
    Parent 프로퍼티를 설정하셔야 합니다.

    아래와 같이

    MyBtn.Parent := ScrollBox1;



    서경철 께서 말씀하시기를...

    > 마우스로 클릭했을때 버튼이 스크롤박스위에 동적으로 생성되도록 할려고 하거든요.

    > 근데 버튼이 스크롤박스 위로 올라오지를 않는군요

    > 패널도 비슷할거 같은데, 그냥 버튼 콤포넌트를 패널이나 스크롤박스 위에 찍으면 그 위에

    > 생기는데, 동적으로 할때는 안생기네요

    > 버튼콤포넌트가 스크롤박스위에 있지도 않고...

    > 어떻게 해야 하나요?

    > 미리 감사.





  • Profile
    배리스 1999.04.23 17:51
    안녕하세요. 강지영씨..

    오늘은 날씨가 별로 좋지 않네요. 하지만 이런 날씨가 더 좋은것 같습니다.

    왜냐하면 어제는 너무 더웠거든요. 닭병 걸려서 고생이 이만 저만이 아닙니다.



    구창민님의 소스를 토대로 ....

    procedure TForm1.DBGrid1TitleClick(Column: TColumn);

    begin

    Query1.SQL[1] := Column.FieldName;

    Query1.Close;

    Query1.Open;

    end;



    procedure TForm1.FormShow(Sender: TObject);

    begin

    with Query1 do begin

    Close;

    SQL.Clear;

    SQL.Add('SELECT * FROM CUSTOMER ORDER BY ');

    SQL.Add('CUSTNO');

    Open;

    end;

    end;



    위소스에서 보면 FormShow에서 SQL문장을 만들었는데 만드는 방법을 보면

    알 수 있듯이 Add를 두번 쓰잖아요. 그러면 그게 SQL[0], SQL[1] 으로 들어

    가게 되는 것입니다. 물론 세번 쓰면 SQL[2]에 들어 가겠죠 ...

    그래서 Title을 누를 경우 필드명많 교체하는 것이지요.

    당연히 필드명만 교체하면 해당 필드별로 소트가 가능 하구요...





    그럼 즐거운 하루가 되세요.....









    강지영 wrote:

    > 구창민님의 홈페이지 팁/강좌란에서 읽은 팁입니다.

    > 실행을 하니까 그리드의 타이틀을 클릭하는 대로 쿼리가 sorting되었습니다.

    > 그런데 문제는.. 제가 만든 테이블로 실행을 하면 타이틀을 클릭할때마다

    > sorting이 되기는 되는데 결과문은 전혀 변함이 없었습니다.

    > 원인을 분석해 보려고 하지만 중간의

    >

    > procedure TForm1.DBGrid1TitleClick(Column: TColumn);

    > begin

    > Query1.SQL[1] := Column.FieldName;

    > Query1.Close;

    > Query1.Open;

    > end;

    >

    > 부분에서 SQL[1]이 무엇을 가르키는 것인지 모르겠습니다.

    > 꼭 좀 알려주세요.

    > 부탁드립니다.

    >

    >

    >

    > [팁]DBGrid에서 컬럼 헤더의 클릭에 따른 인덱스키

    > DBGrid에서 컬럼 헤더의 클릭에 따른 인덱스키

    > 윈도우 탐색기나 찾기(파일, 컴퓨터)를 통해 볼 수 있는 결과 자료에서 각 컬럼의 필드 헤더를 클릭하는

    > 것에 따라 그 컬럼 필드를 기준으로 정렬되는 것을 볼 수 있는데, 이것을 단지 윈도우 95의 기능이라고

    > 지나치면 안된다. 우리가 사용자에게 데이터를 보여주는 형식도 이와 거의 유사하기 때문에 이러한 기능

    > 은 매우 효과적이면서, 실무자들에게도 유용한 기능이 될 수 있다. 구현 방법은 델파이 3.0에서 추가된

    > 컬럼 헤더의 클릭 이벤트로 쉽게 처리할 수 있는데, 사용자가 모든 필드를 대상으로 인덱스를 요구할 것

    > 이므로 동적인 인덱스키를 지정하는 방법보다는 간단히 SQL문의 ORDER BY를 사용하는 것이 더 좋을 것

    > 같다. 다음은 DBDEMOS 알리아스에 있는 CUSTOMER 테이블로 데모를 만든 것이다.

    >

    > procedure TForm1.FormCreate(Sender: TObject);

    > begin

    > DBGrid1.Options := [dgTitles,dgIndicator,dgColLines,

    > dgRowLines,dgTabs,dgConfirmDelete,dgCancelOnExit];

    > end;

    >

    > procedure TForm1.DBGrid1TitleClick(Column: TColumn);

    > begin

    > Query1.SQL[1] := Column.FieldName;

    > Query1.Close;

    > Query1.Open;

    > end;

    >

    > procedure TForm1.FormShow(Sender: TObject);

    > begin

    > with Query1 do begin

    > Close;

    > SQL.Clear;

    > SQL.Add('SELECT * FROM CUSTOMER ORDER BY ');

    > SQL.Add('CUSTNO');

    > Open;

    > end;

    > end;

    >

    >





    • 공대규
    • 1999.04.23 22:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.23 23:23
      공대규 wrote: > 안녕하십니까요? > > PaintBox에 Image1.canvas를 카피하려 할 때, 에러가 납니다. >...
    • 곽승주
    • 1999.07.06 00:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 그냥
      1999.07.06 02:09
      곽승주 께서 말씀하시기를... > Edit콘트롤에 KeyPress이벤트를 걸러두고 그안에서 엔터키(#13)가 > 눌려...
    • 공대규
    • 1999.04.23 22:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.23 23:23
      공대규 wrote: > 안녕하십니까요? > > PaintBox에 Image1.canvas를 카피하려 할 때, 에러가 납니다. >...
    • 그냥
      1999.07.06 02:03
      답이 아닌거 같긴한데... 제가 아는한 TQuery는 filer를 하지 않아도 Sql문에 그냥 조건절(where)를 사...
    • 이상준
    • 1999.04.23 18:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.04.23 21:07
      이상준 wrote: > 윈도95의 바탕화면에 있는 네트워크 환경처럼 LAN으로 연결된 컴퓨터들의 > 컴퓨터 이름...
    • 고광준
      1999.07.05 23:06
      Unix Server와 PC와 UDP Socket을 써서 통신을 하려고 합니다. 근데 Unix Server에서 Port를 입력할때 hto...
    • 김영대
      1999.07.05 23:50
      고광준 께서 말씀하시기를... > Unix Server와 PC와 UDP Socket을 써서 통신을 하려고 합니다. > 근데 Un...
    • 이민병
    • 1999.04.23 19:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김경수
      1999.04.24 05:06
      안녕하세요 김경수라는 사람입니다. 전 nt용 오라클8하구 델파이4랑 해봤는데 뭐 같은내용이겠지요.. 오...
    • camplus
    • 1999.07.05 22:46
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최석기
    • 1999.07.05 21:46
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이상준
      1999.04.23 18:51
      윈도95의 바탕화면에 있는 네트워크 환경처럼 LAN으로 연결된 컴퓨터들의 컴퓨터 이름을 읽어오는 방법을 ...
    • 김영대
      1999.04.23 21:07
      이상준 wrote: > 윈도95의 바탕화면에 있는 네트워크 환경처럼 LAN으로 연결된 컴퓨터들의 > 컴퓨터 이름...
    • 임윤경
    • 1999.04.23 00:54
    • 2 COMMENTS
    • /
    • 0 LIKES
    • Jimmy
      1999.07.05 21:11
      안녕하세요... 회계관련 프로그램인데...두 테이블에 '잔액'이라는 필드가 있습니다. 이걸 계산해야 하는...
    • 김영대
      1999.04.23 18:23
      임윤경 wrote: > 제가 김영대씨 홈페이지에서 받은 FTP서버의 파일을 PC로 다운로드하는 소스에 보면, rec...
    • bisbuck
    • 1999.07.05 20:58
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 1999.07.05 20:27
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이현아
      1999.04.23 03:04
      안녕하세요! 저는 이제 막 델파이 공부를 하는 직장인입니다. 다름이 아니구요! Edit박스로 성명...
    • 송기원
      1999.07.06 18:10
      EdbEngineError 의 errors[index].errorcode 또는 errors[index].NativeError를 참조하면 될거 같은데.. ...
    • 김영대
      1999.04.23 18:04
      이현아 wrote: > 안녕하세요! > 저는 이제 막 델파이 공부를 하는 직장인입니다. > 다름이 아니구요! >...
    • 이현아
      1999.04.24 16:43
      김영대 wrote: > 이현아 wrote: > > 안녕하세요! > > 저는 이제 막 델파이 공부를 하는 직장인입니다. ...
    • 서경철
    • 1999.07.05 20:27
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 강지영
      1999.04.23 00:51
      구창민님의 홈페이지 팁/강좌란에서 읽은 팁입니다. 실행을 하니까 그리드의 타이틀을 클릭하는 대로 쿼리...
    • 신인재
      1999.07.05 21:15
      Parent 프로퍼티를 설정하셔야 합니다. 아래와 같이 MyBtn.Parent := ScrollBox1; 서경철 께서 말씀...
    • 배리스
      1999.04.23 17:51
      안녕하세요. 강지영씨.. 오늘은 날씨가 별로 좋지 않네요. 하지만 이런 날씨가 더 좋은것 같습니다. 왜냐...
    • 김형하
    • 1999.04.22 20:25
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 레드맨
      1999.07.05 20:00
      델파이를처음 시작하려고 합니다. 뭐부터시작 해야할지? 자세히설명해주세요!!!부탁합니다.....
    • 이정욱
      1999.04.23 07:10
      네.. 저희도 통신 프로그램의 터미널을 만들때 부딪혔던 문제입니다. 프린터같은 경우면 간단하게 LineTo...
    • 배리스
    • 1999.04.23 06:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.04.23 07:08
      파워러브 델파이 창간호의 일부 입니다~ 1. 현재 라인번호 알아내기 메모에서 현재 Caret이 위치하...
    • 문창완
    • 1999.04.23 05:16
    • 4 COMMENTS
    • /
    • 0 LIKES
    • Endy
      1999.07.05 19:19
      저는 MS-SQL7.0을 사용합니다. Delphi에서 StoreProcedure를 실행하면 BDE Engine Error가 발생 합니다. 물...
    • 이정욱
      1999.04.23 07:03
      참.. 혹시 검색엔진이 야후같은것을 말씀하신것이라면 기본개념은 이렇습니다. 별것 아니죠. 데이타 베...
    • 조복기
      1999.07.05 19:54
      Endy 께서 말씀하시기를... > 저는 MS-SQL7.0을 사용합니다. Delphi에서 StoreProcedure를 실행하면 BDE E...
    • 이정욱
      1999.04.23 07:01
      그냥 참고만 하세요~ http://www.nobreak.com 에 가시면 CrazySearch라는것이 있습니다. 그것의 소스를 ...