MFC

yair24

Member
MFC

שלום, כשאנ יוצר קובץ בMFC ולא מוסיף לו כלום אז עדיין כשאני לוחץ על FILE וOPEN אז נפתחת התיבה של בחירת הקבצים באיזה מחלקה יש את הפונקציה שאומרת לתיבה הזאת להיפתח? יאיר
 
אני לא בטוח שהבנתי לגמריי

אבל ייתכן שאתה מחפש את המחלקה CFileDialog שמאפשרת יצירה קלה של דיאלוג לפתיחת/שמירת קבצים בברכה גיליוטין
 

yair24

Member
התכוונתי ל...

כשאני לוחץ על FILE OPEN אז נפתחת לי תיבת בחירת הקבצים נכון? אז אם היא נפתחת סימן שיש איפשהו בקוד מקום שכתובה שם פקודה שאומרת לתיבה הזו להיפתח השאלה שלי היא איפה זה כתוב... יאיר
 

gilad_no

New member
במימוש של CWinApp

או של CDocument. אני כבר לא זוכר. ההימור שלי הינו על הראשון.
 

yair24

Member
אוקיי...

מצאתי את ההגדרה הבאה:
BEGIN_MESSAGE_MAP(CPicApp, CWinApp) //{{AFX_MSG_MAP(CPicApp) ON_COMMAND(ID_APP_ABOUT, OnAppAbout) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG_MAP // Standard file based document commands ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew) ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) // Standard print setup command ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup) END_MESSAGE_MAP()​
בVB החלון הזה מחזיר מחרוזת של הPATH לקובץ שבחרו ממנו... איך אני לוקח את המחרוזת הזאת בVC? יאיר
 

gilad_no

New member
אתה לא צריך לנגוע בזה

הרעיון של מסמך\לקוח זה שהם יודעים לדבר אחד עם השני. אתה נותן למסגרת לנהל את כל הפעולות הבנאליות כמו פתיחת קובץ, שמירת קובץ, תפריטים ועוד. אם אתה דורס את הפונקציות הנ"ל (OnFileOpen), אז אתה צריך להגדיר לבד את מנגנון טעינת הקובץ ולקבל ממנו את הנתיב. (CFileDialog::GetPathName).
 

yair24

Member
אני אגיד לך מה אני רוצה...

אני רוצה לפתוח קובץ מסוג BMP ולהציג אותו בחלון הSDI שלי בפינה השמאלית העליונה. אז אנ יחייב לדרוס את הפונקציות האלה על מנת לעשות את זה לא? או שאשר לעשות את זה במקום אחר? יאיר
 

gilad_no

New member
לא צריך לדרוס

אתה מתעסק רק עם CDocument. אם אתה עובד עם BMP, תגדיר אובייקט של CBitmap בתוך המסמך שלך, וכל הפעולות יהיו עליו. כל הפתיחה של הקבצים, וכל הפונקציות, תשתמש בCDocument
 
למעלה