לאחר שהסטודנטים ב- Visual Basic לומדים הכל על לולאות והצהרות ותניות משנה וכדומה, אחד הדברים הבאים הדברים שהם שואלים עליהם לעתים קרובות הם: "כיצד אוכל להוסיף מפת סיביות, קובץ WAV, סמן מותאם אישית או אפקט מיוחד אחר?" אחד תשובה היא קבצי משאבים. כשאתה מוסיף קובץ באמצעות קבצי משאבים של Visual Studio, הם משולבים ישירות בפרויקט Visual Basic שלך בשביל מהירות ביצוע מקסימאלית ומטרות מינימליות אריזה ופריסה שלך יישום.
קבצי משאבים זמינים ב- VB 6 וגם ב VB.NET, אך אופן השימוש בהם, כמו כל דבר אחר, שונה לא מעט בין שתי המערכות. קחו בחשבון שזו לא הדרך היחידה להשתמש בקבצים בפרויקט VB, אבל יש לזה יתרונות אמיתיים. לדוגמה, תוכל לכלול מפת סיביות ב- PictureBox שליטה או שימוש ב- mciSendString ממשק API של Win32. "MCI" הוא קידומת המציינת בדרך כלל מחרוזת פיקוד מולטימדיה.
יצירת קובץ משאבים ב- VB 6
אתה יכול לראות את המשאבים בפרויקט הן VB 6 והן VB.NET בפרויקט סייר הפרויקטים חלון (סייר הפתרונות ב- VB.NET - הם היו צריכים להפוך את זה למעט שונה). לפרויקט חדש לא יהיה שום דבר מכיוון שמשאבים אינם כלי ברירת מחדל ב- VB 6. אז בואו נוסיף משאב פשוט לפרויקט ונראה איך זה נעשה.
שלב ראשון הוא להתחיל VB 6 על ידי בחירת a EXE רגיל פרויקט בנושא חדש בכרטיסייה בתיבת הדו-שיח אתחול. בחר כעת תוספות בסרגל התפריטים ואז על מנהל התוספות ... זה יפתח את חלון הדו-שיח של מנהל התוספות.
גלול מטה ברשימה ומצא עורך משאבים VB 6. אתה יכול פשוט ללחוץ עליו פעמיים או להוסיף סימן סימון בתיבה נטען / פרוק תיבה להוספת כלי זה לסביבת VB 6 שלך. אם אתה חושב שאתה מתכוון להשתמש בעורך המשאבים הרבה, אתה יכול גם למקם סימן תיבה בתיבה טען בעת ההפעלה ולא תצטרך לעבור את הצעד הזה שוב בעתיד. לחץ על "אישור" ועורך המשאבים נפתח. אתה מוכן להתחיל להוסיף משאבים לפרויקט שלך!
עבור לסרגל התפריטים ובחר פרויקט לאחר מכן הוסף קובץ משאבים חדש או לחץ באמצעות לחצן העכבר הימני בעורך המשאבים ובחר "פתח" מתפריט ההקשר שצץ. ייפתח חלון המבקש את השם והמיקום של קובץ המשאב. מיקום ברירת המחדל כנראה לא יהיה מה שאתה רוצה, אז נווט לתיקיית הפרוייקט והזן את שם קובץ המשאב החדש שלך שם קובץ קופסא. במאמר זה אשתמש בשם "AboutVB.RES" עבור קובץ זה. תצטרך לאשר את יצירת הקובץ בחלון אימות, וקובץ "AboutVB.RES" ייווצר וימלא בעורך המשאבים.
תומך VB6
VB6 תומך בפריטים הבאים:
- עורך טבלאות מיתרים
("ערוך טבלאות מחרוזת ...") - סמנים בהתאמה אישית - קבצי "CUR"
("הוסף סמן ...") - סמלים מותאמים אישית - קבצי "ICO"
("הוסף אייקון ...") - מפות סיביות מותאמות אישית - קבצי "BMP"
("הוסף מפת סיביות ...") - משאבים מוגדרים על ידי מתכנת
("הוסף משאב מותאם אישית ...")
VB 6 מספק עורך פשוט למחרוזות, אך עליך ליצור קובץ בכלי אחר עבור כל שאר האפשרויות. לדוגמה, אתה יכול ליצור קובץ BMP באמצעות התוכנית הפשוטה של Windows Paint.
כל משאב בקובץ המשאב מזוהה ל- VB 6 על ידי an מזהה ושם בעורך המשאבים. כדי להפוך משאב לזמין לתוכנית שלך, אתה מוסיף אותם בעורך המשאבים ומשתמש במזהה ובמשאב "סוג" כדי להצביע עליהם בתוכנית שלך. בואו נוסיף ארבעה אייקונים לקובץ המשאב ונשתמש בהם בתוכנית.
כשאתה מוסיף משאב, הקובץ עצמו מועתק לפרויקט שלך. Visual Studio 6 מספק אוסף שלם של אייקונים בתיקיה ...
C: \ קבצי תוכנית \ Microsoft Visual Studio \ Common \ Graphics \ Icons
כדי להתמודד עם המסורת, נבחר את ארבעת "האלמנטים" של הפילוסוף היווני אריסטו - אדמה, מים, אוויר ואש - מתוך ספריית המשנה אלמנטים. כשמוסיפים אותם, המזהה מוקצה על ידי Visual Studio (101, 102, 103 ו- 104) באופן אוטומטי.
כדי להשתמש בסמלים בתוכנית, אנו משתמשים בפונקציה VB 6 "Load Resource". יש כמה פונקציות לבחירה:
- LoadResPicture (אינדקס, פורמט) עבור מפת סיביות, סמלים וסמנים
השתמש בקבועים המוגדרים מראש VB vbResBitmap עבור מפת סיביות, vbResIcon עבור סמלים, ו סמן vbRes עבור סמנים עבור פרמטר "פורמט". פונקציה זו מחזירה תמונה בה תוכלו להשתמש ישירות. LoadResData (מוסבר להלן) מחזירה מחרוזת הכוללת את הסיביות בפועל בקובץ. נראה כיצד להשתמש בזה לאחר שנדגים אייקונים.
- LoadResString (אינדקס) למיתרים
- LoadResData (אינדקס, פורמט) לכל דבר של עד 64K
כפי שצוין קודם לכן, פונקציה זו מחזירה מחרוזת עם הסיביות בפועל במשאב. אלה הערכים שניתן להשתמש בהם לפרמטר פורמט כאן:
1 משאב הסמן
2 משאב מפת סיביות
3 משאב אייקון
4 משאב תפריט
5 תיבת דיאלוג
6 משאב מיתרים
7 משאב ספריית גופנים
8 משאב גופנים
9 שולחן מאיץ
10 משאב מוגדר על ידי המשתמש
12 סמן קבוצתי
14 אייקון קבוצתי
מכיוון שיש לנו ארבעה אייקונים בקובץ המשאבים AboutVB.RES שלנו, בוא נשתמש LoadResPicture (אינדקס, פורמט) להקצות אלה לנכס תמונה של CommandButton ב- VB 6.
יצרתי אפליקציה עם ארבעה OptionButton רכיבים שכותרתם כדור הארץ, מים, אוויר ואש וארבעה אירועי קליקים - אחד לכל אפשרות. ואז הוספתי א CommandButton ושינה את המאפיין סגנון ל- "1 - גרפי." זה הכרחי כדי להיות מסוגל להוסיף סמל מותאם אישית לחצן הפקודה. הקוד לכל כפתור OptionBB (ואירוע טעינת הטופס - לאתחל אותו) נראה כך (כאשר ה- ID והכיתוב השתנו בהתאם לשאר האירועים ב- OptionButton Click):
משאבים מותאמים אישית
"העסקה הגדולה" עם משאבים מותאמים אישית היא שלרוב עליך לספק דרך לעבד אותם בקוד התוכנית שלך. כפי ש מיקרוסופט מצהיר זאת, "בדרך כלל הדבר מצריך שימוש בשיחות Windows API." זה מה שנעשה.
הדוגמה בה נשתמש היא דרך מהירה לטעון מערך עם סדרה של ערכים קבועים. זכור שקובץ המשאב נכלל בפרויקט שלך, כך שאם הערכים שאתה צריך לטעון שינוי, תצטרך להשתמש בגישה מסורתית יותר כגון קובץ רצף שאתה פותח לקרוא. ממשק ה- API של Windows בו אנו משתמשים הוא CopyMemory ממשק API. CopyMemory מעתיק חסימת זיכרון לבלוק זיכרון אחר ללא התחשבות בסוג הנתונים המאוחסן שם. טכניקה זו מוכרת היטב ל- VB 6'ers כדרך מהירה ביותר להעתקת נתונים בתוכנית.
התוכנית הזו מעורבת קצת יותר כי ראשית עלינו ליצור את קובץ המשאב המכיל סדרה של ערכים ארוכים. פשוט הקצתי ערכים למערך:
כמהה עמום (10) כל עוד
געגוע (1) = 123456
געגוע (2) = 654321
... וכן הלאה.
ואז ניתן לכתוב את הערכים לקובץ שנקרא MyLongs.longs באמצעות הצהרת ה- "Put" של VB 6.
כדאי לזכור שקובץ המשאב לא משתנה אלא אם מוחקים את הישן ומוסיפים קובץ חדש. לכן, באמצעות טכניקה זו, הייתם צריכים לעדכן את התוכנית כדי לשנות את הערכים. כדי לכלול את הקובץ MyLongs.longs בתוכנית שלך כמשאב, הוסף אותו לקובץ משאב באמצעות אותם צעדים שתוארו לעיל, אך לחץ על הוסף משאב מותאם אישית ... במקום הוסף אייקון... לאחר מכן בחר בקובץ MyLongs.longs כקובץ להוסיף. עליך גם לשנות את "סוג" המשאב על ידי לחיצה ימנית על המשאב, בחירה ב"מאפיינים ", ושינוי הסוג ל"געגוע". שים לב שזה סוג הקובץ של קובץ MyLongs.longs שלך.
כדי להשתמש בקובץ המשאב שיצרת כדי ליצור מערך חדש, הכרז תחילה על קריאת ה- API של Win32 CopyMemory:
ואז קרא את קובץ המשאב:
בשלב הבא העבירו את הנתונים ממערך הבתים למערך של ערכים ארוכים. הקצה מערך לערכי הגעגועים באמצעות ערך מספר שלם של אורך מחרוזת הבתים מחולק ב -4 (כלומר 4 בתים לאורך):
עכשיו, זה אולי נראה כמו הרבה צרות כשאתה יכול פשוט לאתחל את המערך באירוע טען הטופס, אבל זה כן מדגים כיצד להשתמש במשאב מותאם אישית. אם הייתה לך קבוצה גדולה של קבועים שהיית צריך לאתחל את המערך איתה, היא הייתה פועלת מהר יותר מכל שיטה אחרת שאני יכול לחשוב עליה ולא היית צריך להכניס קובץ נפרד ליישום שלך זה.