Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 152
от 04.11.2005, 17:27

Администратор:Калашников О.А.
В рассылке:Подписчиков: 259, Экспертов: 30
В номере:Вопросов: 1, Ответов: 4


Вопрос № 28555: Здравствуйте ув. эксперты. В функции(процедуре) окна можно объявить объект PAINTSTRUCT ps; и сразу начинать рисование BeginPaint(hwnd, &ps); Можно сделать даже так BeginPaint(hwnd, (LPPAINTSTRUCT)&ps); Но почему нельзя сделать во...

Вопрос № 28.555
Здравствуйте ув. эксперты.

В функции(процедуре) окна можно объявить объект
PAINTSTRUCT ps; и сразу начинать рисование BeginPaint(hwnd, &ps);
Можно сделать даже так BeginPaint(hwnd, (LPPAINTSTRUCT)&ps);
Но почему нельзя сделать вот так:
PAINTSTRUCT ps;
LPPAINTSTRUCT lpps = &ps;
Данная идея родилась после изучения заголовочных файлов Windows API.
Конкретно winuser.h Практического воплощения пока нет, просто не понятно почему не срабатывает механизм определения типов.
Отправлен: 30.10.2005, 17:24
Вопрос задал: Цепков Константин Владимирович (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Алексей Смуриков
Здравствуйте, Цепков Константин Владимирович!
Если тат то тогда только один совет:
Переходи на ассемблер там пофигу какой тип!!!
---------
Speccy Rulezz!!!
Ответ отправил: Алексей Смуриков (статус: Практикант)
Отправлен: 30.10.2005, 17:45

Отвечает: Bob Johnson
Здравствуйте, Цепков Константин Владимирович!
А кто тебе сказал, что так сделать нельзя? Так можно сделать как раз...

Приложение:

Ответ отправил: Bob Johnson (статус: Академик)
Отправлен: 30.10.2005, 18:19

Отвечает: estiGi
Здравствуйте, Цепков Константин Владимирович!
А с чего ты взял, что нельзя? LPPAINTSTRUCT взялся от typedef на PAINTSTRUCT*, поэтому такой код:
PAINTSTRUCT ps;
LPPAINTSTRUCT lpps = &ps;
прекрасно компилируется и работает. Если у тебя нет - значит ты где то изменил тот самый winuser.h. Или я просто не понял, что именно ты имел в виду.
А вообще при рисовании посоветовал бы хорошо подумать, когда используешь BeginPaint/EndPaint - могут возникнуть непонятки и неожиданности :)
Если вдруг ты не понимаешь, почему нужный тебе фрагмент не перерисовывается, когда ты вроде все делаешь правильно, пользуй GetDC/ReleaseDC
Ответ отправил: estiGi (статус: 4-ый класс)
Отправлен: 30.10.2005, 19:04

Отвечает: VampSergey
Здравствуйте, Цепков Константин Владимирович!
так:

PAINTSTRUCT ps;
LPPAINTSTRUCT lpps = &ps;

делать можно(зачем-то...)!
Может не подключен "windows.h" или "winuser.h", но не могу представить как(без них) остальное-то работает :)
Ответ отправил: VampSergey (статус: 2-ой класс)
Отправлен: 01.11.2005, 00:16


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Rambler's Top100 Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.winapifaq
Архив рассылки
Отписаться
Вспомнить пароль

В избранное