Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 20.12.2008, 13:15   #1
devi409
Форумчанин
 
Регистрация: 28.12.2006
Адрес: Барнаул
Сообщений: 75
Репутация: 57
По умолчанию Почему у компонента TImage не работает метод Perform?

Почему у компонента TImage не работает метод Perform?
К примеру беру обычную Tpanel посулаю ей сообщение WM_SYSCOMMAND с параметром $F012 то она передвигается и можно отловить событие WM_MOVE
однако отсылая через perform компоненто TImage тоже самое сообщение результат нулевой.
вычитал что Tpanel является оконым компонентом а TImage графическим.
Можно ли создать свой компонент потомок Timage но чтобы он был и оконным и графическим? и как это сделать?

ЗЫ: Я понимаю что пользуюсь системной функцией и младшие биты использовать нельзя (так сказано в документации).

Последний раз редактировалось devi409; 20.12.2008 в 14:00.
devi409 вне форума   Ответить с цитированием
Старый 20.12.2008, 15:32   #2
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Адрес: Туапсе
Сообщений: 279
Репутация: 196
По умолчанию

Как вы правильно заметили TImage не является наследником TWinControl. Вся проблема в том что у TImage нет Handle, на который посылается сообщение, те с точки зрения windows это не окно. Эту потаницу ввел borlan. Поместите например tImage на TPanel и посылайте все сообщения последнему или напишите наследника от TWinControl.
Насчет использования нижних битов - все верно все в порядке - вам не рекомендуют создавать свои сообщения в младшем слове. А посылать вы можете что угодно.
0nni вне форума   Ответить с цитированием
Старый 20.12.2008, 17:58   #3
devi409
Форумчанин
 
Регистрация: 28.12.2006
Адрес: Барнаул
Сообщений: 75
Репутация: 57
По умолчанию

спасибо
devi409 вне форума   Ответить с цитированием
Старый 21.12.2008, 10:42   #4
rpy3uH
добрый няша
СуперМодератор
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Адрес: Солнечное Тбилиси
Сообщений: 4,807
Репутация: 1989
По умолчанию

Цитата:
Сообщение от 0nni Посмотреть сообщение
Насчет использования нижних битов - все верно все в порядке - вам не рекомендуют создавать свои сообщения в младшем слове.
поправка: в младших четырёх битах
rpy3uH вне форума   Ответить с цитированием
Старый 21.12.2008, 11:07   #5
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Адрес: Туапсе
Сообщений: 279
Репутация: 196
По умолчанию

rpy3uH, Чтож вы мне это все на вид то ставите?
http://www.delphikingdom.com/asp/ans...IDAnswer=67399
Наверное стоит задуматься?
0nni вне форума   Ответить с цитированием
Старый 22.12.2008, 12:21   #6
rpy3uH
добрый няша
СуперМодератор
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Адрес: Солнечное Тбилиси
Сообщений: 4,807
Репутация: 1989
По умолчанию

не понял. что я сказал не так?
здесь написано что младшие 4 бита используются системой
Цитата:
In WM_SYSCOMMAND messages, the four low-order bits of the wParam parameter are used internally by the system. To obtain the correct
result when testing the value of wParam, an application must combine the value 0xFFF0 with the wParam value by using the bitwise AND operator.
rpy3uH вне форума   Ответить с цитированием
Старый 22.12.2008, 13:27   #7
JTG
я получил эту роль
Профессионал
 
Аватар для JTG
 
Регистрация: 25.05.2007
Адрес: тут темно и с потолка капает
Сообщений: 3,695
Репутация: 2224

icq: III 37373860
По умолчанию

Всё уже изобретено

Таскаемый мышью TDragImage как потомок TCustomControl:
http://programmersforum.ru/showpost....0&postcount=12
__________________
пыщь
JTG вне форума   Ответить с цитированием
Старый 22.12.2008, 18:51   #8
0nni
Форумчанин
 
Аватар для 0nni
 
Регистрация: 24.07.2008
Адрес: Туапсе
Сообщений: 279
Репутация: 196
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
не понял. что я сказал не так?
Нет, это был камень в мой огород.
0nni вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему не работает domovoi Общие вопросы Delphi 1 15.10.2008 18:42
Почему инди-компонента TIdTCPServer тормозит после десяти минут работы? alex-v Работа с сетью в Delphi 2 15.07.2008 19:02
Почему не работает цикл????? Marsik Помощь студентам 2 22.06.2008 14:16
Почему не работает код? Kashp Общие вопросы Delphi 3 09.08.2007 17:33


18:38.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru