Вверх ↑
Ответов: 165
Рейтинг: 7
#1: 2013-04-16 13:31:01 ЛС | профиль | цитата
Netspirit писал(а):
flash1103, как бы не хотелось, но выше головы не прыгнешь. Библиотеки в папке Draw предназначены исключительно для отрисовки компонента в редакторе формы. Для этого им дается возможность получить значения свойств текущего компонента (возможно, изменить в процедуре Change) и в соответствии с ними нарисовать компонент на DC. Больше ничего

Попытался, вроде получилось.
Пошел по пути сбора классов оконв каждом элементе с сохранением дерева хендлов в своей структуре в плоть до своего.Кстати класс любого окна компонента "TCpanel" на форме "TForm2". В общем не буду флудить если кому интересно, распишу детально.
Почти все закончил, остались некоторые сложные формы.
-Присутствует ориентированная градиентная заливка
-натягивание любой из 10 текстур с произвольным смешением с градиентом+ 4 битмапа пользователя из файла/ов "user1..4.bmp". все текстуры запихал в ресурсы длл, сейчас вес ~14M
сначала все изменения синхронизировал в хи-рунтайм модуле, потом плюнул и забросил в рунтайме будут совсем другие функции.
-динамическая установка/снятие хуков мыши/клавиатуры.Мышь для определения и установки псевдофокуса компонента, клавиши для изменения локальной z-последовательности в диапазоне +1..-1 (ниасмовских top-bottom не хватает)

Назрел вопрос к nesco,andrestudio,Netspirit, вернее три:

1 Никогда и ни при каких обстоятельствах не вызывается функция Close?
2 В борьбе с утечками памяти заметил что клик мыши по пустой форме увеличивает занятую память на 4кб?
3 Как сделать что-бы при выборе свойства формы "Picture", битмап рисунка натягивался на всю клиентскую область а не наоборот?
В принципе это можно решить своими путями (1,3) но если есть стандартный метод то хотелось бы его освоить.
Просто ткните в какую сторону смотреть.






карма: 1

0