GetOpenFileNameに関して

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
jyosyua
記事: 65
登録日時: 13年前
住所: 八王子市
連絡を取る:

GetOpenFileNameに関して

#1

投稿記事 by jyosyua » 11年前

テストで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;
}

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: GetOpenFileNameに関して

#2

投稿記事 by softya(ソフト屋) » 11年前

OFN_HIDEREADONLY 「読み取り専用」チェックボックスを隠す
なんですが、チェックボックスは表示されないのでは?

あとVista以降のスタイルでは「読み取り専用チェックボックス」が廃止されているようです。
「Vista での OPENFILENAME [読み取り専用として開く]チェックボックスについて」
http://social.msdn.microsoft.com/Forums ... bef1bf26a/
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

jyosyua
記事: 65
登録日時: 13年前
住所: 八王子市
連絡を取る:

Re: GetOpenFileNameに関して

#3

投稿記事 by jyosyua » 11年前

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

閉鎖

“C言語何でも質問掲示板” へ戻る