즉 OpenDialog에서 ComboBox를 찾고 ComboBox에서 Edit를 찾아서
Edit 에다가 SetText 하시면 됩니다.
그러면 OpenDialog에서 어떻게 ComboBox를 찾나?
방법은?
방법 1. class명으로 찾을수 있는데 ComboBox가 여러개 있으므로 정확히 찾기가 곤란하죠
하지만 spy로 보면
Dlg->ComboBoxEx32->ComboBox->Edit 순으로 되어있습니다.
FindWindowEx를 이용하면
ComboBoxEx32는 하나뿐이므로 얼마든지 찾을수 잇죠
방법 2. WindowFromPoint 로
OPenDialog 의 크기를 보고 ComboBox가 있는 정확한 위치를 계산한다음
WindowFromPoint 함수를 이용하여 해당위치의 윈도우를 얻어옵니다.
방법3. GetDlgItem 이라는 함수가 있습니다.
이는 ID를 이용하여 특정윈도우의 Child윈도우중에서 원하는 윈도우 핸들을 구하는 함수인데....
Dlg->ComboBoxEx32->ComboBox->Edit 순이므로
GetDlgItem을 두번하면 ComboBox를 얻겠고 세번하면 Edit를 얻을수 있겠네요
OpenDialog에서 파일명이 들어가는 부분은 ComboBox 입니다.
vcl에서도 마찬가지 그렇지만
ComboBox에는 Edit가 같이 숨어있습니다.
즉 OpenDialog에서 ComboBox를 찾고 ComboBox에서 Edit를 찾아서
Edit 에다가 SetText 하시면 됩니다.
그러면 OpenDialog에서 어떻게 ComboBox를 찾나?
방법은?
방법 1. class명으로 찾을수 있는데 ComboBox가 여러개 있으므로 정확히 찾기가 곤란하죠
하지만 spy로 보면
Dlg->ComboBoxEx32->ComboBox->Edit 순으로 되어있습니다.
FindWindowEx를 이용하면
ComboBoxEx32는 하나뿐이므로 얼마든지 찾을수 잇죠
방법 2. WindowFromPoint 로
OPenDialog 의 크기를 보고 ComboBox가 있는 정확한 위치를 계산한다음
WindowFromPoint 함수를 이용하여 해당위치의 윈도우를 얻어옵니다.
방법3. GetDlgItem 이라는 함수가 있습니다.
이는 ID를 이용하여 특정윈도우의 Child윈도우중에서 원하는 윈도우 핸들을 구하는 함수인데....
Dlg->ComboBoxEx32->ComboBox->Edit 순이므로
GetDlgItem을 두번하면 ComboBox를 얻겠고 세번하면 Edit를 얻을수 있겠네요
그럼..