Q&A

  • GridXLS 사용하시는분...
저는 GridXLS 라는 컴포넌트를 다운받아서

사용하려고 하니 어떻게 사용해야 하는지

잘 모르겠네요.



현재 사용하고 계신분이 있으시면,

간단히 사용법을 가르쳐주시면 감사하겠습니다.



Grid1의 내용을 GridEx.XLS로 옮긴다면,

어떻게 하는건지요.



참고로

이 컴포넌트에는 이벤트는 없고,

프로퍼티만 6개 있습니다.

4  COMMENTS
  • Profile
    OHJANG 1999.07.10 00:14
    질문은 다름아닌 SetActiveWindow에 대한 질문입니다.

    델파이1에서

    SetActiveWindow(Self.Handle);

    하게되면 내폼이 뒤에 가려져있어도 화면 맨 위로 올라와서 활성화 됩니다.

    그런데, 32Bit(델파이2,3,4:모두 테스트해봄)에서는 올라오지 않습니다...

    그져 버튼에 포커스가 가는 정도...



    제가 원하는 기능은 다음과 같습니다.



    그런데, 32Bit(델파이2,3,4:모두 테스트해봄)에서는 올라오지 않습니다...

    그져 버튼에 포커스가 가는 정도...

    제가 원하는 기능은 다음과 같습니다.

    타이머 이벤트에서 이벤트가 걸리면 자신의 폼이 화면 맨위로 올라와 키보드로 버튼을

    누를 수 있게 폼이 활성화되는 것입니다.

    제가 테스트하는 예는 다음과 같습니다.



    먼저 화면에 버튼과 타이머 컴포넌트를 올립니다.

    타이머에 Enabled를 False로 주고, Interval을 2000으로 설정합니다.

    그런다음 아래와 같이 코딩을 합니다..



    procedure TForm1.Timer1Timer(Sender: TObject);

    begin

    SetActiveWindow(Self.Handle); //이부분이 중요하겠죠?

    Timer1.Enabled := False;

    end;

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    Timer1.Enabled := True;

    end;



    실행시킨 뒤 버튼을 누른 후 2초후에 화면이 활성화되는 것이죠...

    물론 버튼을 누른후 2초내에 다른 폼을 활성화 시켜놔야 합니다...

    그래야 테스트가 될테니까요 ^^;

    여기서 제가 말하는 활성화라 함은 폼의 캡션(타이틀)바가 파란색으로

    나타나며 폼에있는 버튼을 키보드로 클릭할 수 있어야합니다.



    예전에 수많은 델파이전문가(?)들이 수많은 종류의 API를 동원해서

    테스트했지만 헛수고였습니다...



    암튼, 염치없는 부탁이지만... 말로만 답변하시지 마시고,

    테스트를 꼭 해보시고 답변을 해 주셨으면 좋겠습니다.

    굳이 테스트 할 시간이 없으면 제가 하겠으니 많은 답변 부탁드립니다...

  • Profile
    이정욱 1999.07.10 02:53
    SetForegroundWindow 함수를 사용해 보세요.



    OHJANG 께서 말씀하시기를...

    > 질문은 다름아닌 SetActiveWindow에 대한 질문입니다.

    > 델파이1에서

    > SetActiveWindow(Self.Handle);

    > 하게되면 내폼이 뒤에 가려져있어도 화면 맨 위로 올라와서 활성화 됩니다.

    > 그런데, 32Bit(델파이2,3,4:모두 테스트해봄)에서는 올라오지 않습니다...

    > 그져 버튼에 포커스가 가는 정도...

    >

    > 제가 원하는 기능은 다음과 같습니다.

    >

    > 그런데, 32Bit(델파이2,3,4:모두 테스트해봄)에서는 올라오지 않습니다...

    > 그져 버튼에 포커스가 가는 정도...

    > 제가 원하는 기능은 다음과 같습니다.

    > 타이머 이벤트에서 이벤트가 걸리면 자신의 폼이 화면 맨위로 올라와 키보드로 버튼을

    > 누를 수 있게 폼이 활성화되는 것입니다.

    > 제가 테스트하는 예는 다음과 같습니다.

    >

    > 먼저 화면에 버튼과 타이머 컴포넌트를 올립니다.

    > 타이머에 Enabled를 False로 주고, Interval을 2000으로 설정합니다.

    > 그런다음 아래와 같이 코딩을 합니다..

    >

    > procedure TForm1.Timer1Timer(Sender: TObject);

    > begin

    > SetActiveWindow(Self.Handle); //이부분이 중요하겠죠?

    > Timer1.Enabled := False;

    > end;

    > procedure TForm1.Button1Click(Sender: TObject);

    > begin

    > Timer1.Enabled := True;

    > end;

    >

    > 실행시킨 뒤 버튼을 누른 후 2초후에 화면이 활성화되는 것이죠...

    > 물론 버튼을 누른후 2초내에 다른 폼을 활성화 시켜놔야 합니다...

    > 그래야 테스트가 될테니까요 ^^;

    > 여기서 제가 말하는 활성화라 함은 폼의 캡션(타이틀)바가 파란색으로

    > 나타나며 폼에있는 버튼을 키보드로 클릭할 수 있어야합니다.

    >

    > 예전에 수많은 델파이전문가(?)들이 수많은 종류의 API를 동원해서

    > 테스트했지만 헛수고였습니다...

    >

    > 암튼, 염치없는 부탁이지만... 말로만 답변하시지 마시고,

    > 테스트를 꼭 해보시고 답변을 해 주셨으면 좋겠습니다.

    > 굳이 테스트 할 시간이 없으면 제가 하겠으니 많은 답변 부탁드립니다...





  • Profile
    OHJANG 1999.07.10 04:30
    제가 글에서 분명히 아래와 같이 밝혔거늘... 쩝...



    > 예전에 수많은 델파이전문가(?)들이 수많은 종류의 API를 동원해서

    > 테스트했지만 헛수고였습니다...



    우선 귀하의 빠른 답변에 감사드립니다...

    그러나 그 함수는 예전에 이미 테스트를 한 함수이며, 제가 말씀드린데로 동작하지 않습니다.



    실행해 보시면 아시겠지만 실행결과는 테스크바가 빰빡거리며, 화면의 버튼이 포커스를 가질뿐 화면 맨 앞으로도, 활성화도 되지 않습니다.



    이정욱 께서 말씀하시기를...

    > SetForegroundWindow 함수를 사용해 보세요.

    >

    > OHJANG 께서 말씀하시기를...

    > > 질문은 다름아닌 SetActiveWindow에 대한 질문입니다.

    > > 델파이1에서

    > > SetActiveWindow(Self.Handle);

    > > 하게되면 내폼이 뒤에 가려져있어도 화면 맨 위로 올라와서 활성화 됩니다.

    > > 그런데, 32Bit(델파이2,3,4:모두 테스트해봄)에서는 올라오지 않습니다...

    > > 그져 버튼에 포커스가 가는 정도...

    > >

    > > 제가 원하는 기능은 다음과 같습니다.

    > >

    > > 그런데, 32Bit(델파이2,3,4:모두 테스트해봄)에서는 올라오지 않습니다...

    > > 그져 버튼에 포커스가 가는 정도...

    > > 제가 원하는 기능은 다음과 같습니다.

    > > 타이머 이벤트에서 이벤트가 걸리면 자신의 폼이 화면 맨위로 올라와 키보드로 버튼을

    > > 누를 수 있게 폼이 활성화되는 것입니다.

    > > 제가 테스트하는 예는 다음과 같습니다.

    > >

    > > 먼저 화면에 버튼과 타이머 컴포넌트를 올립니다.

    > > 타이머에 Enabled를 False로 주고, Interval을 2000으로 설정합니다.

    > > 그런다음 아래와 같이 코딩을 합니다..

    > >

    > > procedure TForm1.Timer1Timer(Sender: TObject);

    > > begin

    > > SetActiveWindow(Self.Handle); //이부분이 중요하겠죠?

    > > Timer1.Enabled := False;

    > > end;

    > > procedure TForm1.Button1Click(Sender: TObject);

    > > begin

    > > Timer1.Enabled := True;

    > > end;

    > >

    > > 실행시킨 뒤 버튼을 누른 후 2초후에 화면이 활성화되는 것이죠...

    > > 물론 버튼을 누른후 2초내에 다른 폼을 활성화 시켜놔야 합니다...

    > > 그래야 테스트가 될테니까요 ^^;

    > > 여기서 제가 말하는 활성화라 함은 폼의 캡션(타이틀)바가 파란색으로

    > > 나타나며 폼에있는 버튼을 키보드로 클릭할 수 있어야합니다.

    > >

    > > 예전에 수많은 델파이전문가(?)들이 수많은 종류의 API를 동원해서

    > > 테스트했지만 헛수고였습니다...

    > >

    > > 암튼, 염치없는 부탁이지만... 말로만 답변하시지 마시고,

    > > 테스트를 꼭 해보시고 답변을 해 주셨으면 좋겠습니다.

    > > 굳이 테스트 할 시간이 없으면 제가 하겠으니 많은 답변 부탁드립니다...

    >

    >





  • Profile
    구창민 1999.07.10 11:53
    OHJANG 께서 말씀하시기를...

    > 제가 글에서 분명히 아래와 같이 밝혔거늘... 쩝...

    > 예전에 수많은 델파이전문가(?)들이 수많은 종류의 API를 동원해서

    > 테스트했지만 헛수고였습니다...



    OHJANG 님 안녕하세요?

    말씀하신 수많은 전문가들의 수많은 테스트 내용들은 어떤것들이었는지

    혹시 올려주실순 없는지요?

    수많은 전문가 님들이 테스트 했다는 내용을 참조하고 싶습니다.

    저는 지식이 짧아 아래와 같이 무식하게 프로그램 해 보니까

    기냐~~아앙 되네요..

    아래에 소스 올립니다.

    보시면 금방 이해되실 거구요.. 원하시는 대로 동작할겁니다.

    그럼..



    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls, ExtCtrls;



    type

    TForm1 = class(TForm)

    Button1: TButton;

    Timer1: TTimer;

    procedure Button1Click(Sender: TObject);

    procedure Timer1Timer(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form1: TForm1;



    implementation



    {$R *.DFM}



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    WinExec('notepad', SW_SHOWNORMAL);

    Timer1.Enabled := True;

    end;



    procedure TForm1.Timer1Timer(Sender: TObject);

    var Pt, OldPt : TPoint;

    begin

    GetCursorPos(OldPt);

    SetWindowPos(Handle, HWND_TOPMOST,

    Left, Top, Width, Height,

    SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);

    Application.ProcessMessages;

    Pt.x := (Button1.Left-10);

    Pt.y := (Button1.Top-10);

    Pt := ClientToScreen(Pt);

    Pt.x := Round(Pt.x * (65535 / Screen.Width));

    Pt.y := Round(Pt.y * (65535 / Screen.Height));

    Mouse_Event(MOUSEEVENTF_ABSOLUTE or

    MOUSEEVENTF_MOVE,

    Pt.x,

    Pt.y,

    0,

    0);

    Mouse_Event(MOUSEEVENTF_ABSOLUTE or

    MOUSEEVENTF_LEFTDOWN,

    Pt.x,

    Pt.y,

    0,

    0);;

    Mouse_Event(MOUSEEVENTF_ABSOLUTE or

    MOUSEEVENTF_LEFTUP,

    Pt.x,

    Pt.y,

    0,

    0);

    SetWindowPos(Form1.Handle, HWND_NOTOPMOST,

    Left, Top, Width, Height,

    0);

    SetCursorPos(OldPt.x, OldPt.y);

    Timer1.Enabled:=False;

    end;



    end.







    • 박종성
    • 1999.07.10 03:07
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이호선
      1999.04.29 06:02
      안녕하세요. 별다른 것은 없고요 현재 설정된 기본 프린트를 바꿀려하는데 바꿔도 이전설정된 프린트장치...
    • 김종호
      1999.07.12 09:59
      박종성 께서 말씀하시기를... > 안녕하세요! > 윈도우즈 탐색기에서 특정 화일을 선택하고 오른쪽 버튼을...
    • 이정욱
      1999.04.29 21:53
      제가 만든 기본프린터 바꾸는 함수 입니다. 참고하시구요... 이것은 프린터 이름의 일부만 넣어줘도 됩니...
    • 안치봉
      1999.04.29 07:10
      이호선 wrote: > 안녕하세요. > 별다른 것은 없고요 현재 설정된 기본 프린트를 바꿀려하는데 바꿔도 > ...
    • 이정욱
      1999.04.29 05:30
      인쇄루틴을 조금 보여주셔야 답을 찾을 수 있을것 같네요. 이호선 wrote: > 안녕하세요. > HP Laser...
    • 박성훈
    • 1999.07.10 02:17
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.07.10 02:56
      제가 이미 답변을 했던것 같은데요... 쩝.. TPrinter클래스는 윈도우의 Printer Driver를 이용합니다. ...
    • 델초보
    • 1999.07.10 01:31
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 권만섭
      1999.04.29 05:27
      여기에 자주 답변 올려주시는 많은 분들께 감사드리면서 저희가 주고객과 주고객의 고객(부고객)을 관리...
    • 정영호
      1999.04.30 07:28
      권만섭 wrote: > 여기에 자주 답변 올려주시는 많은 분들께 감사드리면서 > > 저희가 주고객과 주고객...
    • 안치봉
      1999.04.29 03:38
      장아무개 wrote: > DBGrid name : printer_DBGrid 이고요 > > properties 중에 options 라는 항목 있습...
    • OHJANG
    • 1999.07.10 00:24
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 이호선
      1999.04.29 02:07
      안녕하세요. HP Laserjet프린트기가 현재 기본 프린터기로 설정되있고 프로그램중 PrintSetupDialog에서 ...
    • 이정욱
      1999.07.10 02:54
      Image안에있는 Picture.Bitmap.Canvas의 크기를 늘려주어야 합니다. 즉, Image.Picture.Bitmap.Canvas.H...
    • 이정욱
      1999.04.29 05:30
      인쇄루틴을 조금 보여주셔야 답을 찾을 수 있을것 같네요. 이호선 wrote: > 안녕하세요. > HP Laser...
    • OHJANG
      1999.07.10 04:35
      우선 귀하의 빠른 답변에 감사드립니다... 그러나~~ T.T 말씀하신데로 아래와 같이 이미지의 Bitmap의 ...
    • 이정욱
      1999.07.10 06:07
      Canvas가 빠졌습니다..쩝.. Image1.Picture.Bitmap,Canvas.Width 입니다. OHJANG 께서 말씀하시기를....
    • 안치봉
      1999.04.29 03:38
      장아무개 wrote: > DBGrid name : printer_DBGrid 이고요 > > properties 중에 options 라는 항목 있습...
    • Faster
    • 1999.04.29 00:23
    • 4 COMMENTS
    • /
    • 0 LIKES
    • OHJANG
      1999.07.10 00:14
      질문은 다름아닌 SetActiveWindow에 대한 질문입니다. 델파이1에서 SetActiveWindow(Self.Handle); ...
    • 이정욱
      1999.07.10 02:53
      SetForegroundWindow 함수를 사용해 보세요. OHJANG 께서 말씀하시기를... > 질문은 다름아닌 SetActiv...
    • OHJANG
      1999.07.10 04:30
      제가 글에서 분명히 아래와 같이 밝혔거늘... 쩝... > 예전에 수많은 델파이전문가(?)들이 수많은 종류...
    • 구창민
      1999.07.10 11:53
      OHJANG 께서 말씀하시기를... > 제가 글에서 분명히 아래와 같이 밝혔거늘... 쩝... > 예전에 수많은 델...
    • 1999.07.09 23:42
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 1999.07.09 23:34
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이호선
    • 1999.04.28 09:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.04.28 21:33
      이호선 wrote: > 안녕하세요. > 한 폼에서 프린트가 끝난상태를 알고 폼을 닫을려 합니다. > 프린트가 ...
    • 문창완
      1999.07.09 23:11
      이런 질문 올려도 되는지는 모르지만..죄송... 아이비엠피시 의 프로그램을 맥으로 포팅(맥프로그램으...
    • 이정욱
      1999.07.10 02:51
      C로 되어있다면 맥용 C를 구해서 맥용 OS에 맞는 API들로 변환을 한 후 재 컴파일 해야 합니다. 델파이로 ...
    • Heaven
    • 1999.04.28 17:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • rain
      1999.04.28 20:48
      음..제 개인적인 의견으로는 table 컴퍼넌트 보다는 query 컴퍼넌트를 사용하시는게 더욱 나을것 같습니다....
    • 유민호
    • 1999.07.09 21:16
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이호선
      1999.04.28 09:40
      안녕하세요. 일반 Control들의 Drag&Drop은 어떻게 해야 하는지 궁금합니다. 예를들면 Tab Control을 Dra...
    • 신인재
      1999.04.28 20:12
      이호선 wrote: > 안녕하세요. > 일반 Control들의 Drag&Drop은 어떻게 해야 하는지 궁금합니다. > 예를...
    • 이일수
    • 1999.07.09 20:34
    • 3 COMMENTS
    • /
    • 0 LIKES
    • Heaven
      1999.04.28 17:33
      안녕하세요? 프로그램 개발중에 잘 안되는 것이 있어 이렇게 질문을 드립니다. 현재 데이타베이스 관...
    • 이정욱
      1999.07.10 02:58
      델파이에있는 ServerSocket은 다중연결을 지원합니다. 메모리가 허용하는 범위내에서 말이죠. 그리고 ...
    • rain
      1999.04.28 20:48
      음..제 개인적인 의견으로는 table 컴퍼넌트 보다는 query 컴퍼넌트를 사용하시는게 더욱 나을것 같습니다....
    • 심주성
    • 1999.04.26 05:39
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 1999.07.09 20:23
      프로그램을 실행 중 어떤 Item Menu를 Click을 하는 순간에 Name을 가져오는 방법을 가르쳐 주세요.
    • 안치봉
      1999.04.26 19:30
      심주성 wrote: > > 안녕하세요. 완전프로그래밍 초짜입니다. > > delphi4.0을 해볼려구 함 깔아...
    • 조복기
      1999.07.09 20:46
      정 께서 말씀하시기를... > 프로그램을 실행 중 어떤 Item Menu를 Click을 하는 순간에 Name을 > 가져오...
    • 심주성
      1999.04.28 09:40
      안치봉 wrote: > > 안녕하세요. > > 잘은 모르겠지만 델파이4가 일부 그래픽카드와 충돌한다는 설도 ...