ページ 11

GetOpenFileNameに関して

Posted: 2012年12月26日(水) 11:55
by jyosyua
テストでofn.Flags=OFN_FILEMUSTEXIST & ~OFN_HIDEREADONLY;
の様にしましたが、チェックボックスは表示されませんでした。
windows7以降ではチェックボックスは表示されないのでしょうか?
どうかよろしくお願いいたします。

コード:

int MyOpen(HWND hEdit){
	//int id;
	DWORD dwSize=0L;
	static OPENFILENAME ofn;
	HANDLE hFile;
	DWORD dwAccBytes;
	char *lpszBuf;

	HGLOBAL hMem;

	if(IDCANCEL==MyConfirm(hEdit))return -1;

	memset(&ofn,0,sizeof(OPENFILENAME));
	ofn.lStructSize=sizeof(OPENFILENAME);
	ofn.hwndOwner=hEdit;
	ofn.lpstrFilter=
		"text(*.txt)\0*.txt\0All files(*.*)\0*.*\0rich text(*.rtf)\0*.rtf\0\0";
	ofn.lpstrFile=szFile;
	ofn.lpstrFileTitle=szFileTitle;
	ofn.nMaxFile=MAX_PATH;
	ofn.nMaxFileTitle=MAX_PATH;
//存在するものだけ | 読み取り専用チェックボックスの非表示(VISTA以上は常にON)
	ofn.Flags=OFN_FILEMUSTEXIST & ~OFN_HIDEREADONLY;//&OFN_READONLY;
	ofn.lpstrDefExt="txt";
	ofn.lpstrTitle="猫でも分かるファイルオープン";

	//ファイル名の取得
	if(GetOpenFileName(&ofn)==0)return -1;



	///////////////////////////////////ココから//////////////////
	///////////////////////////////////ココから//////////////////

	return 0;
}

Re: GetOpenFileNameに関して

Posted: 2012年12月26日(水) 13:19
by softya(ソフト屋)
OFN_HIDEREADONLY 「読み取り専用」チェックボックスを隠す
なんですが、チェックボックスは表示されないのでは?

あとVista以降のスタイルでは「読み取り専用チェックボックス」が廃止されているようです。
「Vista での OPENFILENAME [読み取り専用として開く]チェックボックスについて」
http://social.msdn.microsoft.com/Forums ... bef1bf26a/

Re: GetOpenFileNameに関して

Posted: 2012年12月26日(水) 19:21
by jyosyua
そうなんです&~の様にしても表示されないんです。
>>あとVista以降のスタイルでは「読み取り専用チェックボックス」が廃止されているようです。
やはりそうですか、納得いきました。
どうもありがとうございました。毎回毎回すみません。面倒かけて。今回も助かりました。疑問残ると嫌なんですよ。
ぐぐったり、MSDN調べたり一応してるんですが。