Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
Stringgrid에서 Scrollbar의 검색...
Stringgrid에 있는 Scrollbar를 조작했을때 현재 조작되고 있는
것이 수평인지 수직인지를 어떻게 검색하죠?
수평일때와 수직일때 다른 작업을 하고 싶거든요..
한수 부탁드립니다....
1
COMMENTS
최석기
•
2000.08.26 03:37
전문성 wrote:
> Stringgrid에 있는 Scrollbar를 조작했을때 현재 조작되고 있는
> 것이 수평인지 수직인지를 어떻게 검색하죠?
> 수평일때와 수직일때 다른 작업을 하고 싶거든요..
>
> 한수 부탁드립니다....
안녕하세요.. ^^
델파이세상(http://www.freechal.com/delphiworld)에 최석기 입니다..
어떤 일때문인지는 모르겠지만
StringGrid에 WindowProc를 바꿔치기하면 될꺼 같네요.
다음 소스 참고하세요..
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids;
type
{$IFDEF WIN32}
WParameter = LongInt;
{$ELSE}
WParameter = Word;
{$ENDIF}
LParameter = LongInt;
TForm1 = class(TForm)
StringGrid1: TStringGrid;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
OldWindowProc : Pointer;
implementation
{$R *.DFM}
function NewWindowProc(WindowHandle : hWnd;
TheMessage : WParameter;
ParamW : WParameter;
ParamL : LParameter) : LongInt
{$IFDEF WIN32} stdcall; {$ELSE} ; export; {$ENDIF}
begin
if TheMessage = WM_VSCROLL then begin
ShowMessage('수직');
end;
if TheMessage = WM_HSCROLL then begin
ShowMessage('수평');
end;
NewWindowProc := CallWindowProc(OldWindowProc,
WindowHandle,
TheMessage,
ParamW,
ParamL);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
OldWindowProc := Pointer(SetWindowLong(StringGrid1.Handle,
GWL_WNDPROC,
LongInt(@NewWindowProc)));
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
SetWindowLong(StringGrid1.Handle,
GWL_WNDPROC,
LongInt(OldWindowProc));
end;
end.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
김종화
•
2000.08.26 21:26
1
COMMENTS
/
0
LIKES
ADO를 이용해서 Access 에서 만든 DB 연결에 관해서
이선경
•
2000.08.26 23:03
김종화 wrote: > 제가 Access로 만든 DB에 패스워드를 걸고 프로그램상에서 접근을 하려고하는데요 > >...
푸하하
•
2000.08.26 21:24
1
COMMENTS
/
0
LIKES
string형을 datetime형으로 어떻게 바꾸나요?
최석기
•
2000.08.26 21:34
푸하하 wrote: > string형으로 자료 입력한 것을 datetime형으로 바꾸어 계산후 데이터 필드에 저장하려합...
류응철
2000.08.26 21:57
0
COMMENTS
/
0
LIKES
특정 프로그램과의 파일과의 연결
김용민
•
2000.08.26 20:46
1
COMMENTS
/
0
LIKES
메모리 문제(소스포함.) FreeMem을 사용해야할 때?
최용일
•
2000.08.27 00:37
안녕하세요. 델파이세상(http://www.freechal.com/delphiworld)의 최용일입니다. 조금 이상하군요.... G...
jeunet
•
2000.08.26 20:05
1
COMMENTS
/
0
LIKES
delphi3에서 사용하는 라이브러리 파일을 delphi1에서 쓰기
최용일
•
2000.08.27 00:05
안녕하세요. 최용일입니다. 아직도 Windows 3.1을 지원하는 곳이 있는가 보군요... 결코 불가능한 일...
델초
•
2000.08.26 20:00
1
COMMENTS
/
0
LIKES
[dbgrid] 현재의 레코드 하나만 인쇄 ?
김일병
•
2000.08.26 20:34
델초 wrote: > 안녕하세요...또 질문합니다... > dbgrid와 query를 연결하였는데, > 불러온 레코드중 현...
델초보
•
2000.08.26 19:55
1
COMMENTS
/
0
LIKES
RGB 칼라 값...
지영근
•
2000.08.26 20:08
델초보 wrote: > 혹시 프로퍼티에 Color 있자나여... > > clBtnFace ... RGB Color 값 아시는 분 계시...
류응철
•
2000.08.26 19:48
3
COMMENTS
/
0
LIKES
InstallShield Professional5.5 에서 시작->프로그램에 이미지를..
이은정
•
2000.08.26 20:54
류응철 wrote: > 인스톨쉴드 프로페셔날 5.5에서 인스톨후에 시작->프로그램에 이미지를 넣을 수 없는지...
안충권
•
2000.10.25 21:29
안녕하세요 전 6.2사용자인데요 앞에 이미지를 뜻하는건 아이콘을 뜻하는건가요? 아이콘을 넣으실...
류응철
•
2000.08.26 20:56
이은정 wrote: > 류응철 wrote: > > 인스톨쉴드 프로페셔날 5.5에서 인스톨후에 시작->프로그램에 이미...
hanminet
•
2000.08.26 21:13
1
COMMENTS
/
0
LIKES
바이트배열을 스트링으로 변환하기(진호님)
최용일
•
2000.08.26 21:14
안녕하세요. 델파이세상(http://www.freechal.com/delphiworld)의 최용일입니다. 바이트배열을 PChar형...
Zeronine
2000.08.26 16:59
0
COMMENTS
/
0
LIKES
[다시올림]서버에있는 data를 pc로 download하는 방법.....
castle road
•
2000.08.26 13:52
1
COMMENTS
/
0
LIKES
특정 콤포넌트 존재를 알고 싶다!!
조규춘
•
2000.08.26 15:07
castle road wrote: > 현재 폼위에 특정 콤포넌트의 존재를 알고 싶습니다. > 예를 들어 > 현재 폼에 li...
[델파이]
2000.08.29 10:55
0
COMMENTS
/
0
LIKES
쓰레드(Thread)가 무엇인지 이해가 안됩니다.
떵개
•
2000.08.26 08:14
1
COMMENTS
/
0
LIKES
Unit 'XXXXXX' implicitily imported into package...
최용일
•
2000.08.26 09:53
안녕하세요. 최용일입니다. 아마도 소스없이 .dcu파일을 가지고 패키지를 만들어서 컴파일하셨나보군요....
황중얼
•
2000.08.26 07:49
2
COMMENTS
/
0
LIKES
NMFTP를 사용 .jpg파일을 upload 중 파일이 깨집니다..
분당
•
2001.02.08 03:16
mode를 binary로 바꾸어주십시요. NMFTP1.Mode(MODE_IMAGE);
분당
•
2001.02.08 03:16
mode를 binary로 바꾸어주십시요. NMFTP1.Mode(MODE_IMAGE);
홍성우
•
2000.08.26 05:36
1
COMMENTS
/
0
LIKES
서버날짜를 구하는 방법이 없을까요?
강호규
•
2000.08.26 18:41
홍성우 wrote: > 서버의 날짜와 시간을 구하는 방법이 없을까요? 아시는 분 계시면 꼭 좀 알려주셨으면 하...
전문성
•
2000.08.26 03:17
1
COMMENTS
/
0
LIKES
Stringgrid에서 Scrollbar의 검색...
Stringgrid에 있는 Scrollbar를 조작했을때 현재 조작되고 있는 것이 수평인지 수직인지를 어떻게 검색하죠? 수평일때와 수직일때 다른 작업을 하고 싶거든요.. 한수 부탁드립니다....
최석기
•
2000.08.26 03:37
전문성 wrote: > Stringgrid에 있는 Scrollbar를 조작했을때 현재 조작되고 있는 > 것이 수평인지 수직인...
tommy
•
2000.08.26 03:16
2
COMMENTS
/
0
LIKES
디비그리드, 셀선택시 에디트에 키값뿌려주기...
푸하하
•
2000.08.26 18:06
DBGrid의 Enter, Click, Colclik, Keyup 이벤트에서 그 키값에 해당하는 레코드를 Select 해서 각 필드값...
이은정
•
2000.08.26 04:37
????? 입력에디터가 DBEdit이면 그냥 그리드에 연결한것과 같은 DataSource로 연결해주시구요. 그냥 Edit...
hanminet
•
2000.08.26 02:32
1
COMMENTS
/
0
LIKES
del에서 bit 연산이 되지 않나요...
김진호
•
2000.08.26 02:40
hanminet wrote: > crc check처럼 bit연산을 하려고 하는데 > 어케 하려면 되나요.... > 예제로는 c로 ...
델파이를 알고싶다
•
2000.08.26 02:31
2
COMMENTS
/
0
LIKES
테이블 조인
666
•
2000.08.29 03:14
안녕하세요. 테이블을 일자별로 매일 만들면 나중에 관리하기 힘들지 않을까요? 날짜를 프라이머리키로 ...
최석기
•
2000.08.26 02:41
델파이를 알고싶다 wrote: > 안녕하세요 델파이초보입니다. > > 사용환경은 윈도우2000, sql 7.0, 델파...
조윤지
•
2000.08.26 01:59
1
COMMENTS
/
0
LIKES
interbase windows isql에 sql문을 써서 gdb화일만드는법
허춘
•
2000.08.26 09:25
조윤지 wrote: > interbase를 공부하려고 합나다.근테 처음부터 막히는군요 > 델파이 5에 있는 interbase...
전문성
2000/08/26 03:17
Views
437
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> Stringgrid에 있는 Scrollbar를 조작했을때 현재 조작되고 있는
> 것이 수평인지 수직인지를 어떻게 검색하죠?
> 수평일때와 수직일때 다른 작업을 하고 싶거든요..
>
> 한수 부탁드립니다....
안녕하세요.. ^^
델파이세상(http://www.freechal.com/delphiworld)에 최석기 입니다..
어떤 일때문인지는 모르겠지만
StringGrid에 WindowProc를 바꿔치기하면 될꺼 같네요.
다음 소스 참고하세요..
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids;
type
{$IFDEF WIN32}
WParameter = LongInt;
{$ELSE}
WParameter = Word;
{$ENDIF}
LParameter = LongInt;
TForm1 = class(TForm)
StringGrid1: TStringGrid;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
OldWindowProc : Pointer;
implementation
{$R *.DFM}
function NewWindowProc(WindowHandle : hWnd;
TheMessage : WParameter;
ParamW : WParameter;
ParamL : LParameter) : LongInt
{$IFDEF WIN32} stdcall; {$ELSE} ; export; {$ENDIF}
begin
if TheMessage = WM_VSCROLL then begin
ShowMessage('수직');
end;
if TheMessage = WM_HSCROLL then begin
ShowMessage('수평');
end;
NewWindowProc := CallWindowProc(OldWindowProc,
WindowHandle,
TheMessage,
ParamW,
ParamL);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
OldWindowProc := Pointer(SetWindowLong(StringGrid1.Handle,
GWL_WNDPROC,
LongInt(@NewWindowProc)));
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
SetWindowLong(StringGrid1.Handle,
GWL_WNDPROC,
LongInt(OldWindowProc));
end;
end.