เคล็ดลับที่เป็นประโยชน์

วิธีสร้างหน้าต่าง (แอปพลิเคชัน)

Pin
Send
Share
Send
Send


  • - คอมไพเลอร์
  • - แพลตฟอร์ม Windows SDK

ลงทะเบียนคลาสหน้าต่างที่จะสร้างถ้าจำเป็น เรียกใช้ฟังก์ชัน API RegisterClass, RegisterClassEx หรือใช้ฟังก์ชันการทำงานที่สอดคล้องกันของกรอบงานที่นำไปใช้

ฟังก์ชัน RegisterClass และ RegisterClassEx นำพอยน์เตอร์ไปยังโครงสร้างประเภท WNDCLASS และ WNDCLASSEX ตามลำดับเป็นพารามิเตอร์เดียว ค่าส่งคืนของชนิด ATOM สามารถใช้แทนชื่อคลาสเมื่อสร้างหน้าต่าง หากการเรียกฟังก์ชันล้มเหลวจะส่งคืนค่า 0

สร้างอินสแตนซ์ของโครงสร้างชนิด WNDCLASS หรือ WNDCLASSEX กรอกข้อมูลในฟิลด์ที่จำเป็นทั้งหมด โดยเฉพาะอย่างยิ่งค่าที่ถูกต้องควรอยู่ใน:

- cbSize - ขนาดของโครงสร้างหน่วยเป็นไบต์
- สไตล์ - ชุดของรูปแบบคลาสหน้าต่าง
- lpfnWndProc - ตัวชี้ไปยังขั้นตอนของหน้าต่าง
- hInstance จัดการกับโมดูลที่มีการลงทะเบียนคลาสหน้าต่าง
- lpszClassName เป็นชื่อสัญลักษณ์ของคลาส

ฟิลด์ที่เหลืออาจมีค่า Null เรียกใช้ฟังก์ชันเพื่อลงทะเบียนคลาสหน้าต่าง ตรวจสอบผลลัพธ์ที่ส่งคืน

สร้างหน้าต่าง Windows ใช้ฟังก์ชัน CreateWindow, CreateWindowEx API หรือวิธี wrapper ที่สอดคล้องกันของคลาสอ็อบเจ็กต์ของเฟรมเวิร์กหรือไลบรารีที่ใช้ แบบตัวอย่างของฟังก์ชัน CreateWindowEx มีดังต่อไปนี้:

HWND CreateWindowEx (
DWORD dwExStyle
LPCTSTR lpClassName
LPCTSTR lpWindowName
DWORD dwStyle
int x
int y
int n ความกว้าง
int nHeight
HWND hWndParent
HMENU hMenu
HINSTANCE hinstance
LPVOID lpParam
),

ฟังก์ชัน CreateWindow แตกต่างจาก CreateWindowEx เฉพาะในกรณีที่ไม่มีพารามิเตอร์ dwExStyle

โทรไปที่ CreateWindow หรือ CreateWindowEx ส่งชื่อหรือค่าของชนิด ATOM ของคลาสหน้าต่างที่กำหนดในขั้นตอนที่หนึ่งหรือสองเป็นพารามิเตอร์ lpClassName พารามิเตอร์ x, y, nWidth, nHeight สามารถเป็นพิกัดและขนาดของหน้าต่างที่สร้างขึ้น หมายเลขอ้างอิงไปยังหน้าต่างหลัก (ถ้ามี) ถูกส่งผ่าน hWndParent

บันทึกและแยกค่าที่ส่งคืนโดยฟังก์ชัน CreateWindow หรือ CreateWindowEx ถ้าสำเร็จพวกเขาจะส่งกลับหมายเลขอ้างอิงไปที่หน้าต่างใหม่ถ้าล้มเหลวพวกเขาจะกลับ NULL

ความรู้ที่จำเป็น:

การสร้างโปรแกรมนี้เราจะพิจารณาหลักการพื้นฐานของการสร้างโปรแกรมหน้าต่าง C #เช่นเดียวกับวิธีการในการตระหนักถึงเป้าหมายสูงสุดกับพวกเขาในกรณีของเรานี่เป็นหน้าต่างหนีที่ตลก

