发布于 2005-07-14 08:33:58
0楼
在按钮鼠标动作中,加入以下代码(可以直接声明结构):
//#include "commdlg.h"
typedef struct tagOFN {
DWORD lStructSize;
HWND hwndOwner;
HINSTANCE hInstance;
LPCTSTR lpstrFilter;
LPTSTR lpstrCustomFilter;
DWORD nMaxCustFilter;
DWORD nFilterIndex;
LPTSTR lpstrFile;
DWORD nMaxFile;
LPTSTR lpstrFileTitle;
DWORD nMaxFileTitle;
LPCTSTR lpstrInitialDir;
LPCTSTR lpstrTitle;
DWORD Flags;
WORD nFileOffset;
WORD nFileExtension;
LPCTSTR lpstrDefExt;
DWORD lCustData;
DWORD lpfnHook; //LPOFNHOOKPROC lpfnHook;
LPCTSTR lpTemplateName;
} OPENFILENAME, * LPOPENFILENAME;
#pragma code("comdlg32.dll")
BOOL GetOpenFileNameA(LPOPENFILENAME lpofn);
#pragma code()
OPENFILENAME OpenFile;
char szFile[MAX_PATH] = '\0';
char sRet[MAX_PATH];
HWND Handle = NULL;
BOOL bRet = FALSE;
Handle=FindWindow(NULL,"WinCC-Runtime - ");
OpenFile.lStructSize = sizeof(OPENFILENAME);
OpenFile.hwndOwner = Handle;
OpenFile.lpstrFilter = "Text Files\0*.txt;*.ini\0";
OpenFile.nFilterIndex = 1;
OpenFile.lpstrFile = szFile;
OpenFile.nMaxFile = MAX_PATH - 1;
OpenFile.lpstrFileTitle = szFile;
OpenFile.nMaxFileTitle = OpenFile.nMaxFile;
OpenFile.lpstrInitialDir = "D:\\";
//OpenFile.lpstrTitle = "Use the Comdlg API not the OCX";//不设置时默认标题为"打开"
OpenFile.Flags = 0;
bRet = GetOpenFileNameA(&OpenFile);
if (bRet)
sprintf(sRet,"The User Chose %s",OpenFile.lpstrFile);
else
strcpy(sRet,"The User pressed the Cancel Button.");
SetText(lpszPictureName,"StaticText1",sRet); //画面中一个静态文本,用作显示你的选择
}
无论成与败,无论甜与苦,我还是我。