应该要win2000、win me中新的dll文件。
解决方案 »
- 在Delphi中如何获得操作系统版本?
- Delphi7中的string类型支持小语种吗?(象韩语,日语等)
- 如何判断edit控件中输入的必须是中文?
- 1500分求购COM+实例,收到给分,分已发出,绝不食言,由于一个贴子只能发100分,请分别到15个帖子接分!!!!(5 of 15)
- 字符串string,怎么转换成整数,integer,类型。
- OleContainer1打开保存文件的问题
- 屏幕自动适应问题
- 删除windows 的history的内容
- 有人用过imgscan做过程序吗?,能帮我一下吗/
- delphi 10 移动开发如何保存密码和读取保存的密码?
- 打印问题,很急,给高分!
- 关于写控件
Delphi的通用对话框控件是封装过的,控件没有更新当然还是老面孔。
uses commdlg;
...
procedure ...
var
ofn: TOpenFileName; // common dialog box structure
szFile: array[0..260] of char; // buffer for file name
hwnd: Integer; //HWnd: owner window
hf: Integer; //Handle: file handle
begin
// Initialize OPENFILENAME
FillChar(ofn, SizeOf(ofn), 0);
FillChar(szFile, SizeOf(szFile), 0);
ofn.lStructSize := sizeof(OPENFILENAME);
// ofn.hInstance := SysInit.HInstance;
ofn.hwndOwner := Application.Handle;
ofn.lpstrFile := szFile;
ofn.nMaxFile := sizeof(szFile);
ofn.lpstrFilter := 'All supported types' + #0 + '*.mp3;*.m3u' + #0 +
'PlayList Files (*.m3u)' + #0 + '*.m3u' + #0 +
'MPEG Audio Files (*.mp3)' + #0 + '*.mp3' + #0;
ofn.nFilterIndex := 1;
ofn.lpstrFileTitle := nil;
ofn.nMaxFileTitle := 0;
ofn.lpstrInitialDir := nil;
ofn.Flags := OFN_PATHMUSTEXIST or OFN_FILEMUSTEXIST;
// Display the Open dialog box.
if GetOpenFileName(ofn) then
hf := CreateFile(ofn.lpstrFile, GENERIC_READ, 0,
nil, //(LPSECURITY_ATTRIBUTES) NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
null); //(HANDLE) NULL)
opendialog1.FileEditStyle := fsEdit;
end
如果最后这句不写的话,对话框就显示不出来,这是为什么呢?正确的写法是什么?
ofn.hwndOwner := Application.Handle;
改成
ofn.hwndOwner := self.Handle
就可以了
不需要opendialog1那句了。