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
[1853] [질문] 2개의 스트링그리드 스크롤하기../프포
윈텍7 [ ] 3680 읽음    1999-08-27 14:19

StringGrid에 멀티 타이틀를 아래와 같이 구성하려고 합니다.

1번 그림
┎────────────┰───────────┒
┃            가          ┃          나          ┃
┠──────┰─────╂───┰───┰───┨
┃     가1    ┃    가2   ┃  나1 ┃  나2 ┃  나3 ┃
┖──────┸─────┸───┸───┸───┚

스트링그리드를 두개를 놓습니다.

타이틀이 가, 나 인것은 StringGrid1이고 타이틀이 가1, 가2...인 것은 StringGrid2입니다.

서로 횻캬?하나의 스트링그리드처럼 보이는 거죠..

멀티 타이틀을 구성하기 위한 트릭(잔머리) 이죠.

void __fastcall TForm1::StringGrid2TopLeftChanged(TObject *Sender)
{
    StringGrid1->LeftCol = StringGrid2->LeftCol;

}

위의 TopLeftChanged 이벤트를 실행해서 오른쪽으로 스크롤을 하면 이렇게 됩니다..

2번 그림
┎────────────┰───────────┒
┃            가          ┃          나          ┃
┠──────┰─────╂───┰───┰───┨
┃     가2    ┃    나1   ┃  나2 ┃  나3 ┃  나4 ┃
┖──────┸─────┸───┸───┸───┚

제가 원하는 건...아래와 같은 그림인데...

3번 그림
┌────────────┬───────────┐
│            나          │         다           │
├───┬───┬────┼─────┬─────┤
│      │      │        │          │          │
│ 나1  │  나2 │   나3  │   다1    │   다2    │
└───┴───┴────┴─────┴─────┤


그래서, 다른 방법을 사용하려고 합니다..

스크롤시에 스트링그리드에 WM_HSCROLL를 발생시키려고 합니다..

StringGrid2를 스크롤하면 3번 그림처럼 처리하려고요...

그러니까.. 스트링그리드를 상속받으면서 이 메시지의 핸들러를 작성하고,

이 핸들러에서 다시 두번째 스트링그리드로 메시지를 보내면 될 거라고 생각되는데

SendMessage(StringGrid2->Handle, Message.Msg, Message.WParam, Message.LParam);

unit.h에

private: // User declarations

    void __fastcall OnWMScroll(TWMScroll& Message);

public:  // User declarations

    BEGIN_MESSAGE_MAP
        VCL_MESSAGE_HANDLER(WM_HSCROLL, TWMHScroll, OnWMScroll)
    END_MESSAGE_MAP(TForm)

이렇게 선언하고...

unit.cpp에서

void __fastcall TForm1::OnWMScroll(TWMScroll& Message)
{
//    SendMessage(StringGrid1->Handle, Message.Msg, Message.WParam, Message.LParam);
    SendMessage(StringGrid1->Handle, WM_HSCROLL  , Message.ScrollCode, 0);
}

이렇게 까진 했는데... 원하는데로 안되는 군요..

메세지 처리를 잘 못 한것 같은데...

어떻게 수정하면 되죠...

제발 부탁합니다...

그럼 이만..


+ -

관련 글 리스트
1853 [질문] 2개의 스트링그리드 스크롤하기../프포 윈텍7 3680 1999/08/27
1856     [답변] 윈텍7/ 2개의 스트링그리드 스크롤하기../프포 박지훈.임프 3465 1999/08/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.