ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ MFC Π½Π° основС Ρ„ΠΎΡ€ΠΌ

ΠžΠ΄Π½ΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ интСрфСйс (SDI), ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° основС Ρ„ΠΎΡ€ΠΌ, позволяСт ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ экзСмпляр ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹. МоТно ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ· прилоТСния Π½Π° основС Ρ„ΠΎΡ€ΠΌ-SDI, Π²Ρ‹Π±Ρ€Π°Π² Π½ΠΎΠ²ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Π² мСню Β« Ρ„Π°ΠΉΠ»Β».

Если Π²Ρ‹ создаСтС ΠΌΠ½ΠΎΠ³ΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ интСрфСйс (MDI), ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° основС Ρ„ΠΎΡ€ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ нСсколько экзСмпляров ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹.

Если Π²Ρ‹ создаСтС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с нСсколькими Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, Π Π°Π±ΠΎΡ‡ΠΈΠΉ стол являСтся нСявным Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ элСмСнтом для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π° Ρ„Ρ€Π΅ΠΉΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π΅ ограничиваСтся клиСнтской ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ прилоТСния. МоТно ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ нСсколько экзСмпляров Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ свой собствСнный Ρ„Ρ€Π΅ΠΉΠΌ, мСню ΠΈ Π·Π½Π°Ρ‡ΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°Π΄Π°Ρ‡. ΠŸΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ экзСмпляры Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½ΠΎ Ссли Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· мСню Ρ„Π°ΠΉΠ» исходного экзСмпляра, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚ всС экзСмпляры.

SDI, MDI ΠΈ нСсколько ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня β€” это всС Ρ„ΠΎΡ€ΠΌΡ‹, основанныС Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ «Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚-прСдставлСниС».

Π›ΡŽΠ±ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, основанноС Π½Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠ½Π°Ρ…, ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ, основано Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π’ прилоТСниях, основанных Π½Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠ½Π°Ρ…, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ прСдставлСний Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, поэтому Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ создания ΠΈ доступа для собствСнных Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ.

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с мастСром откроСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈ Ссли Π² CFormView качСствС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ (ΠΈΠ»ΠΈ класс, Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΡ‚ CFormView ), ΠΈΠ»ΠΈ Ссли Π²Ρ‹ создали ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° основС Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Visual C++ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠΎΠ½. На этом этапС Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹.

Начало создания исполняСмого Ρ„Π°ΠΉΠ»Π° MFC Π½Π° основС Ρ„ΠΎΡ€ΠΌ

Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ инструкциям ΠΏΠΎ созданию прилоТСния MFC для прилоТСния MFC Π½Π° основС Ρ„ΠΎΡ€ΠΌ.

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, нСсколько Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²ΠΈΠ»ΠΈ нСсколько Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.

Если Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ SDI, MDI ΠΈΠ»ΠΈ нСсколько ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ интСрфСйса Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ CView задаСтся Π² качСствС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса для прСдставлСния прилоТСния Π½Π° страницС CView мастСра. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° основС Ρ„ΠΎΡ€ΠΌ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² CFormView качСствС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса для прСдставлСния прилоТСния. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ мастСр Π½Π΅ прСдоставляСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ для прилоТСния Π½Π° основС Ρ„ΠΎΡ€ΠΌ.

Π—Π°Π΄Π°ΠΉΡ‚Π΅ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… страницах мастСра.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

BestProg

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ простого Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния Windows Ρ‚ΠΈΠΏΠ° Dialog Based Application с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ MFC ( Microsoft Foundation Classes )

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

1. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ MS Visual Studio.
2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ MS Visual Studio Π½Π°Π΄ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

Имя ΠΏΠ°ΠΏΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ сохраняСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π΄Π°Π΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Рис. 1. Π’Ρ‹Π±ΠΎΡ€ прилоТСния Ρ‚ΠΈΠΏΠ° Β« MFC Application Β«

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, вызовСтся мастСр Β« MFC Application Wizard Β» (рис. 2). Π’ ΠΎΠΊΠ½Π΅ мастСра выдаСтся информация ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… настройках ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β« Finish Β«.

Π’Π΅ΠΊΡƒΡ‰ΠΈΠ΅ настройки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅.

1. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² – MDI Application ( MDI – Multiple Document Interface ). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ нСсколько Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… прСдставлСн ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ.

2. НСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

3. НСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ составлСнных (встроСнных) Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² (ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΌΠΈΠ½ΠΈ-сСрвСр, ΠΏΠΎΠ»Π½Ρ‹ΠΉ сСрвСр Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ‚.ΠΏ.).

4. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ прилоТСния β€” поддаСтся настройкС (ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов, ΠΏΠ°Π½Π΅Π»ΠΈ состояния прилоТСния ΠΈ Ρ‚.ΠΏ.).

6. Π‘Ρ‚ΠΈΠ»ΡŒ Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊΠ°ΠΊ Visual Studio (ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ‚.ΠΏ.).

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Рис. 2. ΠžΠΏΡ†ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

Π’ нашСм случаС Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠ»ΠΈΠΊ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β« Next > Β«.

ВызовСтся ΠΎΠΊΠ½ΠΎ Β« Application Type Β«, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π½Π° рисункС 3.

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Рис. 3. Окно Application Type

Объясним Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ поля ΠΎΠΊΠ½Π°.

Π’ΠΈΠΏ прилоТСния ( Application Type ):

ПолС Β« Use of MFC: Β» опрСдСляСт, ΠΊΠ°ΠΊ Π½ΡƒΠΆΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ MFC Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ. Π•ΡΡ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Β« Use MFC in a shared DLL Β» ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° MFC Π±Ρ‹Π»Π° распрСдСлСнной Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ связываСмой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ (shared DLL ). ИспользованиС DLL ΠΊΠ°ΠΊ динамичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ сокращаСт объСм прилоТСния Π½ΠΎ услоТняСт установку ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

Для нашСго прилоТСния ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ формирования MFC Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ.

ПослС Π²Ρ‹Π±ΠΎΡ€Π° Β« Next > Β» откроСтся ΠΎΠΊΠ½ΠΎ Β« User Interface Features Β«. Π’ этом ΠΎΠΊΠ½Π΅ прСдлагаСтся Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ° (Ρ€Π°ΠΌΠΊΠΈ) Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° прилоТСния. Π€Ρ€Π΅ΠΉΠΌ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя систСмноС мСню, строку Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ максимизации, Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΎΠΊΠ½Π° ΠΈ Ρ‚.ΠΏ..

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Рис. 4. Π’Ρ‹Π±ΠΎΡ€ оформлСния Ρ„Ρ€Π΅ΠΉΠΌΠ° (Ρ€Π°ΠΌΠΊΠΈ) Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° прилоТСния