สร้างโครงการใหม่ติดตั้งแอปพลิเคชันเป็นประเภทของเทมเพลต แบบฟอร์ม Windowsดังแสดงในรูปที่ 1:
รูปที่ 1 การสร้างโครงการใหม่
ตั้งชื่อโครงการ RandWindow และกดปุ่ม ตกลง.

หน้าต่างการทำงาน MS Visual Studio มีหน้าต่างเสริมต่อไปนี้
รูปที่ 2 หน้าต่างเสริม
ในรูปตัวเลขที่ทำเครื่องหมาย:

  1. หน้าต่าง กล่องเครื่องมือ (แผงควบคุม) - คุณสามารถวางตัวควบคุมบนแบบฟอร์มที่สร้างขึ้น
  2. หน้าต่าง โซลูชันการสำรวจ (Solution Explorer) - ที่นี่คุณสามารถเห็นโหนดต่อไปนี้: สรรพคุณ - การตั้งค่าโครงการ การเชื่อมโยง (ลิงค์) - ไลบรารีที่เชื่อมต่อกับโครงการรวมถึงไฟล์ต้นฉบับที่สร้างและเชื่อมต่อกับโครงการ (พร้อมส่วนขยาย .cs) และแบบฟอร์มที่เชื่อมต่อกับโครงการ (ตัวอย่างเช่น Form1).
  3. หน้าต่าง มุมมองคลาส (หน้าต่างคลาส) - นี่คือคลาสทั้งหมดที่สร้างในโปรแกรม
  4. หน้าต่าง สรรพคุณ (คุณสมบัติ) - โดยการเลือกการควบคุมใด ๆ หรือแม้กระทั่งรูปแบบคุณสามารถดูพารามิเตอร์ทั้งหมดของวัตถุนี้เช่นเดียวกับการเปลี่ยนค่าเริ่มต้นในพวกเขา

การสร้างแอปพลิเคชันหน้าต่างจะเกิดขึ้นเพื่อสร้างกล่องโต้ตอบที่จำเป็นทั้งหมดรวมถึงการวางองค์ประกอบที่จำเป็น ในอนาคตเรากำหนดค่าการประมวลผลกิจกรรมที่สร้างโดยผู้ใช้และกำหนดค่าด้านเทคนิคของโปรแกรม ในกรณีของเราอันดับแรกเราจะวางการควบคุมที่จำเป็นทั้งหมดไว้ในแบบฟอร์มหลักหลังจากนั้นเราจะเพิ่มตัวจัดการเหตุการณ์การเลื่อนเมาส์และการประมวลผลการคลิกปุ่ม

การเพิ่มตัวควบคุมใหม่ให้กับฟอร์ม

ดังนั้นหลังจากคุณป้อนชื่อโครงการแล้วให้ติดตั้งเทมเพลตที่จำเป็นและคลิก ตกลง, MS Visual Studio มันจะสร้างกรอบแอพพลิเคชันหน้าต่างโดยอัตโนมัติหลังจากนั้นเราสามารถเพิ่มองค์ประกอบหน้าต่างใหม่

ในการทำสิ่งนี้ให้ลากองค์ประกอบของหน้าต่างที่ต้องการจากหน้าต่างเครื่องมือ (กล่องเครื่องมือ).

หน้าต่างของเราจะต้องการ 2 องค์ประกอบของฟิลด์อินพุตซึ่งเราจะแสดงพิกัดของตัวชี้เมาส์ซึ่งจะช่วยให้เราเข้าใจโปรแกรมได้ง่ายขึ้น

ในใจกลางของหน้าต่างจะมีจารึกที่เราจะสร้างโดยใช้องค์ประกอบ ฉลาก.
ด้านล่างนี้จะอยู่ 2 ปุ่ม

ยืดหน้าต่างเปล่าสักหน่อย หากคุณคลิกขวาที่มันเมนูบริบทจะเปิดขึ้น ในนั้นคลิกที่รายการทรัพย์สินหลังจากนั้นคุณสามารถศึกษาพารามิเตอร์ต่าง ๆ ของหน้าต่างที่คุณสามารถเปลี่ยน รูปที่ 3 แสดงคุณสมบัติที่จำเป็นมากที่สุด (ปกติ):
รูปที่ 3 คุณสมบัติหน้าต่าง (ฟอร์ม) ต่าง ๆ ใน C # .NET
ยืดหน้าต่างให้ว่างสักครู่แล้วเพิ่มองค์ประกอบที่จำเป็นทั้งหมด ในรูปที่ 4 คุณสามารถเห็นพวกเขาในหน้าต่าง กล่องเครื่องมือ:
รูปที่ 4. ลากและวางองค์ประกอบที่จำเป็นจากกล่องเครื่องมือไปยังแบบฟอร์มที่สร้างขึ้น

