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
[40895] Re:Re:Re:Re:ListView의 Hint 질문입니다...
★래미★ [jackey9] 881 읽음    2005-07-06 17:34
아래와 같이 아이템의 길이와 Capacity를 비교하여
컬럼보다 긴 아이템(컬럼에서 ...으로 표시된것)에 대해서만 힌트를 주는게 가능했는데요..
아이템이 일어로 된 것에 대해서는 장담못해요 ^^;
우쨌든 참고는 가능할지도..

그리구요.. 제 생각엔 힌트를 StatusBar에 뿌려주면 확인하기가 더 수월한거 같아요...

//---------------------------------------------------------------------------
void __fastcall TForm1::ListView1MouseMove(TObject *Sender,
      TShiftState Shift, int X, int Y)
{
    int i,j;
    AnsiString hint="";
    TLVHitTestInfo info;
    info.pt.x = X;
    info.pt.y = Y;
    SendMessage(ListView1->Handle, LVM_SUBITEMHITTEST, 0, (LPARAM)&info);

    j = info.iSubItem-1;
    i = info.iItem;
    int wid, cap;
    if(i >=0  && j >=0 && j < ListView1->Items->Item[i]->SubItems->Count){
        wid = ListView1->Items->Item[i]->SubItems->Strings[j].Length();
        cap = ListView1->Items->Item[i]->SubItems->Capacity * 2;
        if( wid > cap )
            hint = ListView1->Items->Item[i]->SubItems->Strings[j];
    }
    ListView1->Hint = hint;
}
//---------------------------------------------------------------------------

★래미★ 님이 쓰신 글 :
: 이상하군요..
: 별 문제 없이 나오는거 같은데요...
: 제가 ListView를 못쓰는 관계로
: 칼럼에 힌트를 어떻게 주어야 할지 한참 헤맸답니다..
: 아래와 같이 했는데요..(좀 무식하고 이상해도 이해를;;)
: 별 이상없이 나오는거 같아요....
:
: 그리고 제가 이해를 못했는지는 몰라도..
: 그냥 힌트를 보여주도록 했는데..
: "컬럼에 전부 보여준건지 일부만 보여준건지"에 관계없이
: 모든 아이템에 힌트가 나오네요..
: 일부만 보여준 것에 대해 힌트가 나오는지는 제가 지식이 짧은 관계로
: 컨트롤을 거쳐야 가능할 거 같은데요..(방법은 아직...)
:
: 코드 전문입니다..
:
: //---------------------------------------------------------------------------
:
: #include <vcl.h>
: #pragma hdrstop
:
: #include "Unit1.h"
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.dfm"
: TForm1 *Form1;
: //---------------------------------------------------------------------------
: __fastcall TForm1::TForm1(TComponent* Owner)
:     : TForm(Owner)
: {
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::FormActivate(TObject *Sender)
: {
: //    Application->OnHint=&ShowHint;
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::ShowHint(TObject *Sender)
: {
: //    StatusBar1->SimpleText=Application->Hint;
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::ListView1MouseMove(TObject *Sender,
:       TShiftState Shift, int X, int Y)
: {
:     int i,j;
:     AnsiString hint="";
:     TLVHitTestInfo info;
:     info.pt.x = X;
:     info.pt.y = Y;
:     SendMessage(ListView1->Handle, LVM_SUBITEMHITTEST, 0, (LPARAM)&info);
:
:     j = info.iSubItem-1;
:     i = info.iItem;
:     if(i >=0  && j >=0 && j < ListView1->Items->Item[i]->SubItems->Count)
:         hint = ListView1->Items->Item[i]->SubItems->Strings[j];
:
:     ListView1->Hint = hint;
: }
: //---------------------------------------------------------------------------
:
:
: 신 님이 쓰신 글 :
: : 답변 감사드립니다 ^^
: :
: : 제가 일본어판을 사용해서리...실행시켜 볼 수가 없네요...죄성;;;
: :
: : cpp파일만 열어 볼 수 있었는데...
: :
: : cpp파일만 봐서는 잘 알수가 없더군요;;;
: :
: : 제가 첨부한 이미지를 보시면
: :
: : 상단의 이미지가 checkboxes = false일때 hint입니다...아주 잘 나오죠...
: :
: : 하단의 이미지가 문제의 checkboxes = true일때 hint가 안나옵니다;;;
: :
: : 보여지는 hint는 직접 뿌려준건데요...
: :
: : 것도 약간의 문제가 있더군요...타이틀(タイトル)을 보시면...글자뒤에 "。。。"이 있는데
: :
: : "。。。"이 있는것이 컬럼에 전부 보여줄 수 없어서 hint를 보여주자나요...
: :
: : 근데 직접 뿌려준건 컬럼에 전부 보여준건지 일부만 보여준건지 알 수가 없어서
: :
: : 모든 아이템들에 hint가 뿌려집니다;;;
: :
: : 컬럼에 전부 보여진 것인지 아닌지 판별할 수 있는 방법이나
: :
: : checkboxes = true일 때 hint를 보여주는 방법 어느것이든 조언 부탁드립니다...
: :
: : 참...래미님 소스가 checkboxes = true일때 보여주는 소스가 맞는지요???

+ -

관련 글 리스트
40870 ListView의 Hint 질문입니다... 828 2005/07/04
40888     Re:ListView의 Hint 질문입니다... ★래미★ 889 2005/07/06
40889         Re:Re:ListView의 Hint 질문입니다... 869 2005/07/06
40894             Re:Re:Re:ListView의 Hint 질문입니다... ★래미★ 868 2005/07/06
40898                 Re:Re:Re:Re:ListView의 Hint 질문입니다... 845 2005/07/06
40895                 Re:Re:Re:Re:ListView의 Hint 질문입니다... ★래미★ 881 2005/07/06
40901                     Re:Re:Re:Re:Re:ListView의 Hint 질문입니다... 828 2005/07/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.