Solved

Change filename in TSaveDialog

Posted on 2000-02-28
14
501 Views
Last Modified: 2010-04-04
Hi

How do I change the visible filename in a savedialog, the reason to do this is that if you have two filters and select a new one should the filename change its extension to the selected filter (like MS Office).
This also happends when the user click ok but not visible to the user.
0
Comment
Question by:koger
  • 4
  • 2
  • 2
  • +6
14 Comments
 
LVL 8

Expert Comment

by:ZifNab
ID: 2565038
Hi,

Look at OnSelectionChange.

Occurs when the file types displayed in the dialog are changed.

property OnSelectionChange: TNotifyEvent;

Description

The OnTypeChange event occurs when the user selects a new filter from the Files of Type list box at the bottom of the dialog.

Regards, Zif
0
 

Author Comment

by:koger
ID: 2565081
Ok I know this but, how to actually change the visible filename
0
 

Expert Comment

by:Freaky
ID: 2565152
Don't understand what's your problem.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 27

Expert Comment

by:kretzschmar
ID: 2565167
hi koger,

did you adjusted the filterproperty like
Textfiles|*.txt|Docfiles|*.doc
?

meikl
0
 

Author Comment

by:koger
ID: 2565242
Year I know how to use the filter allright :-)

Try this start the TSaveDialog enter a filename change the filter then the filename will have a the selected extension in MS Office, then try the same think in Delphi the filename doesn't change.
0
 
LVL 6

Expert Comment

by:Jaymol
ID: 2565268
I would have thought this wasn't a problem.  If you just type a filename, it doesn't show the extension anyway.  If you type the extension yourself, then it's your own fault for being daft!  The only way to get the dialog to perform in this way is to create your own.  

John.
0
 
LVL 27

Expert Comment

by:kretzschmar
ID: 2565274
? well, then i would do what zif already suggested, use the event OnTypeChange to append the new suffix, if filename is not empty
0
 
LVL 6

Expert Comment

by:Jaymol
ID: 2565298
That will work.
0
 

Author Comment

by:koger
ID: 2565337
AFAIK the tsavedialog.filename gets updated fine. I just wanted to make it foolproof, but no can do or so it seeems.
0
 
LVL 3

Expert Comment

by:sburck
ID: 2565517
Unfortunately, from the Help file:

"Programmatic changes to FileName have no effect while the dialog is active."

To do this while the dialog box is active (a live change, like in office), you'll have to modify the dialog source itself, or use a third party dialog box.
0
 
LVL 5

Expert Comment

by:TheNeil
ID: 2565830
Or you could write your own using the components on the Win 3.1 component palette

The Neil
0
 
LVL 10

Expert Comment

by:ptmcomp
ID: 2570227
Could you use another OpenDialog (an ActiveX)? There was also the possibility of an window hook of the dialog...
0
 

Accepted Solution

by:
cAkk earned 50 total points
ID: 2578603
First:
you can get dialog's handle at savedialog.OnShow
using savedialog.handle.

then:

 hParent:=getparent(savedialog.handle);
  hEdit:= FindWindowEx(hParent, 0, 'Edit',nil);

now, hEdit is the Editbox's handle.

you can set it's text by using the handle.
0
 

Author Comment

by:koger
ID: 2633976
And for all you others you can change the text with

SendMessage(hEdit,WM_SETTEXT,0,integer(PChar('text')));
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…

713 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question