Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Создание прибыльного сайта для начинающих" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Интернет для Delphi-программиста
Информационный Канал Subscribe.Ru |
Интернет для Delphi программиста.Выпуск : № 32 Здравствуйте уважаемые подписчики рассылки "Интернет для Delphi программиста". Данная рассылка предназначена для всех кого интересует Delphi, здесь будут выкладываться ссылки на различные ресурсы интернета так или иначе связанные с Delphi: книги, исходники, программы... Изучайте Delphi один из лучших языков программирования!!! ЗАДАТЬ ВОПРОС : Правила
рассылки: Новые вопросы.
Ответы.
Статья: Создание кнопок средствами Win API. http://decoding.narod.ru/api/button/button.html
Сегодня мы поговорим о том, как создаются кнопки. За основу возьмем наш шаблон (если вы не читали статью "Минимальная программа на Win API", прочтите, именно с этим шаблоном мы будем работать). На некоторых кнопках нарисуем стандартные иконки, на некоторых выведем текст. И конечно обработаем событие, вызываемое нажатием на кнопку. Кроме этого, кнопки с текстом смогут иметь "фокус", который будет оставаться после нажатия на одну из них. Начнем с того, что для каждой кнопки создадим константу с уникальным идентификационным номером. Объявление самих кнопок удобнее всего сделать в виде массива, это сделает код более компактным. Также создадим переменные для работы с иконками и шрифтом.
Кнопка, по своей сути, немногим отличается от главной формы приложения (это самостоятельное окно, имеющее "родителя", и обладающее своим собственным дескриптором). По этому для ее создания воспользуемся уже знакомой функцией CreateWindowEx. Посмотрим, как создается кнопка с иконкой.
Второй параметр функции CreateWindowEx говорит о том, что мы создаем именно кнопку. Определяя стиль кнопки, мы указываем, что она имеет родителя (WS_CHILD, дескриптор родителя указывается в 9-ом параметре) и будет отображать иконку (BS_ICON). С остальными параметрами мы уже знакомы. Функция LoadIcon загружает указанную иконку в наше приложение. Если первый параметр 0 (как в нашем случае), это значит, что мы работаем со стандартными системными значками (их константы указаны в модуле Windows). Загрузив иконку, назначаем ее кнопке, послав соответствующее сообщение. Остальные кнопки создаются по аналогии. Теперь поговорим о кнопках с текстом.
Основное отличие от создания предыдущих кнопок заключается в том, что в 3-ем параметре вместо nil пишется заголовок кнопки. Обратите внимание, в описании стиля отсутствует константа BS_ICON. В принципе этого достаточно для того, чтобы отобразить надпись на кнопке (посмотрите на создание последней кнопки - Buttons[8]). Однако мы можем кое-что сделать с текстом, а именно, изменить стиль шрифта. Делается это с помощью функции GetStockObject, параметром которой и задается необходимый нам стиль. Обратим внимание на то, что последняя кнопка выглядит не совсем так, как остальные. Добиться такого результата можно, используя константу BS_DEFPUSHBUTTON при задании стиля. Теперь посмотрим, как следует обрабатывать событие, полученное от нажатия кнопки.
Как видим, нам нужно обработать сообщение WM_COMMAND. Параметр wParam хранит уникальный идентификатор кнопки, которая вызвала это событие. Сравниваем его с определенными в самом начале константами, идентифицируем кнопку, и выполняем связанный с ней код. И последнее на сегодня. В нашей программе кнопки с текстом должны иметь фокус. Для этого, после выполнения кода, связанного с кнопкой, вызываем процедуру SetFocus. Теперь посмотрим, как это работает. После того, как мы уберем сообщение, вызванное нажатием на одну из трех нижних кнопок, мы увидим на ней пунктирный прямоугольник, нарисованный рядом с бордюром. Это и есть результат работы процедуры SetFocus. Теперь, нажав на клавишу "пробел", мы заставим эту кнопку сработать. На этом все. Успехов в программировании. .:
Пример к данной статье :. Исходники: Простенький MP3-плеер, написанный на Delphi. Пламя с использованием DirectDraw. Программа, демонстрирующая процесс сложения различных фигур из листа бумаги. Морской бой. Игра использует DelphiX, поэтому для её компиляции вам потребуется этот пакет. Превосходная графика и качественный звук. Полноэкранная вертикальная стрелялка
на космическую тему. "Отморозок" - моя старая игруха, написанная
(но недоделанная) давным давно (где-то
зима 2004 г), после впечатлений от другой
текстовой игры... вообщем уже не помню
названия. Сделана она была на турбо
паскале (как я думаю), и увлекала не
графикой (которой там вообще не
существовало - однако текстовая :) а
необычным (для меня) командным
управлением, и интересным геймплеем.
Естественно все события были random'ные, но
баланс игрухи - на высоте. Небольшой аудиоредактор. Умеет производить операции монтажа аудиофайлов, а также имеет набор простых аудиоэффектов. Генератор html фотоальбома, используется JEDI VCL 3 Загрузчик файлов на локальный диск из сетевого диска, и запуск одного из них. Своего рода инсталлятор. А нужно это для того, чтобы у пользователя гарантированно запускалась текущая версия софта. Для перемещения файлов в подкаталоги со структурой "гггг\мм\дд". В каталоге, куда падает почта от отделений лежат тысячи файлов, и чтобы легче было елозить по ним. Анимация формы. Открытия закрытие, минимизация. Эта небольшая программка позволяет
следить за текущим состоянием системы, т.е.
Просматривать процессы, потоки, кучи,
окна, списки загруженных модулей, а
также все это дело завершать/закрывать. Этот пример демонстрирует создание формы в виде звёздочки. Программаа создания ярлыка на рабочем столе. Компоненты: Аналоговые часы (компонент). Полностью настраивается. Визуальный компонент для просмотра 32-битных иконок. Изображения-hotspots(горячие точки, кнопки), подобные тем, что используются на сайте www.ImageMap.com Кнопки могут быть прямоугольниками, эллипсами, многоугольниками или вращающимися прямоугольниками, вращающимися эллипсами. Обработчики горячих точек позволяют получить эффект парения, подсказок, нажатия, двойных щелчков. HashLib! - это быстрая и гибкая библиотека для Delphi и C++ Builder, работающая с хэш-алгоритмами MD2, MD4, MD5, SHA-1, SHA (256, 384, 512), Haval (128, 160, 192, 224, 256), GOST R 34.11-94, Ripe-MD (128, 160), Tiger (128, 160, 192), CRC32, CRC32b, Adler32. Простой общий интерфейс (собственный API для каждого алгоритма), функции низкого и высокого уровня (буферы, строки, файлы). Шаблоны для самопроверки. Малый размер (SysUtils и другие системные модули не используются). Некоторые функции переписаны на Ассемблере. Включены примеры на C++ и Delphi. HarmFade производит эффект анимации. Это - переход от одного TPicture к другому, используя эффекты 'Blend' и 'Disslove'. Выглядит симпатично. Будет работать на 256 цветах, также спроектирован для 16- и 24-битного цвета. Поддерживает форматы jpg, wmf, а также ico. В этой версии добавлены новые события... Компонент предназначен для анимирования (в прямом или обратном порядке) изображений, находящихся в ImageList. Хороший набор свойств и событий. Полнофункционален. PHP4Delphi 5.0 это первая визуальная оболочка для разработки и работы с PHP объектами, используя Delphi. PHP4Delphi к тому же позволяет исполнять PHP скрипты внутри Delphi-программ непосредственно из файла или памяти. Имеется возможность читать и изменять PHP переменные и результирующие значения. PHP4Delphi позволяет внедрять PHP интерпретатор в Ваши Delphi приложения. Новое в версии 5.0: * PHP API и ZEND API преобразование с языка C в Delphi; * psvPHP компонент, работающий непосредственно в Delphi без дополнительных DLL; * phpLibrary компонент, который позволяет добавлять новые PHP функции в psvPHP компонент; * новая визуальная оболочка с расширенными возможностями. Требуется создать HTML, XML или текстовый отчёт? Воспользуйтесь HTML Template Component - он работает подобно хорошо известным ASP и JSP технологиям и позволяет создавать HTML (XML, SGML, текст) страницы с помощью шаблонов. Работает на клиентской стороне без сервера HTTP и может обращаться к объектам приложения и данным. Для проектирования отчётов можно воспользоваться любым редактором. Справочники: Некоторые вопросы по Delphi и ответы на
них. Список и описание функций RxLib. Средства создания Internet-приложений в Kylix и Delphi 6 Средства создания Internet-приложений в
Kylix и Delphi 6/ Документация к QuickReport 3 Справочная система по DELPHI Версия 1.0 Руководство по программированию Книга: От ЦПИ "Эверест" http://umnik.rikt.ru/everest/distant/e-book_sm.htm Ишмуратов Р.К. и Карачи А.Ю.
представляют демонстрационную версию
уникального курса "Delphi: от
инсталляции до первых игр". Интересные и полезные сайты по Delphi: Если Вы хотите, чтобы Ваш сайт был в этом разделе пишите. http://www.noil.pri.ee/ - Здесь вы можете почитать статьи, скачать исходники и компоненты, пообщаться на форуме. Немного юмора: :))
Дружественная рассылка: Все
кто хочет изучить Delphi и реально
научиться писать свои программы, ЦПИ "Эверест"
поможет Вам. 10 причин в пользу платного обучения в ЦПИ "Эверест"… 1. Когда Вы
платите деньги-
появляется дополнительный стимул
против лени: надо учиться, ведь деньги
уже уплачены….
5. Стоимость обучения
одного месяца в ЦПИ "Эверест"
сравнима с ценой хорошей книги. Но часто
ли Вам попадались книги, рассчитанные
именно на Вас. Мы же работаем
индивидуально.
8. А это значит, что …Мы
предлагаем получить "высшее
образование" - профессию
программиста всего за
1 год и 144 доллара, любой ВУЗ
попросит в 3 раза больше за один только
семестр. По всем вопросам обращайтесь ко мне. Если вы встретили в интернете
интересный сайт или статью, да и вообще, что угодно
связанное с Delphi, поделитесь ссылкой. Предложения, критику и пожелания пишите на e-mail. |
Subscribe.Ru
Поддержка подписчиков Другие рассылки этой тематики Другие рассылки этого автора |
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphiinternet |
Отписаться
Вспомнить пароль |
В избранное | ||