Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

onDrawCell в mdvXLGrid   Найти похожие ветки 

 
<Falcon>   (2004-02-19 13:06) [0]

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


 
Gandalf ©   (2004-01-23 13:50) [1]

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



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; // Вот строку мы закоментили



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


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

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


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

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


 
Gandalf ©   (2004-02-25 20:19) [4]

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

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


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

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


 
Gandalf ©   (2004-02-28 16:27) [6]

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



Страницы: 1 вся ветка

Текущий архив: 2004.07.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.046 c
14-1088752863
МТС-ник
2004-07-02 11:21
2004.07.25
unlimited GPRS


8-1084179857
Клавдия
2004-05-10 13:04
2004.07.25
как склеить в один wav файл последовательно несколько файлов?


8-1084256134
Akron
2004-05-11 10:15
2004.07.25
Работа с MS Agent


1-1089785687
hgd
2004-07-14 10:14
2004.07.25
Как управлять программой голосом?


4-1086870441
Лёха
2004-06-10 16:27
2004.07.25
RegNotifyChangeKeyValue, отслеживание реестра