ไปที่คุณสมบัติของสตริง Label1ที่จะเปลี่ยนข้อความเป็น "คุณพยายามทำให้โลกนี้น่าอยู่ขึ้นหรือไม่?" เปลี่ยนประเภทตัวอักษรสำหรับคุณสมบัตินี้ด้วย ตัวอักษร .
รูปที่ 5 คุณสมบัติแบบอักษรขององค์ประกอบฉลาก
จากนั้นตั้งค่าประเภทตัวอักษร Tahomaความกว้างของแบบอักษร กล้า และขนาดเท่ากัน 16 .
รูปที่ 6 การตั้งค่าแบบอักษร
ถัดไปเปลี่ยนข้อความบนปุ่มโดยใช้คุณสมบัติ ข้อความ.

ผลลัพธ์ที่ว่างเปล่าของหน้าต่างโปรแกรมจะมีลักษณะดังนี้
รูปที่ 7 รูปแบบจะมีลักษณะดังนี้

ส่วนทางเทคนิคของโปรแกรม

  1. อันดับแรกเราจะเพิ่มตัวจัดการเหตุการณ์ของเมาส์และใช้ผลลัพธ์ของพิกัด x และ Y เป็นสองฟิลด์อินพุตที่สร้าง
  2. ต่อไปเราจะสร้างฟังก์ชั่นจัดการสำหรับการคลิกที่ปุ่มเมาส์แต่ละปุ่ม (โดยเฉพาะผู้ใช้ที่ทำงานหนักยังสามารถไปที่“ใช่แน่นอน!»).
  3. ต่อไปเราจะเพิ่มรหัสที่ใช้การเคลื่อนไหวของหน้าต่างแบบสุ่มในกรณีที่เคอร์เซอร์เข้าใกล้“ใช่แน่นอน!».

การกำหนดการเคลื่อนไหวของตัวชี้เมาส์ตามรูปร่าง

คลิกโดยตรงที่ส่วนฟอร์มของแอปพลิเคชัน (ไม่ ในหนึ่งในองค์ประกอบ)

ตอนนี้ไปที่คุณสมบัติของฟอร์มด้วยการคลิกขวา -> เมนูบริบท สรรพคุณ.

ตอนนี้คุณต้องไปที่รายการเหตุการณ์ที่เป็นไปได้ที่หน้าต่างนี้สามารถรับได้ ในการทำเช่นนี้คลิกที่“เหตุการณ์"(กิจกรรม) ดังแสดงในรูปที่ 8:
รูปที่ 8 ไปที่รายการเหตุการณ์ที่เป็นไปได้
เมื่อผู้ใช้เลื่อนเมาส์ไปที่หน้าต่างของเราระบบปฏิบัติการจะส่งข้อความไปยังโปรแกรมด้วยพิกัดปัจจุบันของตัวชี้ เราต้องการพวกเขา

หากต้องการกำหนดตัวจัดการสำหรับเหตุการณ์นี้ให้ค้นหาบรรทัด MouseMove จากนั้นดับเบิลคลิกในช่องทางด้านขวา - ตัวจัดการเหตุการณ์เมาส์จะถูกเพิ่มโดยอัตโนมัติและฟังก์ชั่นจะถูกเพิ่ม Form1_MouseMove ในรหัสของโปรแกรมของเรา
รูปที่ 9. หลังจากดับเบิลคลิกที่ด้านขวาของ MouseMove บรรทัดนี้จะปรากฏขึ้นและการเปลี่ยนเป็นโค้ดของฟังก์ชันตัวจัดการของเหตุการณ์นี้จะเกิดขึ้นโดยอัตโนมัติ
เพิ่ม 2 บรรทัดในฟังก์ชันนี้เพื่อให้โค้ดมีลักษณะดังนี้


