DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: lixuan123
今日帖子: 0
在线用户: 3
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 snakewu (ss) ★☆☆☆☆ -
普通会员
2004/5/7 0:27:23
标题:
请教vip,关于OpenDialog的问题 浏览:1048
加入我的收藏
楼主: 为什莫使用OpenDialog,动态设置其的Filter属性,就像这样:
procedure TForm1.Button1Click(Sender: TObject);
begin
 if OpenDialog1.Execute then
  OpenDialog1.Filter := 'Text files (*.txt)|*.TXT';
end;

end.
程序运行以后,在最下面并没有任何过滤字符串出现,然后在双击了一个任意文件以后,再打开一次程序,才会出现过滤字符(比如上述例子的'Text files (*.txt));
而在静态设置这个属性倒是正常的,这到底怎摸了????
----------------------------------------------
ignore,Ctrl+Alt+Del,then begin;is die,but just not die。
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/5/7 0:44:34
1楼: 当然是这样的
你的代码写在Execute后面
所以才会造成第2次显示的时候才正常显示Filter

解决办法有2个
1:
procedure TForm1.Button1Click(Sender: TObject);
begin
  OpenDialog1.Filter := 'Text files (*.txt)|*.TXT';
  if OpenDialog1.Execute then ...;
end;

2. 在OpenDialog.OnShow事件里
procedure TAboutForm.OpenDialog1Show(Sender: TObject);
begin
  OpenDialog1.Filter := 'Text files (*.txt)|*.TXT';
end;
----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 snakewu (ss) ★☆☆☆☆ -
普通会员
2004/5/7 1:39:07
2楼: 原来如此,是这个道理啊。。。。。。。。。。。。。。。。。。。。。。。
对了,不知道能不能修改delphi里面的诸如OpenDialog等控件的界面,自己加些功能(除了自己模拟做一个之外)呢?
----------------------------------------------
ignore,Ctrl+Alt+Del,then begin;is die,but just not die。
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/5/7 8:26:28
3楼: 肯定可以 不过偶看到很多 软件都有 就是不会 sephil老大说说吧
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
作者:
男 snakewu (ss) ★☆☆☆☆ -
普通会员
2004/5/7 10:25:56
4楼: sephil一定在睡觉,他一直和我一样,几乎半夜都在咯~~~~~~~~~~~~
----------------------------------------------
ignore,Ctrl+Alt+Del,then begin;is die,but just not die。
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/5/7 13:25:04
5楼: 可以看看Delphi自带的TOpenPictureDialog/TSavePictureDialog的源代码

----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
作者:
男 snakewu (ss) ★☆☆☆☆ -
普通会员
2004/5/7 15:18:39
6楼: 怎莫看?
如果说看自带源代码的话,不等于自己重新做了。按此在新窗口浏览图片
----------------------------------------------
ignore,Ctrl+Alt+Del,then begin;is die,but just not die。
作者:
男 sephil (NAILY Soft) ★☆☆☆☆ -
盒子中级会员
2004/5/7 15:33:14
7楼: 自己重新作一个继承自TOpenDialog的控件
TOpenPictureDialog就是这样的

源代码在Delphi7\Source\VCL\ExtDialogs.pas

----------------------------------------------
Copyright 2008 ? NAILY Soft

Click here to redirect to my home
Click here to redirect to my blog
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行59.57031毫秒 RSS