Q&A

  • SendMessage로 콤보박스를 더블클릭하는 효과를 내려면?
다른 어플리케이션의 콤보박스에 있는

데이타를 더블클릭하려는 효과를

내려고 하는데 방법을 잘못찾겠습니다

SendMessge(콤보박스핸들,메세지,wparam,lparam)을 써야할것 같은데

안의 내용을 어떻게 해야할지요

(여기서 콤보박스의 핸들값은 알고 있다는 전제입니다)

콤보박스도 되면 리스트박스도 될텐데

리스트박스도 같은 방법을 알고 싶습니다

고수분의 도움 바랍니다





4  COMMENTS
  • Profile
    2001.11.26 22:00
    굳이 SendMessage를 안쓰셔도 되는데요.

    Double Click Event에 원하는 코드를 작성하시고,



    Click하고자 할 때에 그 Event를 Call해주시면 됩니다.



    다음은 버튼을 누를 때마다 ComboBox1을 더블클릭하게 되는 겁니다.



    procedure TForm1.ComboBox1DblClick(Sender: TObject);

    begin

    ShowMessage(TControl(Sender).Name + ' Double Click');

    //do Something...

    end;



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    ComboBox1DblClick(nil);

    end;





    즐코하세요...^^



    만성 wrote:

    > 다른 어플리케이션의 콤보박스에 있는

    > 데이타를 더블클릭하려는 효과를

    > 내려고 하는데 방법을 잘못찾겠습니다

    > SendMessge(콤보박스핸들,메세지,wparam,lparam)을 써야할것 같은데

    > 안의 내용을 어떻게 해야할지요

    > 콤보박스도 되면 리스트박스도 될텐데

    > 리스트박스도 같은 방법을 알고 싶습니다

    > 고수분의 도움 바랍니다

    >

    >

  • Profile
    만성 2001.11.26 22:57
    신속한 답변 감사드립니다

    하지만 저는 모두에 밝혔듯이 같은 어플리케이션이 아니라

    다른 어플리케이션의 콤보박스를 제어하려던 것입니다

    (여기서 콤보박스의 핸들값은 알고 있다는 전제입니다)

    따라서 SendMessage말고는 방법이 없을것 같은데요



    석 wrote:

    > 굳이 SendMessage를 안쓰셔도 되는데요.

    > Double Click Event에 원하는 코드를 작성하시고,

    >

    > Click하고자 할 때에 그 Event를 Call해주시면 됩니다.

    >

    > 다음은 버튼을 누를 때마다 ComboBox1을 더블클릭하게 되는 겁니다.

    >

    > procedure TForm1.ComboBox1DblClick(Sender: TObject);

    > begin

    > ShowMessage(TControl(Sender).Name + ' Double Click');

    > //do Something...

    > end;

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > begin

    > ComboBox1DblClick(nil);

    > end;

    >

    >

    > 즐코하세요...^^

    >

    > 만성 wrote:

    > > 다른 어플리케이션의 콤보박스에 있는

    > > 데이타를 더블클릭하려는 효과를

    > > 내려고 하는데 방법을 잘못찾겠습니다

    > > SendMessge(콤보박스핸들,메세지,wparam,lparam)을 써야할것 같은데

    > > 안의 내용을 어떻게 해야할지요

    > > 콤보박스도 되면 리스트박스도 될텐데

    > > 리스트박스도 같은 방법을 알고 싶습니다

    > > 고수분의 도움 바랍니다

    > >

    > >

  • Profile
    이용 2001.11.27 04:06
    저도 한참이나 고생하던 문제인데...

    var

    pt : TSmallpoint;

    begin

    pt.x := 5;

    pt.y := 5;



    PostMessage(컨트롤.handle,WM_LBUTTONDBLCLK, 0, Integer(pt) );



    자세한 내용은 WM_LBUTTONDBLCLK으로 검색 해 보세요..

    ..



    만성 wrote:

    > 신속한 답변 감사드립니다

    > 하지만 저는 모두에 밝혔듯이 같은 어플리케이션이 아니라

    > 다른 어플리케이션의 콤보박스를 제어하려던 것입니다

    > (여기서 콤보박스의 핸들값은 알고 있다는 전제입니다)

    > 따라서 SendMessage말고는 방법이 없을것 같은데요



  • Profile
    만성 2001.11.27 11:48
    잘되는군요