Q&A

  • postMessage로 Hint를 나타내는 방법?
컨트롤에 포커스가 발생하면 자동으로 해당 콘트롤의 x,y좌표를

계산하여 컨트롤의 하단에 강제로 hint를 나타나게 할려고

CMEnter(var Message: TCMEnter)를 컴포넌트내에서 받을때

postMessage(handle,CM_HINTSHOW,0,0); 이렇게 코딩을 했습니다..

근데.. Hint가 나오질 않는군요...

메세지의 wparam이나 Lparam에 적절한 값을 설정해야 할 것 같은데..

아는게 워낙 짧아서.......~~

Debug를 해보니깐...Lparam에 6814760이란 값이 들어오던데..

6814760값을 넣고 postmessage해도 안되네요...



잘 아시는 분의 조언좀 부탁드립니다..

2  COMMENTS
  • Profile
    신인재 1999.06.15 03:16
    oncreate에서 어플리케이션의 onshowhint이벤트 핸들러를 다시 정의 하여

    사용하시면 되겠습니다.



    procedure TForm1.DoOnShowHint(var HintStr: string;

    var CanShow: Boolean; var HintInfo: THintInfo);

    var

    XYPoint : TPoint;

    begin

    // SpeedButton1의 힌트라면

    if HintInfo.HintControl = SpeedButton1 then

    begin

    getcursorpos(XYPoint);

    XYPoint.Y := XYPoint.Y + 20;

    with HintInfo do

    begin

    HintPos := XYPoint; // 이 버튼 힌트의 위치 바꾸기.



    HintColor := clAqua; // 이 버튼 힌트의 색깔 바꾸기

    HintMaxWidth := 50; // 이 버튼 힌트에 워드랩 주기.

    end;

    end;

    end;



    폼의 OnCreate이벤트 핸들러를 생성하고, 이 DoOnShowHint() 프로시저를 Application의 OnShowHint 프로퍼티에 대입해 주도록 하자.





    procedure TForm1.FormCreate(Sender: TObject);

    begin

    Application.OnShowHint := DoOnShowHint;

    end;



    파워러브 델파이 97년 7월호에서 뽑아 왔습니다...^^

    파워러브 델파이 97년 7월호!!!

    송기원 께서 말씀하시기를...

    > 컨트롤에 포커스가 발생하면 자동으로 해당 콘트롤의 x,y좌표를

    > 계산하여 컨트롤의 하단에 강제로 hint를 나타나게 할려고

    > CMEnter(var Message: TCMEnter)를 컴포넌트내에서 받을때

    > postMessage(handle,CM_HINTSHOW,0,0); 이렇게 코딩을 했습니다..

    > 근데.. Hint가 나오질 않는군요...

    > 메세지의 wparam이나 Lparam에 적절한 값을 설정해야 할 것 같은데..

    > 아는게 워낙 짧아서.......~~

    > Debug를 해보니깐...Lparam에 6814760이란 값이 들어오던데..

    > 6814760값을 넣고 postmessage해도 안되네요...

    >

    > 잘 아시는 분의 조언좀 부탁드립니다..





  • Profile
    송기원 1999.06.15 03:39
    재가 궁금한것은 postMessage(handle, CM_HINTSHOW, wparam, lparma)과

    같은 형식으로 Hint가 나오게 해야하는데...

    왜냐하면 제가 지금 컴포넌트를 맹글고 있는데..

    이 컴포넌트에 포커스가 발생하면 마우스의 위치에 상관없이

    Hint를 컴포넌트하단에 뿌릴려고 하거던요....



    근데.. 컴포넌트 소스안에서 ,,cm_enter Message를 가로채서

    그기에서 강제로 PostMessage(handle, cm_hintshow, wparma, lparma)..

    이라고 코딩을 해야지 제가 원한는 x,y좌표에

    마우스의 위치에 관계없이 Hint를 뿌려줄 수 있을 것 같은데...

    도무지 파라미터에 대한 정보가 없네요......



    저의 생각자체가 잘못된것인지..????



    죄송하지만 다시한번 조언 부탁드립니다...





    • 조복기
      1999.06.15 20:58
      김태균 께서 말씀하시기를... > 음.... 조복기님이 말하신대로 바꾸어서 실행했는데요... > 그래도 결과...
    • 조복기
      1999.06.15 21:11
      TString를 사용하는방법은 동일하지만 전 그때 이방법을 안쓰고 sql문장을 memo.line에 넣어두고 sql := ...
    • 이미옥
    • 1999.06.15 19:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.15 21:05
      이미옥 께서 말씀하시기를... > 간단한 ActiveForm 예제(StringGrid에 값을 뿌려주는 예제)를 만들어서 익...
    • heart
    • 1999.06.15 19:02
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.15 19:05
      heart 께서 말씀하시기를... > > > 굴림체에서 0021에 해당하는 문자는 '!'인데 0021이란 입력값으...
    • heart
      1999.06.15 23:53
      안치봉 께서 말씀하시기를... > heart 께서 말씀하시기를... > > > > > > 굴림체에서 0021에 해당...
    • 안치봉
      1999.06.16 00:44
      heart 께서 말씀하시기를... > 안치봉 께서 말씀하시기를... > > heart 께서 말씀하시기를... > > > >...
    • 최기훈
    • 1999.06.15 18:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.15 19:03
      procedure Tfrm.ButtonClick(Sender: TObject); var paramName: array[0..20] of TLabel; begin ...
    • 북해
    • 1999.06.15 17:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.15 19:02
      북해 께서 말씀하시기를... > 안녕하세요. 동적생성한 버튼 객체를 없애려 하는데요 어떻게 하면 되는지요...
    • 김형철
    • 1999.06.15 08:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      1999.06.15 17:17
      DBGrid에서 수정을 하시려는 것 같군요. TQuery와 TDataSource를 DBGrid와 연결하셨을 테구요. 이상태에서...
    • 김태균
    • 1999.06.15 05:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 조복기
      1999.06.15 05:55
      김태균 께서 말씀하시기를... > 다음은 제가 작성한 SQL문입니다. > Trace해보면 SQL문이 실행이 되는데 ...
    • 유민호
    • 1999.06.15 05:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김형태
      1999.06.15 17:25
      유민호 께서 말씀하시기를... > AS400에서 DB2를 사용하고 있으며 델파이 4를 이용합니다. > 근데 서버에...
    • Hans
    • 1999.06.15 03:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 강지영
      1999.06.15 19:07
      Hans 께서 말씀하시기를... > 인터베이스에서 db를 생성하려고 하는데, > 어떻게 해야하는지 맨날 -902에...
    • 송기원
    • 1999.06.15 03:10
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.06.15 03:16
      oncreate에서 어플리케이션의 onshowhint이벤트 핸들러를 다시 정의 하여 사용하시면 되겠습니다. pro...
    • 송기원
      1999.06.15 03:39
      재가 궁금한것은 postMessage(handle, CM_HINTSHOW, wparam, lparma)과 같은 형식으로 Hint가 나오게 해야...
    • 김수영
    • 1999.06.15 02:36
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.06.15 03:11
      음냐~~~ 델파이의 세계에 첨 입문하신다고요.... 흐흐 정말 추카 드립니다... 제가 델파이를 시작한 ...
    • 신인재
      1999.06.15 02:59
      음냐 리치에딧 2.0을 사용하세요.... Rx라이브러리는 리치에딧2.0을 지원하는 대표적인 컴포넌트 모음입니...
    • 영인
    • 1999.06.15 02:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.06.15 02:56
      아래는 SpinEdit의 소스중의 일부입니다. 입력값을 걸러서 이벤트를 발생시키는 군요... 소스를 고치면 ...
    • sunhee
    • 1999.06.15 01:29
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 성숙련
    • 1999.06.15 01:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.06.15 03:17
      에러 메세지와 관련코딩을 함 올려 주세요...... 성숙련 께서 말씀하시기를... > 안녕하세요... > 음....
    • 박성훈
    • 1999.06.15 00:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 신인재
      1999.06.15 03:30
      FindComponent란 TComponent의 메소드 입니다. 따라서 아래와 같이 바뀌어 져야 할꺼 같습니다... func...
    • 송기원
    • 1999.06.15 00:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      1999.06.15 01:08
      송기원 께서 말씀하시기를... > control의 enabled상태가 false로 바뀌었을때의 색깔을 > 다른 색으로 ...
    • 손진운
    • 1999.06.15 00:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      1999.06.15 00:59
      손진운 께서 말씀하시기를... > 안녕하세요. > 콤보박스에 item들을 add한후에 그 내용들을 몇 글자를 ...