Главная страница
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.054 c
11-1077185193
<Falcon>
2004-02-19 13:06
2004.07.25
onDrawCell в mdvXLGrid


14-1088733250
Думкин
2004-07-02 05:54
2004.07.25
С днем рождения! 2 июля.


1-1089238481
Zvr@b
2004-07-08 02:14
2004.07.25
Как задать диапазон для Random?


14-1089174057
leonidus
2004-07-07 08:20
2004.07.25
Идея


6-1085736921
ГудБой
2004-05-28 13:35
2004.07.25
Доскажите компонент, для реализации шлюзя (прокси,фаервола)