|
bool CALLBACK aaa(HWND h,LPARAM l)
{
char s[51];
GetClassName(h,s,50);
h = FindWindowEx(h, NULL, NULL, "Form2");
TWinControl *a = FindControl(h);
if(a){
ShowMessage(a->Name);
a->SetFocus();
}
else Form1->Memo1->Lines->Add("null");
Form1->Memo1->Lines->Add(s);
return true;
}
void __fastcall TForm1::Button3Click(TObject *Sender)
{
HWND wHandle;
wHandle = FindWindow(PChar(0), "Form2");
if (IsIconic(wHandle) )
ShowWindow(wHandle, SW_RESTORE);
else
BringWindowToTop(wHandle);
EnumChildWindows(wHandle,(WNDENUMPROC)aaa,0);
}
Form1(호출하려는 폼)에서는 Form2를 모르기 때문에 handle을 읽어와서
ShowWindow를 호출했는데 이렇게 하는거 아닌가요??
Form2가 실행된 상태에서 Form1의 Button3Click가 호출되면
메모에는 ,
---------
null
TEdit
null
TEdit
---------
이렇게 뜹니다. Form2에 에디트 박스가 두개 있거든요..
근데 널이 나왔다는건 FindControl을 못했다는 건데..
음..자꾸 귀찮게 해서 미안합니다..^^*
|