![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
|||
|
|||
|
видимо я что-то не понимаю... я делфи билдером считаю, от слова build, строить. ведь мы строим программу, а не полностью руками пишем код, строим с использованием готовых окон, элементов...
может дело в том, что я когда искал версию делфи с возможностью скрывать по плюсику процедуры, установил 2010 (вроде) делфи, потом он мне не понравился из-за того, что всю программу в свою версию переконвертировал, удалил его... так же был установлен сначала 6 делфи (перед всем этим), потом и 7 был в промежутках установлен... может быть какие-то конфликты версий?.... |
|
#17
|
||||
|
||||
|
Цитата:
Цитата:
Попробуй поудалять из папки с программой всё лишнее. Оставь только файлы с расширением dpr, res, pas, dfm ну и другие файлы не относящиеся к проекту (желательно перед этим первоначальное содержимое сохранить в архив). Хотя вряд ли это поможет. Ещё можешь постепенно удалять всё из проекта - сначала все формы кроме той на которой лежит глючной грид, потом в этой форме компоненты и обработчики. У меня не получилось сымитировать глючной грид и исходников с глючным гридов у меня нет, поэтому конкретных советов дать не могу. |
|
#18
|
|||
|
|||
|
блин, опять та же байда, не пойму в каком месте, теперь и D7 версия другая стоит 7.3.4.3. build 8.1.
Вот скриншот (мультивыбор отключен, все события формы такие же как описано выше): http://saveimg.ru/show-image.php?id=...3e6fc3c23a01c5 Может эта процедура неправильно работает всё же? Код:
procedure TFRelEqAddEvent.EventsStringGridDrawCell(Sender:
TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
//Жирный заголовок
if ARow = 0 then
(Sender as TStringGrid).Canvas.Font.Style := [fsBold]
else
(Sender as TStringGrid).Canvas.Font.Style := [];
(Sender as TStringGrid).Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, (Sender as
TStringGrid).Cells[ACol, ARow]);
end;Может быть потому, что в стринггриде 3 столбца, а первый и последний скрыты... Последний раз редактировалось sorockinalex, 11.01.2013 в 01:12. |
|
#19
|
||||
|
||||
|
Нужно смотреть весь код. Если исходники не секретные, выкладывай.
А этот код можно упростить. Код:
procedure TFRelEqAddEvent.EventsStringGridDrawCell(Sender:
TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
with (Sender as TStringGrid).Canvas do
begin
//Жирный заголовок
if ARow = 0 then
Font.Style := [fsBold]
else
Font.Style := [];
TextOut(Rect.Left + 2, Rect.Top + 2, (Sender as
TStringGrid).Cells[ACol, ARow]);
end;
end;Последний раз редактировалось angvelem, 11.01.2013 в 01:27. |
|
#20
|
|||
|
|||
|
Да код нет смысла смотреть...
Единственное, что могло ещё повлиять хоть как-то, связанное со стринггридом: Код:
with EventsStringGrid do
begin
//Ключевой столбец
Cells[0, 0] := 'eventid';
ColWidths[0] := 0;
//Событие (параметр)
Cells[1, 0] := 'Событие';
ColWidths[1] := 500;
//Единица измерения
Cells[2, 0] := 'Ед.Изм.';
ColWidths[2] := -1;
end;Начал менять значения... Пришёл к выводу и решению: Такое происходит только если единственный столбец в видимом поле отображается. Ширину столбца подгонял до границ стрингрид, чтобы при выделенной единственной строчке она была во всю ширину... Решение - первый столбец делать шириной не -1, а 0 |