Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Виртуальный офис - дома" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
OpenGL для новичков в программировании Выпуск 12
Информационный Канал Subscribe.Ru |
Выпуск 12: Заканчиваем программу на WinApi |
Доброго времени суток! :) Для новых подписчиков я должен повторить: Сначала прочитайте все предыдущие выпуски, которые находятся в архиве рассылки! Сегодня мы продолжим "строить" нашу программу. На сколько я помню, мы закончили на выборе курсора и пиктограммы. Весь код выглядит так:
Delphi:
C: Теперь можно продолжить. Значит, что здесь произошло. Пиктограмма указывается свойством hIcon, а курсор - hCursor. Дальше идёт функция, которая и загружает пиктограмму/курсор. Названия функций соответствуют объекту (курсору/пиктограмме). Первый параметр здесь не нужен, по этому ставим ноль. Но не везде можно поставить ноль. Всё зависит от типа аргумента. В данном случае ноль заменяет NULL (в Си, а в Дельфи nil). Следущий параметр - сама пиктограмма/курсор. Пиктограмма является стандартной, а курсор - стрелка. Чтобы увидеть больше вариантов, напишите IDI_ (для пиктограммы, от Icon ID), или IDC_ (для курсора, от Cursor ID), и нажмите Ctrl + пробел. А если хотите выбрать объект из папки, напишите полный путь к файлу в соответсвующих скобках (в зависимосьти от языка). Пиктограмма, которую мы используем, является большой. Можно ещё указать и маленькую (которая бывает в SysTray, или левом верхнем углу окна). Для этого надо изменить свойство hIconSm (handle Small Icon). Следущее свойство - описатель екземпляра программы (адрес начала образа exe файла в адресном пространстве). Не берите это глубоко к сердцу :)
Delphi:
C: В Дельфи сразу можно указать значение. Вернее, мы полностью значение определять не будем. Это сделает за нас Windows. Но в Си сначала надо создать переменную этого значения. Тут предётся создать ещё несколько переменных. Везде есть свои плюсы и минусы :) Создадим всё сейчас.
C: Объясню что они делают, когда до них доберёмся. Честно говоря, всё это скукота! Я не люблю долго работать и не видеть результатов. Пишу этот выпуск с всё меньшим энтузиазмом. Код программы, хоть и не сложный, но сложно объясняемый. Самое главное, что нельзя посмотреть, как всё выглядит, не закончив кода! Когда будем создавать окно OpenGL, я не буду сразу всё объяснять! Можно умереть от скукоты!!! :) Всё будет объяснятся постепенно. Перейдём к делу. Вот весь код программы.
Delphi:
C: Вот и всё :) Наконец... :) Обратите внимание на изменения в коде. Прежде всего объясню некоторые изменения в Си. Как я и обещал, глобальные переменные перетащил в главную функцию. Второе изменение: оказывается style в Си пишется с маленькой буквы! И чтобы найти эту ошибку пришлось компилировать весь код! Про что я и говорил. Не закончив кода не проверишь программу! Ещё одно изменение, уже в обеих языках, я использовал все свойства класса окна, потому что каждый компьютер по своему воспринимает отсуствие тех, или инных параметров. Например, на одном компе у меня всё действовало и с 10 свойствами, а другой просто отказывался показывать окно! :) Парадокс... :) Теперь Дельфи. Опять же не буду объяснять сразу всего, но это также касается и языка Си.
1) Свойства класса окна прокомментированны. Конечно, объяснил я не всё :) Но остальное - в следущем выпуске, потому что это будет отдельная тема. Теперь, задание #9: Сами напишите код обычного окна. Создайте себе план, по которому легче будет это
сделать. Я себе создал (поделюсь им в следущем выпуске). Старайтесь не пользоваться рассылкой (хотя в первое время это не избежно!). Если что нибудь не поняли - не молчите! На сегодня всё :) |
2005-10-30 |
Spider3D
http://spider3d.narod.ru Евгений Нарышкин Spider3D@yandex.ru |
Subscribe.Ru
Поддержка подписчиков Другие рассылки этой тематики Другие рассылки этого автора |
Подписан адрес:
Код этой рассылки: comp.soft.prog.delphigl Архив рассылки |
Отписаться
Вспомнить пароль |
В избранное | ||