Главная страница
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.029 c
9-1081776891
Werwolf
2004-04-12 17:34
2004.07.25
Сохранки


1-1089364577
hgd
2004-07-09 13:16
2004.07.25
Толщина линии


3-1088931777
}|{yk
2004-07-04 13:02
2004.07.25
XLReport и 1 к m


4-1086759480
RoadStar
2004-06-09 09:38
2004.07.25
fsStayOnTop


3-1088603725
Lesica
2004-06-30 17:55
2004.07.25
BDE транслирует поле типа MONEY в DECIMAL