Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

НУЖНА помощь!!!

512
27 апреля 2005 года
bnm
124 / / 17.10.2004
Привет всем!Проблема заключается в том что я создал таблицу StringGrid и первая ее ячейка окрашивается в синий цвет
т.е. она является как бы активной, а мне активнаяя вообще не нужна, как мне сделать так чтобы при запуске этой программы в таблице первая ячейка не окрашевалась в синий?
Если кто-то желает взглянуть на интерфейс этой программы с этой синей ячейкой зайдите по адресу mail-box.nm.ru/12.jpg
Если кто знает как это сделать пишите буду сильно благодарен т.к я уже четвертый день себе ломаю голову над этим.
488
27 апреля 2005 года
Mоngооsе
465 / / 01.04.2005
Нужно поместить над этой ячейкой панель такого же размера с белым цветом и без border.

Кроме этого в обработчик OnEnter StringGrida написать:
Panel1.Visible := false;
302
28 апреля 2005 года
Sagittarius
648 / / 12.04.2003
Я считаю, что правильным вариантом будет - перехватить обработчик отрисовки ячеек.
488
28 апреля 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by Sagittarius
Я считаю, что правильным вариантом будет - перехватить обработчик отрисовки ячеек.

Ты прав. Можно обработать OnDrawCell и написать

 
Код:
if ACol=0 and ARow=1 then begin
  StringGrid1.Canvas.Brush.Color := clWhite;
  StringGrid1.Canvas.FillRect(Rect);
end;
Главное в нужное время отключить этот обработчик.
10
28 апреля 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Mоngооsе
StringGrid1.Canvas.Brush.Color := clWhite;


Никогда не используйте абсолютные цвета! Так создаются аляпистые интерфейсы, с которыми работать невозможно! Только так:

 
Код:
StringGrid1.Canvas.Brush.Color := clWindow;
302
28 апреля 2005 года
Sagittarius
648 / / 12.04.2003
Цитата:
Главное в нужное время отключить этот обработчик.


Я бы сделал, приблизительно, так:

 
Код:
With StringGrid1.Canvas do begin
  Brush.Color := clWhite; {Может лучше clWindow}
  FillRect(Rect);
  TextOut(2,2,StringGrid1.Cells[ACol,ARow]);
end;

Хотя, здесь еще, возможно, необходимо добавить проверку состояния ячейки, и корректно отрисовывать фиксированные.
488
28 апреля 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by Freeman
Никогда не используйте абсолютные цвета! Так создаются аляпистые интерфейсы, с которыми работать невозможно! Только так:
 
Код:
StringGrid1.Canvas.Brush.Color := clWindow;

Спасибо за совет. Но я полностью перешел на Visual C. Раньше писал и на Delphi и на CBuilder.

10
28 апреля 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Mоngооsе
Спасибо за совет. Но я полностью перешел на Visual C. Раньше писал и на Delphi и на CBuilder.


Твой личный переход на Visual C не означает, что на VCL нельзя создать приличный пользовательский интерфейс. И на Visual C тоже.

488
28 апреля 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by Freeman
Твой личный переход на Visual C не означает, что на VCL нельзя создать приличный пользовательский интерфейс. И на Visual C тоже.

Ты как переехал с Баку, что-то стал ворчливым :). User friendly interface создается не только цветами. Для этого нужно намного и намного больше. И цвета самый мизер, так как они должны соответствовать стандартному Windows look and feel.

302
28 апреля 2005 года
Sagittarius
648 / / 12.04.2003
Цитата:
Originally posted by Mоngооsе
User friendly interface создается не только цветами.


Хотелось бы добавить, "и не только на Visual C". :D

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог