名前 題名 ▼ Syakeさん > さてさて、 > FormのOnActiveイベントで > *************************************** > begin > if 条件A then > begin > if 条件B then > begin > if MessageDlg(XXXX,mtInformation,mbYesNo,0) = mrYes then > begin > Edit3.Text := 'XXX'; > end; > end; > Edit1.SetForcus; > end else begin > Edit2.SetForcus; > end; > end; > ************************************* > さして、複雑でも何でもないのですが > @条件Aに該当しなかったらEdit2に正常にフォーカスが移る > A条件Aに該当し、条件Bに該当しなかったらEdit1に正常にフォーカスが移る > まあここまでは、思った通り。 > Bところが、条件Aと条件Bに該当した場合にはMessageDlgを開くわけですが > その後、なんとEdit1にフォーカスが移らない??? > ダイアログの戻り値がmrNoでも移らない。 何故だぁ〜。 > ダイアログが閉じた後、Edit1をクリックしても反応しない > (カーソルが表示されない) > 他のEditをクリック後にEdit1をクリックするとカーソルが表示される。 > 試しに、Edit1をEdit2に変えるとEdit2にはフォーカスが移る。 > > んで、苦し紛れに・・・ > *************************************** > begin > if 条件A then > begin > if 条件B then > begin > frmMyDlg := TfrmMyDlg.Create(Application); > try > frmMyDlg.XXX := XXXX; > frmMyDlg.ShowModal; > if frmMyDlg.xxxxx then > begin > Edit3.Text := 'XX'; > end; > finally > frmMyDlg.Release; > end; > end; > Edit1.SetForcus; > end else begin > Edit2.SetForcus; > end; > end; > ************************************* > と、自前で作成したところ何事も無かったかのように正常に動作する。 > う〜む、何なんだろう。 > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link