|
|
Регистрация | << Правила форума >> | 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; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. Последний раз редактировалось 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 |