Бвойства Ρ„Ρ€Π΅ΠΉΠΌΠ° Β« Main frame styles Β» Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅:

Π’Ρ‹Π±ΠΎΡ€ ΠΎΠΏΡ†ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° собствСнноС усмотрСниС.

Π’ ΠΏΠΎΠ»Π΅ Dialog Title устанавливаСтся Π½Π°Π·Π²Π°Π½ΠΈΠ΅ прилоТСния.

ПослС установлСния ΠΎΠΏΡ†ΠΈΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ° Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠ»ΠΈΠΊ Π½Π° Β« Next > Β«. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ откроСтся ΠΎΠΊΠ½ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС 5.

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Рис. 5. Окно настройки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… свойств

Π’ ΠΎΠΊΠ½Π΅ Π½Π° рисункС 5 доступны ΠΎΠΏΡ†ΠΈΠΈ настройки Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… свойств прилоТСния. Объясним Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ….

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Рис. 6. Запрос ΠΊ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΡŽ ΠΈΠΌΠ΅Π½ создаваСмых классов

ΠžΡΡ‚Π°Π²Π»ΡΠ΅ΠΌ всС ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠ»ΠΈΠΊ Π½Π° Β« Finish Β«. БформируСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ классов. Π€ΠΎΡ€ΠΌΠ° прилоТСния Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рис. 7.

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Рис. 7. Π€ΠΎΡ€ΠΌΠ° прилоТСния послС выполнСния мастСра App Wizard

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

3. ΠšΠ»Π°ΡΡΡ‹, создаваСмыС Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ

Класс CMFCApplication1Dlg Π΅ΡΡ‚ΡŒ классом Π΄ΠΈΠ°Π»ΠΎΠ³Π° для прилоТСния Π² Ρ†Π΅Π»ΠΎΠΌ.

ПослС создания прилоТСния Π² Solution Explorer ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ классов (рис. 8).

ΠšΠ»Π°ΡΡΡƒ CMFCApplication1App ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ Β« MFCApplication1.h Β» ΠΈ Β« MFCApplication1.cpp Β«.

ΠšΠ»Π°ΡΡΡƒ CMFCApplication1Dlg ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ Β« MFCApplication1Dlg.h Β» ΠΈ Β« MFCApplication1Dlg.cp pΒ».

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Рис. 8. Π€Π°ΠΉΠ»Ρ‹ прилоТСния Π² Solution Explorer

Листинг Ρ„Π°ΠΉΠ»Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Β«MFCApplication1.hΒ» для прилоТСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

Π’ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ листингС ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ

Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΊΠ°Ρ….

ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°Ρ€Ρ‚Π° сообщСний.

РСализация класса CMFCApplication1App ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π² Ρ„Π°ΠΉΠ»Π΅ Β« CMFCApplication1App.cpp Β«.

Листинг Ρ„Π°ΠΉΠ»Π° Β«CMFCApplication1App.cppΒ» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ.

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ InitInstance() создаСтся ΠΎΠΊΠ½ΠΎ прилоТСния.

ΠžΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ΡΡ пСрСмСнная dlg Ρ‚ΠΈΠΏΠ° ΠΎΠΊΠ½ΠΎ прилоТСния.

ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ прилоТСния Π΅ΡΡ‚ΡŒ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠΊΠ½ΠΎΠΌ срСди всСх ΠΎΠΊΠΎΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΅Ρ‰Π΅ созданы Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, мастСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ MFC

На этой страницС прСдставлСны ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Π° Ρ‚Π°ΠΊΠΆΠ΅ источник Π΄Π°Π½Π½Ρ‹Ρ…, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ) для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…

Π—Π°Π΄Π°Π΅Ρ‚ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
NoneНС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
Волько Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ²ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… для вашСго прилоТСния. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ODBC Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π’ΠΈΠΏ клиСнтамастСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ MFC Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Ρ„Π°ΠΉΠ» Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Афксдб. H. Он добавляСт Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, Π½ΠΎ Π½Π΅ создаСт классы, связанныС с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€Ρ‹ записСй ΠΏΠΎΠ·ΠΆΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ обновлСния записСй. Если Π² ΠΏΠΎΠ»Π΅ Π’ΠΈΠΏ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Π²Ρ‹Π±Ρ€Π°Π½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° OLE DB, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ²: atlbase. H ΠΠ€ΠšΠ‘ΠžΠ›Π•Π”Π‘. H ΠΠ’Π›ΠŸΠ›Π£Π‘. Высоты
ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, прСдставлСниС записСй ΠΈ Π½Π°Π±ΠΎΡ€ записСй. (Доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ «Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚/прСдставлСниС «, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Π½Π° страницС » Π’ΠΈΠΏ прилоТСния «.) Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. Если Π²Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ прСдставлСниС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ источник Π΄Π°Π½Π½Ρ‹Ρ….
ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, прСдставлСниС записСй ΠΈ Π½Π°Π±ΠΎΡ€ записСй. (Доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ «Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚/прСдставлСниС «, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Π½Π° страницС » Π’ΠΈΠΏ прилоТСния «.) Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для обновлСния Ρ„Π°ΠΉΠ»Π° профиля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записью, Π° Π½Π΅ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈ поэтому Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ сСриализации. Однако для сСриализации ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Если Π²Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ прСдставлСниС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ источник Π΄Π°Π½Π½Ρ‹Ρ….

Π’ΠΈΠΏ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ классы OLE DB ΠΈΠ»ΠΈ ODBC.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ Π΄Π°Π½Π½Ρ‹Ρ…

мастСр ATL OLE DB consumer ΠΈ мастСр ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΉ ODBC MFC нСдоступны Π² Visual Studio 2019 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… вСрсиях. Π­Ρ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ всС Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°-получатСля Π±Π΅Π· ΠΏΠΎΠΌΠΎΡ‰ΠΈ мастСра.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ класс Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ

Доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для OLE DB ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π»ΠΈ классы Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² создаваСмом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.

ΠŸΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ всС столбцы

Доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ODBC. Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, привязаны Π»ΠΈ всС столбцы Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅. Если ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ этот Ρ„Π»Π°ΠΆΠΎΠΊ, всС столбцы Π±ΡƒΠ΄ΡƒΡ‚ привязаны. Если этот Ρ„Π»Π°ΠΆΠΎΠΊ Π½Π΅ установлСн, столбцы Π½Π΅ привязаны, ΠΈ ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π² классС Recordset.

Доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ODBC. Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, являСтся Π»ΠΈ Π½Π°Π±ΠΎΡ€ записСй динамичСским ΠΈΠ»ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ снимком, ΠΊΠ°ΠΊ описано Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Запуск MFC AppWizard (exe) ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π”Ρ€ΡƒΠ·ΡŒΡ я Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ язык Π‘++! Π― ΠΈΠ·ΡƒΡ‡Π°ΡŽ Π½Π° visual C++ 6! Π£ мСня ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΌΠ°! Π― Ρ‡ΠΈΡ‚Π°ΡŽ ΠΊΠ½ΠΈΠ³Ρƒ «visual C++ ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ курс»
Π― Ρ‡ΠΈΡ‚Π°ΡŽ Π²ΠΎΡ‚ это ΠΎΡ‚Ρ€Ρ‹Π²ΠΎΠΊ Π΄Π΅Π»ΡƒΡŽ всС ΠΊΠ°ΠΊ сказанно!

1. ЗапуститС Visual C++ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ File >> New; открываСтся ΠΎΠΊΠ½ΠΎ
Π΄ΠΈΠ°Π»ΠΎΠ³Π° New (рис. 2.1).
2. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· списка строку MFC AppWizard(exe).
3. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π² тСкстовом ΠΏΠΎΠ»Π΅ Project Name имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° welcome.
НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ ОК, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ мастСр Visual C++ AppWizard (рис. 2.2).
НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ ОК, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ мастСр Visual C++ AppWizard
5. АррWizard Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚ Π·Π° нас ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
6. На экранС (см. рис. 2.2) появляСтся ΠΎΠΊΠ½ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ (Step 1) ΠΈΠ· ΡˆΠ΅ΡΡ‚ΠΈ этапов
Ρ€Π°Π±ΠΎΡ‚Ρ‹ с AppWizard.
7. ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ всС стандартныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ AppWizard, ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ β€”
ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ AppWizard создаСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с нСсколькими ΠΎΠΊΠ½Π°ΠΌΠΈ, Π° Π½Π°ΠΌ
Π½ΡƒΠΆΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ. Π­Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ знакомство с Ρ‚Π΅ΠΌΠΎΠΉ ΠΈ сдСлаСт Π΅Π΅
Π±ΠΎΠ»Π΅Π΅ понятной.
8. УстановитС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Single Document (см. рис. 2.2) ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅
ΠΊΠ½ΠΎΠΏΠΊΡƒ Next. ΠœΡ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ этапу (Step 2) Ρ€Π°Π±ΠΎΡ‚Ρ‹ с AppWizard
(рис. 2.3).
9. На рис. 2.3 AppWizard ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚, слСдуСт Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ
ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…; ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ установлСнным ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ
None.
Рис. 23. Π’Ρ‚ΠΎΡ€ΠΎΠΉ этап Ρ€Π°Π±ΠΎΡ‚Ρ‹ с MFC AppWizard
10. НаТимайтС ΠΊΠ½ΠΎΠΏΠΊΡƒ Next Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠ±Π΅Ρ€Π΅Ρ‚Π΅ΡΡŒ Π΄ΠΎ ΡˆΠ΅ΡΡ‚ΠΎΠ³ΠΎ этапа (Step 6)
AppWizard, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° рис. 2.4.
11. На ΡˆΠ΅ΡΡ‚ΠΎΠΌ этапС AppWizard сообщаСт, ΠΊΠ°ΠΊΠΈΠ΅ классы ΠΎΠ½ собираСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²
Π½ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅: CWelcomeApp, CMainFrame, CWelcomeDoc ΠΈ CWelcomeView. Π’ этом
ΡƒΡ€ΠΎΠΊΠ΅ ΠΌΡ‹ рассмотрим всС эти классы.
12. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Finish β€” откроСтся ΠΎΠΊΠ½ΠΎ New Project Information (рис. 2.5).
13. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ ОК, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ созданиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ΠΏΠΎΡ‚ΠΎΠΌ сказанно слСдуСщСС!
Пока Ρ‡Ρ‚ΠΎ ΠΌΡ‹ рассматривали ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ мастСром АррWizard. Π”Π°Π²Π°ΠΉΡ‚Π΅
ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π΅Π΅ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»Π° сообщСниС Β«Π”ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² Visual C++!Β»
Для этого ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ нСбольшой Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ OnDraw() класса CWelcomeView
(вспомнитС, Ρ‡Ρ‚ΠΎ этот класс слуТит для отобраТСния Π΄Π°Π½Π½Ρ‹Ρ…). ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚
ΠΌΠ΅Ρ‚ΠΎΠ΄ OnDrawO, ΠΊΠΎΠ³Π΄Π° Π΅ΠΉ трСбуСтся вывСсти Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ Π² клиСнтской области
ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΡ€ΠΈ свСртывании ΠΈ восстановлСнии
ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‡Π°ΡΡ‚ΡŒ клиСнтской
области). Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ OnDraw()
ΠœΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΊΠΎΠ΄ для Π²Ρ‹Π²ΠΎΠ΄Π° сообщСния.
1. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΎΠΊΠ½Π΅ просмотра
Visual C++ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ ClassView.
2. НайдитС Π² иСрархичСском спискС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ класса CWelcomeView (рис. 2.6).
3. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° Π·Π½Π°ΠΊΠ΅ «плюс» рядом с элСмСнтом. На экранС выводится список
ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса.
Π’Ρ‹Π²ΠΎΠ΄ привСтствия
69
4. НайдитС Π² спискС ΠΌΠ΅Ρ‚ΠΎΠ΄ OnDraw() ΠΈ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° Π½Π΅ΠΌ β€” ΠΌΠ΅Ρ‚ΠΎΠ΄
откроСтся Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅.
5. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² OnDraw() всСго Π΄Π²Π΅
строки:

Но Π° ΠΏΠ°Π½Π΅Π»ΠΈ «ClassView» ΠΊΠΎΠ³Π΄Π° наТимаСшь плюс Π² Π½ΡƒΡ‚Ρ€ΠΈ пусто! ΠšΡ‚ΠΎ смоТСт ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ ΠΌΠ½Π΅ разобратся!

