Q&A

  • ``다른 이름으로 저장``에 파일명 자동으로 주기 질문입니다
현재 다른 프로그램에서 올라온 "다른 이름으로 저장"화면에 파일명을 자동으로 넣어주려고
테스트 중입니다.

hnd := FindWindow(nil, pChar(Main_Form.sName));   // sName - 다른 이름으로 저장
      cHnd := FindWindowEx(hnd, 0, 'ComboBox', nil);
      panel2.caption := inttostr(cHnd);
      SendMessage(cHnd, WM_SETTEXT, 0, LParam(pChar('001')));

위에서 cHnd 값은 나타나는데 SendMessage하면 아무런 변화가 없습니다.

그리고 화면에 ComboBox가 여러개가 있는데 그중에서 특정 Combobox 지정은 어떻게 하는지..

그리고 테스트로 hnd값으로 SendMessage하면 '다른 이름으로 저장' Caption이 001로 바뀐니다.

파일명에 '001'을 넣으려고 하는데 어디가 잘못되었는지 조언부탁드립니다.    
        


3  COMMENTS
  • Profile
    최용일 2009.02.20 20:41
    핸들은 제대로 찾은것 같은데요...
    WM_SETTEXT에 반응이 없다면 그 콤보박스는 에디트가능한 콤보박스가 아니라 리스트에 있는 내용만 선택할 수 있는 고정목록콤보박스일겁니다.
    WM_SETTEXT대신에 CB_SETCURSEL메세지를 쓰세요.

    동일한 여러개의 콤보박스에서 특정 콤보박스 찾는 것은 GetDlgItem함수로 원하는 콤보박스만 찾을 수 있습니다.
    함수파라매터중 컨트롤아이디(nIDDlgItem)는 SPY++같은 유틸리티를 이용해서 찾으세요.
  • Profile
    미트몰 2009.02.20 21:35
    감사합니다. 많은 도움될 것 같습니다.
  • Profile
    미트몰 2009.02.23 21:08
    FindWindowEx에서 'ComboBoxEx32'로 찾아서 하니까 됩니다. 도움주셔서 감사합니다.ㅣ