ฟังก์ชันนี้ที่ประมวลผลเหตุการณ์การเลื่อนตัวชี้เมาส์เหนือฟอร์มที่ได้รับ 2 พารามิเตอร์: วัตถุผู้ส่งและอินสแตนซ์ของคลาส MouseEventsArgsมีข้อมูลเกี่ยวกับพิกัดของตัวชี้เมาส์และคุณสมบัติปัจจุบันอื่น ๆ

textBox1 และ Textbox2 นี่คืออินสแตนซ์ของคลาส ช่องที่จัดการองค์ประกอบฟิลด์อินพุตของเรา

สมาชิกข้อมูลอินสแตนซ์ ข้อความ อนุญาตให้คุณตั้งค่าข้อความในฟิลด์เหล่านี้

ดังนั้นถ้าตอนนี้คุณคอมไพล์โปรแกรมF5) เมื่อเลื่อนตัวชี้เมาส์ไปที่รูปร่างหน้าต่างเราจะเห็นพิกัดของตัวชี้ (ภายในฟอร์ม) ซึ่งจะเปลี่ยนอย่างต่อเนื่อง

ตอนนี้กลับไปที่รูปแบบเปล่าของเรา ในการทำเช่นนี้คลิกที่แท็บที่เกี่ยวข้อง (Form1.cs [ตัวสร้าง])ดังแสดงในรูปที่ 10:
รูปที่ 10 การเปลี่ยนไปใช้ตัวออกแบบฟอร์ม C #
ดับเบิลคลิกที่ปุ่มแรก: สตูดิโอภาพ จะเพิ่มรหัสการประมวลผลของปุ่มนี้โดยอัตโนมัติเมื่อกด

เพิ่มบรรทัดของรหัสต่อไปนี้:


ตอนนี้กลับไปที่ผู้ออกแบบและเพิ่มปุ่มที่สองด้วยการดับเบิลคลิกที่มัน

มันจะมีรหัสต่อไปนี้:


อย่างที่คุณเห็นอยู่ที่นี่เรามีรหัสที่ซับซ้อนเล็กน้อยสำหรับการเรียกใช้กล่องข้อความเพื่อแสดงวิธีการทำงานในรายละเอียดเพิ่มเติม พารามิเตอร์ทั้งหมดถูกส่งผ่านไปยังฟังก์ชัน แสดง แสดงความคิดเห็นในรหัสที่มา

ตอนนี้เราต้องตระหนักถึงความเคลื่อนไหวของหน้าต่างในขณะที่เม้าส์เข้าหาปุ่ม“ใช่แน่นอน».

ในการทำเช่นนี้เราเพิ่มโค้ดลงในฟังก์ชัน:

โมฆะส่วนตัวForm1_MouseMove (ผู้ส่งวัตถุ, MouseEventArgs)

หลักการง่ายมาก: รับพิกัดของการเคลื่อนไหวของเมาส์เราตรวจสอบเพื่อดูว่าพวกเขาจะรวมอยู่ในตารางที่แสดงปุ่มของเราด้วยระยะขอบเล็ก ๆ ถ้าเป็นเช่นนั้นเราจะสร้างตัวเลขสุ่ม 2 หมายเลขที่จะใช้ในการย้ายหน้าต่าง

เราสามารถติดตามข้อความเกี่ยวกับการวางเมาส์เหนือปุ่ม แต่มันมาพร้อมความล่าช้าที่เห็นได้ชัดเจนและดังนั้นผู้ใช้คลิกที่ปุ่มใช่โดยไม่ยากดังนั้นเราจึงคำนวณเคอร์เซอร์เข้าไปในบริเวณรอบ ๆ ปุ่ม

เราจะต้องประกาศบางอย่าง "การทำงาน"ตัวแปรที่เราจะใช้ต่อไป

สภาพงาน

1. พัฒนากล่องโต้ตอบที่มีปุ่มสองปุ่มตกลงและยกเลิก

มะเดื่อ 1. แบบฟอร์มที่จะสร้าง

2. เรียกกล่องโต้ตอบจากหน้าต่างหลักของแอปพลิเคชัน แสดงข้อความที่เกี่ยวข้องหากกดปุ่มหนึ่งในสองปุ่มนี้ในกล่องโต้ตอบ: ตกลงและยกเลิก

