-
Не могу установить компонент KOLStringGrid + на Delphi 7, поскольку в архиве отсутствует пакет для этой версии... Где можно его найти?
-
Сотворить руками новый или редактировать от другой версии, заменив в файле dpk MirrorKOLPackageD6 (MirrorKOLPackage) на MirrorKOLPackageD7
-
Благодарю, помогло. Теперь ещё один глупейший вопрос: каким образом всё-таки можно поменять цвет шрифта в TKOLButton? Если можно?
-
Самой кнопки нельзя. Так сказал Майкрософт. Но можно: 1 AcceptChildren=true, 2 Бросаем label (image, ...) и располагаем (Align или просто разместить по вкусу) 3 Говорим ему Transparent=true и MouseTransparent=true
-
> Vladimir Kladov [3]
Thank you - very useful information!
-
Спасибо за совет, но я сделал несколько хитрее :) Отскринил прогу, написанную без использования КОЛ, вырезал кнопку и рисунок назначил KOLButton1.
-
Круто. А теперь поменяйте тему в винде.
-
> Круто. А теперь поменяйте тему в винде.
Зачод :)
-
Последний глупый вопрос, и я оставлю вас в покое... Можно ли в таблице StGrd поменять цвет текста одной отдельной ячейки?
-
Кажется, я видел такой компонент. Поищи на сайте
-
Который компонент? Я посмотрел, но ничего похожего не нашёл...
-
> Можно ли в таблице StGrd поменять цвет текста одной отдельной > ячейки?
А что OnDrawCell там нет?
-
> Можно ли в таблице StGrd поменять цвет текста одной отдельной > ячейки?
Еще как можно. Есть пример. Вопрос еще актуален?
-
Compiler, если не затруднит, то приведите этот пример, пожалуйста.
-
> Сидор (27.02.08 13:28) [13]
DefaultDrawing:=False;
procedure TForm1.KOLFormFormCreate(Sender: PObj);
var
j,i:integer;
begin
for j:=0 to StGrd1.RowCount-1 do
for i:=0 to StGrd1.ColCount-1 do
if j mod 2=0 then
StGrd1.Cells[j,i]:='Текст' else
StGrd1.Cells[j,i]:='Текст';
end;
procedure SelCells(DC:hDC; TextRect:Trect; Text:string);
var
Brush,BrushOld:hBrush;
Pen,PenOld:hPen;
begin
Brush := GetSysColorBrush(COLOR_BACKGROUND);
BrushOld := SelectObject(DC, Brush);
FillRect(DC,TextRect,0);
DrawText(DC,PChar(Text),Length(Text),
TextRect,DT_SINGLELINE or DT_LEFT or DT_NOPREFIX);
SetBkMode(DC, TRANSPARENT);
SelectObject(DC, BrushOld);
DeleteObject(Brush);
Pen := CreatePen(PS_DOT, 1, RGB(0, 0, 0));
PenOld := SelectObject(DC, Pen);
RectAngle(DC, TextRect.Left,TextRect.Top,
TextRect.Right,
TextRect.Bottom);
SetBkMode(DC, TRANSPARENT);
SelectObject(DC, PenOld);
DeleteObject(Pen);
end;
procedure TForm1.StGrd1DrawCell(Sender: PControl; Cnv: PCanvas; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
FillRect(Cnv.Handle,Rect,GetSysColorBrush(COLOR_BTNFACE));
case ARow mod 3 of
0:Cnv.Font.Color:=ClBlack;
1:Cnv.Font.Color:=ClRed;
2:Cnv.Font.Color:=ClBlue;
end;
if gdFixed in State then
begin
SetBkMode(cnv.Handle,TRANSPARENT);
Cnv.TextOut(Rect.Left,Rect.Top,PStGrd(Sender).Cells[ACol,ARow])
end else
Cnv.TextRect(Rect,Rect.Left,Rect.Top,PStGrd(Sender).Cells[ACol,ARow]);
if gdFocused in State then
SelCells(cnv.Handle,Rect,PStGrd(Sender).Cells[ACol,ARow]);
end;
-
Да, помогло! Всем огромное спасибо, что не бросили в беде ламера :)
|