Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

onDrawCell в mdvXLGrid


<Falcon> ©   (2004-02-19 13:06:00) 

Вопрос следующего плана:
  в продцедуре onDrawCell при использовании ACanvas.TextWidth перестает отображаться содержимое ячеек у которых в текущий момент нет фокуса.
Если убрать TextWidth, все нормально. Кто-нибудь может объяснить почему?


Gandalf   (2004-02-28 16:27:00) [1]

Я про ширину Width - она глючит.


Владимир Кладов   (2004-02-28 13:07:00) [2]

Тулбар вообще особый контрол. Он себе высоту любит сам выставлять. Из-за этого уже были проблемы в начале, когда KOL создавался. Есть еще combobox примерно так же свою высоту уточняющий. И требуется иногда осторожность с listbox'ом (когда IntegralHeight).


Gandalf   (2004-02-25 20:19:00) [3]

2Владимир Кладов
 Полностью согласен - я и говорю что это не исправление. Ладно он меня достал - попробую взяться серьезно, а то он у меня в нескольких прогах выскакивает.

ЗЫ: Еще бага - бросил ToolBar - снял с него Align=none, и положил одну кнопку, потом поставил ему размеры акурат в эту кнопку (чуть больше... Width,height) - но он после октрытия закрытия - отвоевывает свои размеры - делаясь длинным!


Владимир Кладов   (2004-02-24 20:17:00) [4]

Тут такая штука. Закомментарить недолго. А вот последствия кто-нибудь тестировал? По-моему, может возникнуть ситуация с большим перерасходом GDI-ресурсов. Ладно, сделаем так: по символу условной компиляции: NOT_CLEAR_CANVAS_IN_TEXTEXTENT. Такое решение тоже не очень хорошо. Может, кто-нибудь все-таки возьмется досконально разобраться, в чем там дело, и как двух зайцев убить - и канву нормально высвобождать, и рисование чтобы не прекращалось?


<Falcon>   (2004-02-24 16:27:00) [5]

Попробовал. Сделал. Помогло. Спасибо за совет.


Gandalf   (2004-01-23 13:50:00) [6]

Я давно обратил внимание Кладова на данный баг, но его до сих пор не исправили... я знаю как его устранить но не исправить:



function TCanvas.TextExtent(const Text: string): TSize;
var DC : HDC;
   ClearHandle : Boolean;
begin
 //Result.cX := 0;
 //Result.cY := 0;
 ClearHandle := False;
 RequiredState( HandleValid or FontValid );
 DC := fHandle;
 if DC = 0 then
 begin
    DC := CreateCompatibleDC( 0 );
    ClearHandle := True;
    SetHandle( DC );
 end;
//********************************************************** // Added By Gerasimov
//*
//  If Not fIsPaintDC then ClearHandle := True; // Вот строку мы закоментили



Хотя возможно у тебя другой случай...


Наверх

Титульная страница Поиск, карта сайта Написать письмо