2. สร้างโครงการ C ++ โดยใช้แม่แบบแอปพลิเคชันที่ใช้ Dialog

ตัวอย่างโดยละเอียดของการสร้างโครงการโดยใช้แม่แบบ Dialog Based Application อธิบายไว้ ที่นี่ .

ในหน้าต่างสำหรับสร้างโครงการใหม่ให้ตั้งชื่อแอปพลิเคชันเป็น MFCApp ในอนาคตเราจะกลายเป็นชื่อนี้

โฟลเดอร์แอปพลิเคชันในกรณีของเรา (ไม่สำคัญ):

เมื่อสร้างโครงการใหม่ในตัวช่วยสร้างเลือกแอพพลิเคชั่นที่ใช้ไดอะล็อก การตั้งค่าอื่น ๆ ทั้งหมดจะถูกปล่อยไว้ตามค่าเริ่มต้น

ดังนั้นสองคลาสจะถูกสร้างด้วยชื่อ CMFCAppApp และ CMFCAppDlg

หน้าต่างของ MS Visual Studio หลังจากการกระทำที่เสร็จสมบูรณ์จะมีลักษณะดังแสดงในรูปที่ 2

มะเดื่อ 2. แบบฟอร์มใบสมัครหลังจากสร้าง Dialog Based Application

3. เปลี่ยนรูปลักษณ์ของแบบฟอร์มหลัก

ลองลบปุ่มตกลง และเปลี่ยนชื่อปุ่มยกเลิกเป็นออก

ในการลบปุ่มตกลงคุณต้องเลือกก่อนจากนั้นกดปุ่ม Delete

ดังนั้นเราจึงลบองค์ประกอบที่เขียน:

หากต้องการเปลี่ยนชื่อปุ่มยกเลิกก่อนอื่นให้เลือกจากนั้นในหน้าต่างคุณสมบัติในคุณสมบัติคำบรรยายให้พิมพ์คำว่า "ออกจาก" ดังนั้นแอปพลิเคชันจึงได้รับการกำหนดค่าให้คลิกที่ปุ่ม "ออก" ในลักษณะที่แอปพลิเคชันออก

มะเดื่อ 3. เปลี่ยนชื่อปุ่มจาก "ยกเลิก" เป็น "ออก"

จนถึงตอนนี้ในหน้าต่างของพาเนลคุณสมบัติเรามีสององค์ประกอบ:

  • IDD_MFCAPP_DIALOG - หน้าต่างแอปพลิเคชันหลัก
  • IDCANCEL - ปุ่ม "ออก" (เดิมชื่อ "ยกเลิก")

คุณสามารถดาวน์โหลดแอปพลิเคชันสำหรับการดำเนินการและทดสอบการทำงาน

เราใส่ปุ่มอีกปุ่มหนึ่งลงบนแบบฟอร์มที่ไม่ได้เชื่อมโยงกับตัวจัดการเหตุการณ์ องค์ประกอบ IDC_BUTTON1 อื่นปรากฏขึ้นในหน้าต่างบานหน้าต่างคุณสมบัติ

แบบฟอร์มใบสมัครจะแสดงในรูปที่ 4

มะเดื่อ 4. การลบปุ่มที่ไม่ได้ผูกไว้กับตัวจัดการเหตุการณ์

กระบวนการคำบรรยายภาพคุณสมบัติของปุ่ม IDC_BUTTON1 ถูกเปลี่ยนเป็น Form2 หลังจากคลิกที่ปุ่มนี้กล่องโต้ตอบจะถูกเรียกใช้

5. การก่อตัวของคลาสและทรัพยากรของกล่องโต้ตอบ

ใน MS Visual Studio ทรัพยากรกล่องโต้ตอบจะถูกสร้างขึ้นโดยอัตโนมัติหลังจากสร้างคลาสหน้าต่าง ดังนั้นโดยการสร้างคลาสหน้าต่างเราจะสร้างทรัพยากรหน้าต่างโดยอัตโนมัติ

ในการทำงานกับคลาสจะมีการใช้ Class Wizard หากต้องการเรียก Class Wizard ให้คลิกขวาและเลือกคำสั่ง“ Class Wizard ... ” ในเมนูบริบท (รูปที่ 5)