Π—Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½Π½ΠΎΡΡ‚ΡŒ с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ MFC AppWizard (exe)
ЗдравствуйтС! Π― Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ программист, Ρ‚Π°ΠΊ Π²ΠΎΡ‚ Ρ€Π΅ΡˆΠΈΠ» ΠΏΠΎΠ΄Π°Ρ‚ΡŒΡΡ Π² c++. Π Π°Π±ΠΎΡ‚Π°ΡŽ ΠΏΠΎ ΠΊΠ°Ρ€Ρ‚Π΅ с.

MFC AppWizard (exe) Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
Допустим создаю Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, создал Ρ„ΠΎΡ€ΠΌΡƒ с ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ, ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ этой ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прилоТСния Β«Π˜Π½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒΒ» Π½Π° MFC AppWizard (exe)
Π‘Ρ€ΠΎΡ‡Π½ΠΎ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прилоТСния Β«Π˜Π½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒΒ». Π’ Ρ„Π°ΠΉΠ»Π΅ хранится ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ (ΠΏΡ€.

Π—Π°ΠΊΡ€ΠΎΠΉ Π‘++. ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈ Π² ΠΏΠ°ΠΏΠΊΡƒ Π³Π΄Π΅ Ρƒ тСбя находится ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠΈ ΡƒΠ΄Π°Π»ΠΈ всС Ρ„Π°ΠΉΠ»Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.clw,*.ncb,*.opt,*.plg,*.txt,*.aps,*.dsw, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ΄ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠΈ Debug,Release Ссли ΠΎΠ½ ΠΈΡƒ тСбя Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΌ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

ΠŸΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ появятся снова.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

4. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ панСлью

Как извСстно, Π² любом Π΄Π΅Π»Π΅ самоС Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΠ΅ – Π½Π°Ρ‡Π°Π»ΠΎ. Π­Ρ‚ΠΎ высказываниС Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ справСдливо ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows. ΠœΡ‹ рассказывали Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΊΠ½ΠΈΠ³Π°Ρ… сСрии β€œΠ‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° систСмного программиста” ΠΈ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² этом сами, Ρ‡Ρ‚ΠΎ исходныС тСксты Π΄Π°ΠΆΠ΅ простых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows ΠΈΠΌΠ΅ΡŽΡ‚ большиС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹.

На созданиС Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ каркаса ΠΈΠ»ΠΈ шаблона прилоТСния Ρƒ программиста ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ исходный тСкст Ρ‚Π°ΠΊΠΎΠ³ΠΎ шаблона ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, Π½ΠΎΠ²Ρ‹Π΅ прилоТСния ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π½Π° основС ΡƒΠΆΠ΅ ΠΎΡ‚Π»Π°ΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², измСняя ΠΈΡ… ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ.

Благодаря MFC AppWizard срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Microsoft Visual C++ позволяСт быстро ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈ этом программисту Π½Π΅ приходится ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ строки ΠΊΠΎΠ΄Π°. Достаточно ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° ряд вопросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π΄Π°Π΅Ρ‚ MFC AppWizard, Π²Ρ‹Π±Ρ€Π°Π² ΠΊΠ°ΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹ ΠΆΠ΅Π»Π°Π΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, ΠΈ исходныС тСксты шаблона прилоТСния вмСстС с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ рСсурсов Π³ΠΎΡ‚ΠΎΠ²Ρ‹. Π­Ρ‚ΠΈ тСксты ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΎΡ‚Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ прилоТСния.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, сСгодня Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ срСдства Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ смогут ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π±Π΅Π· вашСго участия – ΠΈΠ½Π°Ρ‡Π΅ Π·Π°Ρ‡Π΅ΠΌ Π±Ρ‹Π»ΠΈ Π±Ρ‹ Π½ΡƒΠΆΠ½Ρ‹ программисты? ΠŸΡ€ΠΈΠΊΠ»Π°Π΄Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ прилоТСния Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ сами.

Однако MFC AppWizard ΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΡΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠΌΠΎΡ‰ΡŒ. Π’Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ справочной систСмой, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ OLE ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ, Π²Π°ΠΌ Π½Π΅ придСтся Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΈ Π΅Π΄ΠΈΠ½ΠΎΠΉ строчки ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ тСксты Ρ‚Π°ΠΊΠΎΠ³ΠΎ прилоТСния ΠΌΠΎΠΆΠ½ΠΎ автоматичСски Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AppWizard Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π·Π° Π΄Π²Π΅ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹.

Но Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° шаблон прилоТСния ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π³ΠΎΡ‚ΠΎΠ², Microsoft Visual C++ Π½Π΅ оставляСт вас ΠΎΠ΄ΠΈΠ½ Π½Π° ΠΎΠ΄ΠΈΠ½ с Π΅Π³ΠΎ тСкстом. ВстроСнный Π² срСду Visual C++ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ рСсурсов позволяСт быстро ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ мСню, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния (ΠΏΠ°Π½Π΅Π»ΠΈ toolbar).

БрСдства ClassView ΠΈ ClassWizard позволят ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ созданным ΠΈ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ рСсурсам ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΈΠΌΠΈ ΠΊΠΎΠ΄. Π‘ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ описанию ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… сообщСния ΠΎΡ‚ мСню, ΠΎΡ€Π³Π°Π½ΠΎΠ² управлСния Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ ΠΈ Ρ‚. Π΄. Ρ‚Π°ΠΊΠΆΠ΅ Π±Π΅Ρ€ΡƒΡ‚ Π½Π° сСбя ClassView ΠΈ ClassWizard.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ прилоТСния срСдствами MFC AppWizard

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΡ‹ рассматривали ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ MFDialog, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. ВмСсто ΠΎΠΊΠ½Π° это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ‹ΠΊΠ½ΠΎΠ²Π΅Π½Π½ΡƒΡŽ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡƒΡŽ панСль. БСйчас ΠΌΡ‹ расскаТСм Π²Π°ΠΌ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ MFDialog, Π½Π΅ Π½Π°Π±Ρ€Π°Π² Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ строки тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для этого ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ срСдства MFC AppWizard ΠΈ ClassWizard.

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· мСню File строку New. На экранС появится диалоговая панСль New, содСрТащая мСню. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· Π½Π΅Π³ΠΎ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ. Для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· этого мСню строку Project Workspace. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π° экранС откроСтся диалоговая панСль New Project Workspace, показанная Π½Π°ΠΌΠΈ Π½Π° рисункС 4.1.

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Рис. 4.1. Диалоговая панСль New Project Workspace

Из списка Type Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΠΆΠ΅Π»Π°Π΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ пСрСчислСны Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ.

Π’ΠΈΠΏ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
MFC AppWizard (exe)ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, создаваСмоС с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов MFC. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AppWizard Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ автоматичСски ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ основныС классы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для прилоТСния
MFC AppWizard (dll)Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° динамичСской ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ – DLL, создаваСмая с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов MFC. AppWizard позволяСт автоматичСски ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ всС основныС Ρ„Π°ΠΉΠ»Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для DLL
OLE ControlWizardΠžΡ€Π³Π°Π½Ρ‹ управлСния OLE, созданныС с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов MFC. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ автоматичСски создаСт Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ² для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° этого Ρ‚ΠΈΠΏΠ°
ApplicationΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, созданноС Π½Π° основС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов MFC ΠΈΠ»ΠΈ с использованиСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ интСрфСйса Windows
Dynamic-Link LibraryΠ‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° динамичСской ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, созданная с использованиСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ интСрфСйса Windows
Console ApplicationΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ с использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ консольного Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅
Static LibraryΠ‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
MakefileΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности для использования MAKE-Ρ„Π°ΠΉΠ»Π°
Custom AppWizardΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ собствСнный β€œΠ²ΠΎΠ»ΡˆΠ΅Π±Π½ΠΈΠΊβ€ Custom AppWizard, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ шаблонов ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π²Π°ΠΌΠΈ свойствами

Бписок Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Microsoft Visual C++ вСрсии 4.1, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½. Π’ Π½Π΅Π³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ β€œΠ²ΠΎΠ»ΡˆΠ΅Π±Π½ΠΈΠΊβ€ ISAPI Extension Wizard, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ созданиС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Microsoft Internet Information Server.

Π’ этой ΠΊΠ½ΠΈΠ³Π΅ ΠΌΡ‹ расскаТСм ΠΎ создании собствСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с использованиСм срСдств AppWizard. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠ· списка Type строку MFC AppWizard (exe).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ располоТСниС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. ΠŸΡƒΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΌΠΎΠΆΠ½ΠΎ ввСсти нСпосрСдствСнно Π² ΠΏΠΎΠ»Π΅ Location ΠΈΠ»ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, ΠΈΠ· списка, Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Browse. Π—Π°Ρ‚Π΅ΠΌ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π² ΠΏΠΎΠ»Π΅ Name имя создаваСмого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ создаСтся ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈ Π² Π½Π΅Π³ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ИмСна Ρ„Π°ΠΉΠ»ΠΎΠ², ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈ названия классов прилоТСния Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ AppWizard Π½Π° основС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’ Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ Platforms Π½Π°Π΄ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, для ΠΊΠ°ΠΊΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ создаСтся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² срСдС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Windows NT ΠΈΠ»ΠΈ Windows 95, установитС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Win32.

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ всС поля Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Create. На экранС появится пСрвая диалоговая панСль MFC AppWizard. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ этой ΠΏΠ°Π½Π΅Π»ΠΈ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ прилоТСния Π²Π°ΠΌΠΈ создаСтся. Если Π²Ρ‹ создаСтС Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π½Π° экранС появится диалоговая панСль, показанная Π½Π° рисункС 4.2.

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Рис. 4.2. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ шаг MFC AppWizard

На ΠΏΠ΅Ρ€Π²ΠΎΠΌ шагС Π²Π°ΠΌ прСдлагаСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌ интСрфСйсом (Multiple documents), ΠΎΠ΄Π½ΠΎΠΎΠΊΠΎΠ½Π½Ρ‹ΠΌ интСрфСйсом (Single document) ΠΈ интСрфСйсом основанном Π½Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π±Π΅Π· Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° (Dialog based).

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса прилоТСния, Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ MFC AppWizard Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½ΠΎ, сколько Π΅Ρ‰Π΅ шагов (Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ AppWizard) Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ всС свойства прилоТСния. Для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… интСрфСйс Π½Π° основС Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, процСсс создания прилоТСния Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· 4 шагов, Π° для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΎΠ΄Π½ΠΎΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ интСрфСйс – 6 шагов.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ язык, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ написан интСрфСйс прилоТСния. К соТалСнию, Π² Ρ‚ΠΎΠΉ вСрсии компилятора, которая Π±Ρ‹Π»Π° Ρƒ нас, русский язык отсутствовал. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ использовали Π² Π½Π°ΡˆΠΈΡ… прилоТСниях английский язык.

Π—Π°ΠΏΠΎΠ»Π½ΠΈΠ² ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡƒΡŽ панСль MFC AppWizard, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Next >. На экранС появится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ диалоговая панСль MFC AppWizard. Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ для прилоТСния, Π²ΠΈΠ΄ этой Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ нСсколько ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

Если Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ интСрфСйс прилоТСния, основанный Π½Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, Ρ‚ΠΎΠ³Π΄Π° диалоговая панСль Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ шагС Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½Π° рисункС 4.3. Π’ этой ΠΏΠ°Π½Π΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ Ρƒ создаваСмого прилоТСния информационная диалоговая панСль, справочная подсистСма, Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΎΡ€Π³Π°Π½Ρ‹ управлСния, возмоТности использования Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ OLE ΠΈ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TCP/IP. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ смоТСтС ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ прилоТСния.

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Рис. 4.3. Π’Ρ‚ΠΎΡ€ΠΎΠΉ шаг MFC AppWizard

Если Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ About box, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ панСль About. Π’ Π½Π΅ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ содСрТится краткая информация ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ – Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π½ΠΎΠΌΠ΅Ρ€ вСрсии, авторскиС ΠΏΡ€Π°Π²Π°, нСбольшая ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ эту панСль, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· систСмного мСню Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ прилоТСния строку About App…

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма Windows ΠΈΠΌΠ΅Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΡƒΡŽ ΡΠΏΡ€Π°Π²ΠΎΡ‡Π½ΡƒΡŽ систСму. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ собствСнный справочный Ρ„Π°ΠΉΠ» Π΄Π°Π½Π½Ρ‹Ρ…, содСрТащий Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. MFC AppWizard позволяСт Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π΅ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. Для этого слСдуСт Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Context sensitive Help. Π’Π΅ΠΏΠ΅Ρ€ΡŒ главная диалоговая панСль прилоТСния Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Help, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΠΏΡ€Π°Π²ΠΎΡ‡Π½ΡƒΡŽ систСму прилоТСния.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ интСрфСйса ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС ΠΎΡ€Π³Π°Π½Ρ‹ управлСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹ΠΌΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ эффСкт Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… ΠΎΡ€Π³Π°Π½ΠΎΠ² управлСния, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ 3D controls.

БрСдства Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ OLE Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ. Для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, интСрфСйс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… основан Π½Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ OLE automation. Π­Ρ‚Π° тСхнология позволяСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, созданными Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… прилоТСниях.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ программистам созданиС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΎΡ€Π³Π°Π½Ρ‹ управлСния OLE. Если Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ OLE controls.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов MFC вСрсии 4.0 позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· сСтСвой ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TCP/IP. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ этого ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Windows Sockets.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ прилоТСния совпадаСт с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»Π΅ Please enter a title for your dialog.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡƒΡŽ панСль, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Next >. На экранС появится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ диалоговая панСль, прСдназначСнная для опрСдСлСния основных свойств прилоТСния. ΠœΡ‹ прСдставили Π΅Π΅ Π½Π° рисункС 4.4.

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Рис. 4.4. Π’Ρ€Π΅Ρ‚ΠΈΠΉ шаг MFC AppWizard

Π’ этой Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ MFC AppWizard Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ завСсу Ρ‚Π°ΠΉΠ½Ρ‹ Π½Π°Π΄ Π²ΠΎΠ»ΡˆΠ΅Π±ΡΡ‚Π²ΠΎΠΌ автоматичСского создания прилоТСния. Если Π²Ρ‹ пСрСмСститС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Would you like to generate source file comments Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Yes, please, Ρ‚ΠΎ исходный тСкст прилоТСния Π±ΡƒΠ΄Π΅Ρ‚ снабТСн коммСнтариями.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ классов MFC двумя способами – вызывая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ DLL ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠ΄ классов нСпосрСдствСнно Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ мСньший Ρ€Π°Π·ΠΌΠ΅Ρ€, Π½ΠΎ вмСстС с Π½ΠΈΠΌ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ dll-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ MFC. ОписаниС dll-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ MFC Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ β€œΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ MFC” Π³Π»Π°Π²Ρ‹ β€œΠ’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² MFC”.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» прилоТСния Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ больший Ρ€Π°Π·ΠΌΠ΅Ρ€, Π½ΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ вСсь ΠΊΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Бпособ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ MFC опрСдСляСтся ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ How would you like to use the MFC library. Если ΠΎΠ½ находится Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ As a shared DLL, Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ dll-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° MFC, Π° Ссли Π² ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ As a statically linked library, Ρ‚ΠΎ ΠΊΠΎΠ΄ классов MFC Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ нСпосрСдствСнно Π² Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» прилоТСния.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ послСднСму этапу опрСдСлСния свойств прилоТСния. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Next >. На экранС появится диалоговая панСль для Π²Ρ‹Π±ΠΎΡ€Π° Π½Π°Π·Π²Π°Π½ΠΈΠΉ классов прилоТСния. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ этой ΠΏΠ°Π½Π΅Π»ΠΈ прСдставлСн Π½Π° рисункС 4.5.

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Рис. 4.5. Π§Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ шаг MFC AppWizard

Π’ спискС AppWizard creates the following classes for you пСрСчислСны названия всСх классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ создаСт MFC AppWizard для вашСго прилоТСния. Названия этих классов ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΌΠΈ ΠΎΡ‚ названия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. НиТС этого списка располоТСны Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ поля Class name, Base class, Header file, Implementation file. Когда Π²Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ ΠΈΠ· списка AppWizard creates the following classes for you Π½Π°Π·Π²Π°Π½ΠΈΠ΅ класса прилоТСния Π² этих полях ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ информация:

Имя поляОписаниС
Class nameИмя класса прилоТСния, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ Π²Π°ΠΌΠΈ ΠΈΠ· списка. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ
Base classИмя Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса MFC, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ наслСдуСтся класс Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΈΠ· списка Class name. Для ряда классов Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ класс ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠ± этом ΠΌΡ‹ расскаТСм ΠΏΠΎΠ·ΠΆΠ΅
Header file, Implementation fileΠ­Ρ‚ΠΈ Π΄Π²Π° поля ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ названия Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ описан класс, ΠΈ Ρ„Π°ΠΉΠ»Π°, содСрТащСго исходный ΠΊΠΎΠ΄ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΊ созданию исходных тСкстов прилоТСния. Для этого достаточно Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Finish. На экранС появится панСль, содСрТащая ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ свойствах прилоТСния: Ρ‚ΠΈΠΏ интСрфСйса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, названия классов прилоТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ особСнности, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²Π°ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ MFC AppWizard. Если всС ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ OK. MFC AppWizard сразу приступит ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ создаст всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΠΈΡ… Π² срСду Microsoft Visual C++.

MFC AppWizard создаст ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сразу ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ ΠΊ запуску. ЗапуститС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. На экранС появится главная диалоговая панСль прилоТСния (рис. 4.6).

ΠœΠ°ΡΡ‚Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ mfc ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ

Рис. 4.6. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Dialog

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ OK ΠΈ Cancel. НаТав Π½Π° Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ· Π½ΠΈΡ…, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Взяв Π·Π° основу ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π² соотвСтствии с вашими потрСбностями. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡƒΡŽ панСль Π½ΠΎΠ²Ρ‹Π΅ ΠΎΡ€Π³Π°Π½Ρ‹ управлСния, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ рСсурсы, ΠΈ Ρ‚. Π΄. ВсС эти Π·Π°Π΄Π°Ρ‡ΠΈ Π»Π΅Π³ΠΊΠΎ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Π² срСдС Microsoft Visual C++ вСрсии 2.0 ΠΈ 4.0.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Dialog

Названия Ρ„Π°ΠΉΠ»ΠΎΠ², входящих Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Dialog, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° страницС FileView Π² ΠΎΠΊΠ½Π΅ Project Workspace. Π’ состав нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° входят ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ основныС Ρ„Π°ΠΉΠ»Ρ‹:

Имя Ρ„Π°ΠΉΠ»Π°ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
Dialog.hОсновной Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» прилоТСния. Π’ Π½Π΅ΠΌ описан Π³Π»Π°Π²Π½Ρ‹ΠΉ класс прилоТСния CDialogApp, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ MFC
Dialog.cppОсновной Ρ„Π°ΠΉΠ» прилоТСния. Π’ Π½Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ класса прилоТСния ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹
Dialog.rcΠ€Π°ΠΉΠ» рСсурсов. Π’ этом Ρ„Π°ΠΉΠ»Π΅ описаны всС рСсурсы прилоТСния. Π‘Π°ΠΌΠΈ рСсурсы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ записаны Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ RES, располоТСнном Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
Resource.hΠ€Π°ΠΉΠ» содСрТит опрСдСлСния ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² рСсурсов прилоТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ строк мСню
res\Dialog.icoΠŸΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прилоТСния
res\Dialog.rc2Π’ этом Ρ„Π°ΠΉΠ»Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ рСсурсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° рСсурсов срСды Visual C++
DialogDlg.hΠ€Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ класс Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ прилоТСния
DialogDlg.cppΠ’ этом Ρ„Π°ΠΉΠ»Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ
ReadMe.txtВСкстовый Ρ„Π°ΠΉΠ», содСрТащий описаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ Π½Π΅ΠΌ ΠΊΡ€Π°Ρ‚ΠΊΠΎ рассмотрСн ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ», входящий Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, пСрСчислСны классы прилоТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдставлСна нСкоторая другая Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация
Dialog.clwΠ€Π°ΠΉΠ» содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ClassWizard
StdAfx.h, StdAfx.cppИспользованиС этих Ρ„Π°ΠΉΠ»ΠΎΠ² позволяСт ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ процСсс ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ построСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Ρ„Π°ΠΉΠ»ΠΎΠ² прСдставлСно Π½ΠΈΠΆΠ΅

ИмСна, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ MFC

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов содСрТит ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство классов, структур, констант ΠΈ Ρ‚. Π΄. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ исходный тСкст ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ MFC Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΈΠΌ для понимания, принято ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ряд соглашСний для ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈΠΌΠ΅Π½ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².

Названия всСх классов ΠΈ шаблонов классов Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ MFC Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ C. НапримСр, CWnd, CMenu, CArray – это классы. Когда Π²Ρ‹ наслСдуСтС собствСнныС классы ΠΎΡ‚ классов MFC, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠΌ Π»ΡŽΠ±Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°. РСкомСндуСтся Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΊΠ°ΠΊ ΠΈ классы MFC с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹ C. Π­Ρ‚ΠΎ сдСлаСт исходный тСкст прилоТСния Π±ΠΎΠ»Π΅Π΅ ясным для понимания.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ элСмСнты Π΄Π°Π½Π½Ρ‹Ρ…, входящиС Π² класс, ΠΎΡ‚ простых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΈΡ… ΠΈΠΌΠ΅Π½Π° принято Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ с прСфикса m_. Названия ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² классов, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ, Π½ΠΎ ΠΈΡ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΈΡˆΡƒΡ‚ с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° MFC Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΠΌΠΈΠΌΠΎ классов, Π½Π°Π±ΠΎΡ€ слуТСбных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Названия этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с символов Afx, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ AfxGetApp, AfxGetAppName, AfxGetMainWnd. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ AFX ΡΠ²Π»ΡΡŽΡ‚ΡΡ сокращСниСм ΠΎΡ‚ словосочСтания Application FrameworkX, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ основу прилоТСния, Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство.

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ AFX Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ MFC. МногиС константы, ΠΌΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ символы Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с этих символов. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС Afx являСтся ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова ΠΈΠ»ΠΈ символа) ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ MFC.

