dosyl
asked on
Common Dialog
HI,
When we have CommonDialog on a form, is possible to set the form on witch we want it appear;;else I will use the API to set the hwd.
When we have CommonDialog on a form, is possible to set the form on witch we want it appear;;else I will use the API to set the hwd.
ASKER
Like this:
Dim clOpen As CommonDialog
Set clOpen = frmMain.cdlOpen
clOpen.CancelError = True
clOpen.flags = cdlOFNHideReadOnly + cdlOFNOverwritePrompt + cdlOFNPathMustExist
clOpen.DialogTitle = "Save Bmp"
clOpen.Filter = "Bmp File|*.bmp"
clOpen.DefaultExt = "bmp"
clOpen.ShowSave
If I do like this, the CDlg don't appears on the front.It stays on the frmMain and I don't see it.
Dim clOpen As CommonDialog
Set clOpen = frmMain.cdlOpen
clOpen.CancelError = True
clOpen.flags = cdlOFNHideReadOnly + cdlOFNOverwritePrompt + cdlOFNPathMustExist
clOpen.DialogTitle = "Save Bmp"
clOpen.Filter = "Bmp File|*.bmp"
clOpen.DefaultExt = "bmp"
clOpen.ShowSave
If I do like this, the CDlg don't appears on the front.It stays on the frmMain and I don't see it.
I still don't see the problem, just because the dialog control doesn't appear on the second form doesn't mean you cannot use it, in fact you don't normally see this control at runtime anyway!
I think I understand a little, do you mean that it effectively goes back to frmMain and redisplays it before displaying the showsave dialog and then doesn't return to your second form afterwards? If so then perhaps SetParent will work for you.
ASKER
That's it, I never see the control cause it behind my second form, and because CommonDialog is modal I cannot click anyway.
Though as you don't actually know the hWnd of the showSave window it may be a little difficult.
Why not just put a common dialog control on the form you want it to show up on?
ASKER
ebosscher,
Instead of what you suggest I will use the API in a module and all forms will call the CommonDialog.
Instead of what you suggest I will use the API in a module and all forms will call the CommonDialog.
ASKER
If noone give me the solution, I'll use API and delete this question.
Thanks to all.
Thanks to all.
Hi dosyl,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:
Refund points and save as a 0-pt PAQ.
dosyl, Please DO NOT accept this comment as an answer.
EXPERTS: Post a comment if you are certain that an expert deserves credit. Explain why.
==========
DanRollins -- EE database cleanup volunteer
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:
Refund points and save as a 0-pt PAQ.
dosyl, Please DO NOT accept this comment as an answer.
EXPERTS: Post a comment if you are certain that an expert deserves credit. Explain why.
==========
DanRollins -- EE database cleanup volunteer
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
frmMain.cdlgMain.ShowOpen
For example, what would you use an API call for here?