มะเดื่อ 5. โทร "Class Wizard ... " เพื่อสร้างคลาสและกล่องโต้ตอบทรัพยากร

ดังนั้นหน้าต่างจะเปิดขึ้นซึ่งจะแสดงในรูปที่ 6

มะเดื่อ 6. หน้าต่าง“ MFC Class Wizard”

หน้าต่างมีฟิลด์ต่อไปนี้:

1. ฟิลด์“ โครงการ:” - โครงการที่มีอยู่ในโซลูชัน (โซลูชัน)

2. ฟิลด์“ ชื่อคลาส:” ระบุคลาสที่มีอยู่ในโครงการ ในกรณีของเรามีสามคลาสที่มีชื่อ:

  • CMFCAppApp - คลาสแอปพลิเคชันโดยรวม
  • CMFCAppDlg - คลาสกล่องโต้ตอบของแอปพลิเคชัน
  • CAboutDlg เป็นคลาสของกล่องโต้ตอบเกี่ยวกับที่สร้างขึ้นเมื่อ AppWizard สร้างโครงการ

3. ฟิลด์“ คลาสพื้นฐาน:” ระบุคลาสพื้นฐานที่จะแสดงคลาสในฟิลด์“ ชื่อคลาส:”

4. ฟิลด์ "ทรัพยากร:" กำหนดชื่อของทรัพยากรที่สอดคล้องกับชั้นเรียนจากฟิลด์ "ชื่อชั้น:"

5. ฟิลด์ "การประกาศคลาส:" กำหนดชื่อของไฟล์ส่วนหัวสำหรับคลาสซึ่งแสดงในฟิลด์ "ชื่อคลาส:"

6. ฟิลด์“ การใช้งานคลาส:” กำหนดชื่อของไฟล์ที่มีการใช้งานฟังก์ชั่นจากคลาสซึ่งจะแสดงในฟิลด์“ ชื่อชั้น:”

หน้าต่างยังมีห้าแท็บซึ่งสำหรับคลาสจากฟิลด์ "ชื่อคลาส:" จะอธิบาย:

  • คำสั่งจากการ์ดข้อความ
  • ข้อความ Windows ที่สร้างขึ้นในคลาสและสามารถประมวลผลได้
  • ฟังก์ชั่นเสมือนจริง
  • ตัวแปรภายในที่อธิบายไว้ในคลาส
  • วิธีการที่มีอยู่ในห้องเรียน

ในการเพิ่มคลาสใหม่เราเรียกคำสั่ง Add Class

มะเดื่อ 7. คำสั่งเพื่อเพิ่มคลาสใหม่

ด้วยเหตุนี้หน้าต่าง“ MFC Add Class Wizard” จะเปิดขึ้นซึ่งเราตั้งค่าฟิลด์เป็นค่าดังแสดงในรูปที่ 8 ในการตั้งค่าฟิลด์เพียงพิมพ์“ CForm2“ ในฟิลด์“ ชื่อคลาส:” ฟิลด์อื่นทั้งหมดจะถูกเติมโดยอัตโนมัติพร้อมกับข้อยกเว้นของฟิลด์ "คลาสพื้นฐาน:"

ในช่อง“ ฐาน> CDialog

ชื่อทรัพยากรถูกตั้งค่าเป็น IDD_FORM2

ไฟล์ส่วนหัวและไฟล์การใช้งานชั้นเรียนมีชื่อว่า“ Form2.h” และ“ Form2.cpp“

มะเดื่อ 8. การสร้างคลาสใหม่ CForm2 และทรัพยากร IDD_FORM2 ซึ่งขึ้นอยู่กับคลาส CDialog

คลิกที่ "เสร็จสิ้น" ในหน้าต่างก่อนหน้าคุณจะเห็นว่ามีการเพิ่มคลาส CForm2 ในคลาสก่อนหน้านี้สามคลาส

คลิกที่“ ตกลง” อีกครั้ง

6. หน้าต่าง MS Visual Studio และพาเนลโซลูชัน Explorer

หลังจากดำเนินการแล้วหน้าต่างของพาเนลโซลูชัน Explorer จะมีลักษณะดังแสดงในรูปที่ 9

มะเดื่อ 9. หน้าต่างโซลูชัน Explorer

