![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| DriveSoftware |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 17.3.2003 Репутация: нет Всего: 4 |
Привет!
Наверное всем приходилось из Bitmap-а делать форму (я о CombineRgn SetWindowRgn), но происходит это не слишком быстро! Вопрос: А можно созданный регион сохранить в файл, а потом уже без всяких расчетов просто загружать его в hRgn и делать SetWindowRgn, может уже у кого есть рабочий пример или хотя бы знает как это сделать? |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
По идее можно, если тебе удастся сохранить все вершины фигуры в файле. И потом останется загрузить их в массив и передить функции создания региона.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 14 Всего: 48 |
procedure SaveRegion(s: TStream; r: HRGN);
var rdata: Pointer; size: Cardinal; begin size := GetRegionData(r, SizeOf(RGNDATA), nil); rdata := GlobalAllocPtr(GPTR, size); GetRegionData(r, size, rdata); s.Write(rdata^, size); GlobalFreePtr(rdata); end; function LoadRegion(s: TStream): HRGN; var rdata: PRgnData; begin rdata := GlobalAllocPtr(GPTR, s.size); s.Read(rdata^, s.Size); Result := ExtCreateRegion(nil, s.Size, rdata^); GlobalFreePtr(rdata); end; -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| DriveSoftware |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 17.3.2003 Репутация: нет Всего: 4 |
Сегодня попробую, можа и получится.
|
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 14 Всего: 48 |
обязательно получится -- сам писал, сам тестил
-------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |