Ресурсы приложения
Ресурсы приложения
Большую часть пользовательского интерфейса любого приложения составляют ресурсы – меню, диалоговые панели, пиктограммы, курсоры. Создавая приложение, MFC AppWizard подготавливает для него базовый набор ресурсов. Вы можете редактировать подготовленные для вас ресурсы по своему усмотрению, а также добавлять в проект новые ресурсы.
Все ресурсы приложения хранятся в отдельном каталоге. Этот каталог называется RES и располагается в главном каталоге проекта. Однако нет необходимости каждый раз вручную открывать файлы с ресурсами. Для этого надо использовать средства, предоставляемые средой Visual C++.
Просмотреть ресурсы приложения можно в окне Project Workspace на странице ResourceView. Ресурсы приложения представлены в виде дерева и разделяются по типам. Чтобы просмотреть ресурсы определенного типа, надо установить курсор на символ
и нажать левую кнопку мыши. Символ
изменится на
и вам откроется список ресурсов данного типа, включенных в проект. Около имени каждого ресурса размещается небольшая пиктограмма. Чтобы загрузить выбранный ресурс в редактор, сделайте двойной щелчок левой кнопкой мыши по имени ресурса или по его пиктограмме. Вот список ресурсов, доступных для использования в приложении:
Ресурс Описание
Accelerators Акселераторы
Bitmaps Растровые изображения в формате BMP
Cursors Курсоры
Dialogs Диалоговые панели
Icons Пиктограммы
Menus Меню
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
CAPTION "About Dialog"
FONT 8, "MS Sans Serif"
BEGIN
ICON IDR_MAINFRAME,IDC_STATIC,11,17,20,20
LTEXT "Dialog Version 1.0", IDC_STATIC,40,10,119,8,SS_NOPREFIX
LTEXT "Copyright © 1996", IDC_STATIC, 40, 25, 119, 8
DEFPUSHBUTTON "OK",IDOK,178,7,32,14,WS_GROUP
END
IDD_DIALOG_DIALOG DIALOGEX 0, 0, 185, 92
STYLE DS_MODALFRAME|WS_POPUP|WS_VISIBLE|WS_CAPTION|WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "Dialog"
FONT 8, "MS Sans Serif"
BEGIN
PUSHBUTTON "Cancel",IDCANCEL,128,23,50,14
DEFPUSHBUTTON "OK",IDOK,128,7,50,14
LTEXT "TODO: Place dialog controls here.", IDC_STATIC,5,34,113,8
END
Пиктограмма
В файле ресурсов приложения указана единственная пиктограмма, имеющая идентификатор IDR_MAINFRAME. Эта пиктограмма содержится в файле Dialog.ico, в каталоге res.
//////////////////////////////////////////////////////////////
// Пиктограмма
IDR_MAINFRAME ICON DISCARDABLE "res\Dialog.ico"
Пиктограмма IDR_MAINFRAME содержит два цветных изображения с разрешением 32?32 и 16?16 пикселов (рис. 4.7). Вы можете изменить эти пиктограммы по своему усмотрению.
Рис. 4.7. Пиктограммы приложения Dialog
Таблица текстовых строк
В таблице текстовых строк проекта Dialog определена только одна текстовая строка &About Dialog…, имеющая идентификатор IDS_ABOUTBOX. Эта строка содержит текст нового элемента, который будет добавлен к системному меню главной диалоговой панели приложения. Если пользователь выберет эту строку меню, приложение выведет на экран небольшую диалоговую панель, с краткой информацией о приложении.
//////////////////////////////////////////////////////////////
// Таблица строк
STRINGTABLE DISCARDABLE
BEGIN
IDS_ABOUTBOX "&About Dialog…"
END
Версия
Во всех приложениях, созданных с использованием MFC AppWizard, определен специальный ресурс, содержащий различные сведения о версии приложения (4.8). Приложение Dialog также содержит такой ресурс, который имеет идентификатор VS_VERSION_INFO.
Рис. 4.8. Информация о версии приложения
Вы можете внести изменения в этот ресурс, однако имеет смысл делать это только на конечной стадии разработки приложения. Поэтому мы не станем сейчас подробно останавливаться на описании этого ресурса.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Ресурсы
Ресурсы Я довольно часто пишу о HTML5 на своей личной страничке: http://adactio.com/journal/tag/html5Я не единственный человек в мире, который с нетерпением ждет HTML5. Невероятный Брюс Лосон (Bruce Lawson) тоже записывает свои мысли: http://brucelawson.co.uk/category/html5/Брюс – только один из активных участников
Ресурсы XSL-FO
Ресурсы XSL-FO Ряд ресурсов XSL-FO доступен в Интернете, но их гораздо меньше, чем ресурсов XSLT. Вот основные:• www.w3.org/TR/xsl. Основная рекомендация-кандидат XSL, включающая также XSL-FO;• http://lists.w3.org/Archives/Public/www-xsl-fo/. Список заметок W3C для XSL-FO.Так же, как существуют процессоры XSLT,
22.1. Ресурсы в Web
22.1. Ресурсы в Web Основной сайт Ruby — www.ruby-lang.org: все остальные находятся от него в нескольких щелчках мышью. Отсюда всегда можно скачать самую свежую версию Ruby.Еще один важный сайт — rubygarden.org, который раньше содержал только wiki-страницу. Wiki как была, так и осталась, но теперь
Ресурсы
Ресурсы BeginUpdateResource Функция BeginUpdateResource возвращает дескриптор, который может быть использован функцией UpdateResource для добавления, удаления или замены ресурсов в исполняемом файле. HANDLE BeginUpdateResource ( LPCTSTR pFileName , // имя файла, в котором будут обновляться ресурсы BOOL bDeleteExistingResources //
РЕСУРСЫ
РЕСУРСЫ Справочная система EvernoteБлог Майкла Хаятта: руководителя издательской группы Thomas Nelson Publishers, оратора и проповедника. У него собраны интересные посты по внедрению Evernote для тех, кто является блоггером и писателемЭлектронная книга “Evernote®: The unofficial guide to capturing everything and
Ресурсы приложения
Ресурсы приложения Большую часть пользовательского интерфейса любого приложения составляют ресурсы – меню, диалоговые панели, пиктограммы, курсоры. Создавая приложение, MFC AppWizard подготавливает для него базовый набор ресурсов. Вы можете редактировать подготовленные
Другие ресурсы
Другие ресурсы ? «Integer Handling with the С++ Safelnt Class», David LeBlanc, msdn.microsoft.com/library/default.asp?url=/library/en–us/dncode/html/ secure01142004.asp? «Another Look at the Safelnt Class», David LeBlanc, http://msdn.microsoft.com/ library/default.asp?url=/library/en–us/dncode/html/secure05052005.asp? «Reviewing Code for Integer Manipulation Vulnerabilities*, Michael Howard, http://msdn. microsoft, com/library/default.asp?url=/library/en–us/dncode/
Другие ресурсы
Другие ресурсы ? Writing Secure Code, Second Edition by Michael Howard and David C. LeBlanc (Microsoft Press, 2002), Chapter 12, «Database Input Issues»? Sarbanes–Oxley Act of 2002: www.aicpa.org/info/sarbanes–oxley_summary.htm? The Open Web Application Security Project (OWASP): www.owasp.org.? «Advanced SQL Injection in SQL Server Applications» by Chris Anley: www. nextgenss.com/papers/advanced_sql_injection.pdf? Web Applications and SQL Injections:
Другие ресурсы
Другие ресурсы ? «How То Remove Metacharacters From User–Supplied Data in CGI Scripts»:
Другие ресурсы
Другие ресурсы ? Code Complete, Second Edition by Steve McConnell, Chapter 8, «Defensive Programming»? «Exception Handling in Java and C#» by Howard Gilbert: http://pclt.cis. yale.edu/ pclt/exceptions.htm? Linux Kernel mremap() Missing Return Value Checking Privilege Escalation
Другие ресурсы
Другие ресурсы ? «Writing Secure Code, Second Edition» by Michael Howard and David C. LeBlanc (Microsoft Press, 2002), Chapter 13 «Web–specific Input Issues»? Mitigating Cross–site Scripting With HTTP–only Cookies: http://msdn. microsoft.com/library/default.asp?url=/workshop/author/dhtml/httponly_ cookies.asp? Request Validation – Preventing Script Attacks: www.asp.net/faq/ requestvalidation.aspx? mod_perl Apache::TaintRequest: www.modperlcookbook.org/code.html?
Другие ресурсы
Другие ресурсы ? Утилита ssldump для анализа SSL–трафика: www.rtfm.com/ssldump? SSL–прокси Stunnel: www.stunnel.org/? Бесплатная реализация режимов GCM и ССМ от Брайана Гладмана:
Другие ресурсы
Другие ресурсы ? «Secure programmer: Prevent race conditions» by David Wheeler: www–106. ibm.com/developerworks/linux/library/l–sprace.html?ca=dgr–lnxw07RACE? Building Secure Software by John Viega and Gary McGraw (Addison Wesley), Chapter 9, «Race Conditions»? Writing Secure Code, Second Edition by Michael Howard and David C. LeBlanc (Microsoft Press, 2002), Chapter 11 «Canonical Representation Issues»? Perl 5 Reference Guide в формате HTML от Рекса
Другие ресурсы
Другие ресурсы ? Protocols for Authentication and Key Establishment by Colin Boyd and Anish Mathuria (Springer,