ดังที่เห็นได้จากรูปที่ 9 ไฟล์“ Form2.h” และ“ Form2.cpp” ปรากฏในรายการไฟล์ส่วนหัว ดังนั้นนี่คือไฟล์ส่วนหัวและไฟล์การนำไปใช้งานสำหรับคลาส CForm2 ที่เพิ่งสร้างใหม่

7. การเรียกกล่องโต้ตอบของคลาส CForm2 เป็นทรัพยากร

ในการเริ่มสร้างกล่องโต้ตอบใหม่ (คลาส CForm2) คุณต้องเรียกมันว่าเป็นทรัพยากร เมื่อต้องการทำเช่นนี้ในโซลูชัน Explorer คลิกสองครั้งที่แฟ้ม "MFCApp.rc" จากแท็บทรัพยากร

มะเดื่อ 10. การเรียกรายการชื่อทรัพยากรของแอปพลิเคชัน

เราได้รับรายชื่อของทรัพยากรที่มีอยู่:

  • IDD_ABOUTBOX - ทรัพยากรของกล่องโต้ตอบเกี่ยวกับ
  • IDD_FORM2 - ทรัพยากรของหน้าต่างที่สร้างขึ้นใหม่
  • IDD_MFC_APP_DIALOG - ทรัพยากรของหน้าต่างแอปพลิเคชันหลัก

ในการโทรไปยังทรัพยากรที่ต้องการคุณต้องดับเบิลคลิกที่มัน ดับเบิลคลิกที่ทรัพยากร IDD_FORM2 ดังนั้นกล่องโต้ตอบที่สร้างขึ้นใหม่จะเปิดขึ้น ดังจะเห็นได้จากรูปที่ 11 มันคล้ายกับหน้าต่างแอพพลิเคชั่นเริ่มต้นของประเภทแอพพลิเคชั่นที่ใช้ Dialog

มะเดื่อ 11. หน้าต่างของคลาส CForm2 ซึ่งสืบทอดมาจากคลาส CDialog

คุณสามารถเปลี่ยนขนาดของแบบฟอร์มและตำแหน่งของปุ่ม "ตกลง" และ "ยกเลิก"

8. เขียนโปรแกรมคลิกเหตุการณ์บนปุ่ม“ Form2” ของหน้าต่างแอปพลิเคชันหลัก

การใช้“ Solution Explorer” และไฟล์ทรัพยากร“ MFCApp.rc” (ดูหน้า 7) เราไปที่ทรัพยากร IDD_MFCAPP_DIALOG ของหน้าต่างแอปพลิเคชันหลัก

มะเดื่อ 12. หน้าต่างแอพพลิเคชันหลัก

ในหน้าต่าง "Properties" เลือกปุ่มที่มีตัวระบุ IDC_BUTTON1 จากนั้นไปที่ส่วนแทรก“ เหตุการณ์การควบคุม”

มะเดื่อ 13. รายการเหตุการณ์จากแท็บเหตุการณ์ควบคุมของการควบคุม IDC_BUTTON1

ในรายการเหตุการณ์ที่เราพบเหตุการณ์ที่มีชื่อ BN_CLICKED จากนั้นเลือกปุ่มสำหรับเลือกเมนูจากบนลงล่างและเลือก“ OnBnClickedButton1” ในเมนู

มะเดื่อ 14. การเลือกเหตุการณ์ BN_CLICKED และเรียกใช้ตัวจัดการเหตุการณ์ OnBnClickedButton1

ด้วยเหตุนี้หน้าต่างไฟล์“ MFCAppDlg.cpp” จะเปิดขึ้นพร้อมกับส่วนของรหัสที่เลือกของตัวจัดการเหตุการณ์ OnBnClickedButton1

ระหว่างวงเล็บ <> คุณต้องใส่รหัสการจัดการเหตุการณ์ของคุณเอง

รหัสโปรแกรมของฟังก์ชั่นสำหรับการประมวลผลเหตุการณ์การคลิกบนปุ่ม IDC_BUTTON1 มีดังนี้:

ตอนนี้คุณสามารถเรียกใช้แอปพลิเคชันสำหรับการดำเนินการและทดสอบการทำงาน

ดูวิดีโอ: How To วธจดแอพบนจอใหใชงาย (มีนาคม 2020).

Pin
Send
Share
Send
Send