Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 01.11.2012, 21:10
sorockinalex sorockinalex вне форума
Начинающий
 
Регистрация: 08.08.2012
Сообщения: 178
Репутация: 10
По умолчанию

видимо я что-то не понимаю... я делфи билдером считаю, от слова build, строить. ведь мы строим программу, а не полностью руками пишем код, строим с использованием готовых окон, элементов...
может дело в том, что я когда искал версию делфи с возможностью скрывать по плюсику процедуры, установил 2010 (вроде) делфи, потом он мне не понравился из-за того, что всю программу в свою версию переконвертировал, удалил его... так же был установлен сначала 6 делфи (перед всем этим), потом и 7 был в промежутках установлен... может быть какие-то конфликты версий?....
Ответить с цитированием
  #17  
Старый 02.11.2012, 05:10
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от sorockinalex
видимо я что-то не понимаю... я делфи билдером считаю, от слова build, строить. ведь мы строим программу, а не полностью руками пишем код, строим с использованием готовых окон, элементов...
Параллельно с "Delphi" (использующим Object Pascal) разрабатывается "C++ Builder" (использующим соответственно язык C++) вот его то и принято называть сокращённо "билдер".
Цитата:
Сообщение от sorockinalex
может дело в том, что я когда искал версию делфи с возможностью скрывать по плюсику процедуры, установил 2010 (вроде) делфи, потом он мне не понравился из-за того, что всю программу в свою версию переконвертировал, удалил его... так же был установлен сначала 6 делфи (перед всем этим), потом и 7 был в промежутках установлен... может быть какие-то конфликты версий?....
Если есть возможность - скомпилируй на другом компьютере с установленным Delphi 6/7.
Попробуй поудалять из папки с программой всё лишнее. Оставь только файлы с расширением dpr, res, pas, dfm ну и другие файлы не относящиеся к проекту (желательно перед этим первоначальное содержимое сохранить в архив). Хотя вряд ли это поможет.
Ещё можешь постепенно удалять всё из проекта - сначала все формы кроме той на которой лежит глючной грид, потом в этой форме компоненты и обработчики.
У меня не получилось сымитировать глючной грид и исходников с глючным гридов у меня нет, поэтому конкретных советов дать не могу.
Ответить с цитированием
  #18  
Старый 11.01.2013, 01:07
sorockinalex sorockinalex вне форума
Начинающий
 
Регистрация: 08.08.2012
Сообщения: 178
Репутация: 10
По умолчанию

блин, опять та же байда, не пойму в каком месте, теперь и 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  
Старый 11.01.2013, 01:23
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Нужно смотреть весь код. Если исходники не секретные, выкладывай.

А этот код можно упростить.
Код:
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  
Старый 11.01.2013, 01:26
sorockinalex sorockinalex вне форума
Начинающий
 
Регистрация: 08.08.2012
Сообщения: 178
Репутация: 10
По умолчанию

Да код нет смысла смотреть...
Единственное, что могло ещё повлиять хоть как-то, связанное со стринггридом:
Код:
  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
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:51.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter