Solved

Change filename in TSaveDialog

Posted on 2000-02-28
14
494 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
Comment Utility
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
Comment Utility
Ok I know this but, how to actually change the visible filename
0
 

Expert Comment

by:Freaky
Comment Utility
Don't understand what's your problem.
0
 
LVL 27

Expert Comment

by:kretzschmar
Comment Utility
hi koger,

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

meikl
0
 

Author Comment

by:koger
Comment Utility
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
Comment Utility
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
Comment Utility
? well, then i would do what zif already suggested, use the event OnTypeChange to append the new suffix, if filename is not empty
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 
LVL 6

Expert Comment

by:Jaymol
Comment Utility
That will work.
0
 

Author Comment

by:koger
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
And for all you others you can change the text with

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

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Suggested Solutions

Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…

743 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now