TMS Skin컴포넌트는 써보지 않았는데요
다른 Skin컴포넌트를 쓸때 비슷한 현상을 경험한적이 있습니다.
VCL의 ShowMessage나 Win32API의 MessageBox 를 이용해도
그런 현상이 나오는 경우도 있더군요
원인은 메세지박스(Window)의 WndParent가
현재 Active된 Form의 Handle이 아닌경우 종 그런 현상이 발생할 가능성이 있습니다.
해결방법은
1. 메세지dialog를 topmost로 해주는 방법과
2. 메세지dialog의 WndParent를 현재 Active된 Form의 Handle로 해주는 방법 이있습니다.
다음 링크를 참조하세요
님질문에 대한 직접적인 답변은 아니지만 도움이 될것입니다.
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=883
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=824
그럼..
조안 님이 쓰신 글 :
: TMS 메시지박스를 사용하고 있는데
: 메시지박스를 호출할때마다 부모창이 앞으로 튀어나오고 자식창이 뒤로가는 문제가 발생하네요.
: 자식창에서 띄운 메시지창인데. 부모창에서 띄운 메시지창으로 나오니.
: 에러는 아니지만 답답해서요
:
: int __fastcall TUCommon::Get_MessageBox(AnsiString Msg, AnsiString Caption,
: TMsgDlgType DlgType, TMsgDlgButtons Buttons)
: {
: int rtn_value;
:
: TbsSkinMessage *My_MsgBox;
:
: My_MsgBox = new TbsSkinMessage(Application);
:
: My_MsgBox->CtrlSkinData = MySkin;
: My_MsgBox->SkinData = MySkin;
: My_MsgBox->UseSkinFont = false;
: My_MsgBox->DefaultButtonFont = MyFont;
: My_MsgBox->DefaultFont = MyFont;
:
: rtn_value = My_MsgBox->MessageDlg2(Msg, Caption, DlgType, Buttons, 0);
:
: delete My_MsgBox;
:
: return rtn_value;
: }
: 이런식으로 사용하고 있습니다.
:
: My_MsgBox = new TbsSkinMessage(Application);
: 여기에 application 이 아닌 뭔가를 넣어야 하는것같은데 잘 모르겠네요;