|
Тема |
Re: Owner draw в DBGrid [re: Alvian] |
|
Автор |
Mixy (@#$%^) |
|
Публикувано | 09.06.09 17:55 |
|
|
Ако приемем, че има само едно съвпадение и изречението е "Иван кара колело в Благоевград" (за по-нагледно):
W := Canvas.TextWidth('Бла'); // дава ширината в пиксели на областта за оцветяване.
P := Pos('Бла',Text); // Това е номера на първата буква от съвпадението.
X := Canvas.TextWidth(delete(Text, P, length(Text-P))); // Това е началото на съвпадението в пиксели.
Canvas.FillRect(rect(X, Rect.Top, X+W, Rect.Bottom)); // Това ти чертае фона с текущия Brush.Color
Това го пиша без да съм го пробвал, но предполагам, че ще схванеш идеята. Трябва да го разположиш в събитието за чертане на грида. За маркиране на повече съвпадения си организирай някакъв цикъл.Редактирано от Mixy на 09.06.09 17:59.
|
| |
|
|
|