Π’ процСссС создания прилоТСния MFC AppWizard ΠΈ ClassWizard ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ рСсурсов, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ для справочной систСмы ΠΈ Ρ‚. Π΄. ΠŸΡ€ΠΈ этом, для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ прСфиксы:

ΠŸΡ€Π΅Ρ„ΠΈΠΊΡΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹
HID_ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎΠΉ подсказки для ΠΊΠΎΠΌΠ°Π½Π΄
HIDD_ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎΠΉ подсказки для Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ
ID_Π‘Ρ‚Ρ€ΠΎΠΊ мСню ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ управлСния
IDB_Растровых ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ bitmap
IDC_ΠšΡƒΡ€ΡΠΎΡ€ΠΎΠ²
IDC_ΠžΡ€Π³Π°Π½ΠΎΠ² управлСния Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ
IDD_Π¨Π°Π±Π»ΠΎΠ½ΠΎΠ² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ
IDI_ΠŸΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌ
IDP_Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Ρ… рСсурсов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… панСлях message box для отобраТСния ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ
IDR_ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько рСсурсов Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ. Для Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ прСфикс IDR_
IDS_Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Ρ… рСсурсов
IDOK, IDCANCELΠ‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ для ΠΊΠ½ΠΎΠΏΠΎΠΊ OK ΠΈ Cancel Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ

Когда ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ разрабатываСтся срСдствами MFC AppWizard ΠΈ ClassWizard, ΠΎΠ½ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ Π² исходном тСкстС прилоТСния ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π°:

Π’Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ срСдствами MFC AppWizard ΠΈ ClassWizard. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² этом Π±Π»ΠΎΠΊΠ΅. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ срСдства ClassWizard.

Π‘Π»ΠΎΠΊΠ’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚
//<>AFX_DATAОбъявлСниС элСмСнтов Π΄Π°Π½Π½Ρ‹Ρ… класса. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² описании классов Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ
//<>AFX_DATA_INITΠ˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ элСмСнтов Π΄Π°Π½Π½Ρ‹Ρ… класса. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ классов Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ
//<>AFX_DATA_MAPΠœΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ DDX, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для связывания элСмСнтов Π΄Π°Π½Π½Ρ‹Ρ… класса ΠΈ ΠΎΡ€Π³Π°Π½ΠΎΠ² управлСния Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ„Π°ΠΉΠ»Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ классов Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ
//<>AFX_MSGОписаниС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сообщСний. Π­Ρ‚ΠΎΡ‚ Π±Π»ΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ описании класса
//<>AFX_MSG_MAPΠœΠ°ΠΊΡ€ΠΎΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ сообщСний класса. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ совмСстно с AFX_MSG
//<>AFX_VIRTUALОписаниС ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса. Π‘Π»ΠΎΠΊ AFX_VIRTUAL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ описании класса

Когда Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ описаниС классов прилоТСния, созданных срСдствами MFC AppWizard ΠΈ ClassWizard, Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅ ряд ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… элСмСнты класса Π½Π° нСсколько ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ. ОписаниС этих ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉΠŸΠΎΡΠ»Π΅ коммСнтария Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ
// ConstructorsΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ класса ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, элСмСнты класса Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Π΅ Π² этой сСкции ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом public
// AttributesΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… класса, ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для доступа ΠΊ Π½ΠΈΠΌ (свойства класса). Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, элСмСнты класса Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Π΅ Π² этой сСкции ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом public
// OperationsΠ’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Π½Π΅Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ класса. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ элСмСнты класса Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Π΅ Π² этой сСкции ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом public
// OverridablesΠ—Π΄Π΅ΡΡŒ располоТСны Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π² ΠΏΠΎΡ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹Ρ… классах. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, элСмСнты класса Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Π΅ Π² этой сСкции ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом protected. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, названия Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса начинаСтся с символов On
// ImplementationΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ элСмСнты Π΄Π°Π½Π½Ρ‹Ρ…, относящиСся ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌΡƒ устройству класса – Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ класса. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, элСмСнты класса Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Π΅ Π² этой сСкции ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом protected ΠΈΠ»ΠΈ private
// Dialog DataΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, класса Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ, связанныС с ΠΎΡ€Π³Π°Π½Π°ΠΌΠΈ управлСния

Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… классов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, // Advanced Overridables ΠΈ Ρ‚. Π΄.

MFC AppWizard ΠΈ ClassWizard ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π²Π°ΠΌ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Они ΡΠΎΠ·Π΄Π°ΡŽΡ‚ всС классы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’Π°ΠΌ остаСтся Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊ Π½ΠΈΠΌ свой ΠΊΠΎΠ΄. Π’ Ρ‚Π΅Ρ… мСстах, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот ΠΊΠΎΠ΄, MFC AppWizard ΠΈ ClassWizard, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ // TODO:.

РСсурсы прилоТСния

Π‘ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса любого прилоТСния ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ рСсурсы – мСню, Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ, ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, курсоры. Боздавая ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, MFC AppWizard ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ для Π½Π΅Π³ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ рСсурсов. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ для вас рСсурсы ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½ΠΎΠ²Ρ‹Π΅ рСсурсы.

ВсС рСсурсы прилоТСния хранятся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π­Ρ‚ΠΎΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ называСтся RES ΠΈ располагаСтся Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Однако Π½Π΅Ρ‚ нСобходимости ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ с рСсурсами. Для этого Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ срСдства, прСдоставляСмыС срСдой Visual C++.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ рСсурсы прилоТСния ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΎΠΊΠ½Π΅ Project Workspace Π½Π° страницС ResourceView. РСсурсы прилоТСния прСдставлСны Π² Π²ΠΈΠ΄Π΅ Π΄Π΅Ρ€Π΅Π²Π° ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ Ρ‚ΠΈΠΏΠ°ΠΌ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ рСсурсы ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ курсор Π½Π° символ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π»Π΅Π²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΌΡ‹ΡˆΠΈ. Π‘ΠΈΠΌΠ²ΠΎΠ» измСнится Π½Π° ΠΈ Π²Π°ΠΌ откроСтся список рСсурсов Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Около ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ рСсурса размСщаСтся нСбольшая ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ рСсурс Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, сдСлайтС Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ рСсурса ΠΈΠ»ΠΈ ΠΏΠΎ Π΅Π³ΠΎ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π’ΠΎΡ‚ список рСсурсов, доступных для использования Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ:

Bitmaps РастровыС изобраТСния Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ BMP

Dialogs Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ

String tables Π’Π°Π±Π»ΠΈΡ†Ρ‹ тСкстовых строк

Toolbars ПанСли управлСния

Version information БвСдСния ΠΎ вСрсии прилоТСния

Имя опрСдСляСтся программистом РСсурс, опрСдСляСмый самим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ

MFC AppWizard автоматичСски создаСт нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… рСсурсов для прилоТСния Dialog. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ эти рСсурсы Π² ΠΎΠΊΠ½Π΅ Project Workspace, Π²Ρ‹Π±Ρ€Π°Π² страницу ResourceView. Как Π²ΠΈΠ΄ΠΈΡ‚Π΅ рСсурсы прилоТСния Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π΄Π²Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ, ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ строк ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ вСрсии прилоТСния. Рассмотрим эти рСсурсы ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ прилоТСния Dialog

Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Π΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ IDD_DIALOG_DIALOG ΠΈ IDD_ABOUTBOX. Диалоговая панСль IDD_DIALOG_DIALOG – это ΠΈ Π΅ΡΡ‚ΡŒ главная диалоговая панСль прилоТСния. Она Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° экранС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° сразу послС запуска прилоТСния.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ внСшний Π²ΠΈΠ΄ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ IDD_DIALOG_DIALOG Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ рСсурсов. Для этого сдСлайтС Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΏΠΎ Π΅Π΅ названию Π² ΠΎΠΊΠ½Π΅ Project Workspace. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ эта панСль содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ OK ΠΈ Cancel, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΡƒΡŽ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ строку. ВпослСдствии Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ эту панСль, добавляя ΠΊ Π½Π΅ΠΉ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΡ€Π³Π°Π½Ρ‹ управлСния.

Вторая диалоговая панСль IDD_ABOUTBOX содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ – Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, авторскиС ΠΏΡ€Π°Π²Π°, Π³ΠΎΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π­Ρ‚Π° панСль Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° экранС, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ строку About ΠΈΠ· систСмного мСню Π³Π»Π°Π²Π½ΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ прилоТСния.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡƒΡŽ панСль IDD_ABOUTBOX ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ. Π’Π°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΉ Π²Π°ΡˆΡƒ Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ ΠΈ адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹.

НиТС ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° рСсурсов прилоТСния Dialog, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ IDD_ABOUTBOX ΠΈ IDD_DIALOG_DIALOG.

// Π¨Π°Π±Π»ΠΎΠ½Ρ‹ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΏΠ°Π½Π΅Π»Π΅ΠΉ прилоТСния

IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 217, 55

STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *