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

Вниз

обнуление поля при выбранном чекбоксе   Найти похожие ветки 

 
Creative   (2006-02-16 13:23) [0]

Есть класса
TMyClass
FData: TBitmap;

и следующие процедуры:

procedure TForm1.DrawGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
 var CanSelect: Boolean);
begin
 if Checkbox1.Checked then
   begin
    if Checbox2.checked then
    CurrentVulue:=true;
    DrawGrid1[ACol, ARow].MyProperty:=true;
   end;

procedure TMEClass.SetMyProperty(Value: boolean);
begin
 FMyProperty := Value;
 case Value of
   true :
     begin
       if CurrentValue = false then
         begin
          FData:= Pic1;
         end;
         if CurrentValue = true then
         begin
         FData:= Pic2;
         end;
     end;

procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
 Rect: TRect; State: TGridDrawState);
begin

if (DrawGrid1[ACol, ARow].FRWData) <> nil then
 DrawGrid1.Canvas.StretchDraw(Rect, DrawGrid1[ACol, ARow].Data);

Иными словами - если чекбокс отмечен - в клетке должна рисоваться одна картинка, если нет - другая. Что получаем: чекбоск отмечен, все данные передаются, картинка в поле прописывается, но когда дело доходит до процедуры DrawCell - поле FData почему то сстановится равно nil, и естественно ничего не рисуется вообще.
причем - если сначсала чекбокс и не отмечать - нарисуется соотв. картика. Но только тронь его - перестает рисоваться в обоих случаях.


 
umbra ©   (2006-02-16 13:30) [1]

это что, куски кода из разных проектов? как-то в целое не складывается. какие-то неясные свойства, FRWData, например. Какое отношение TMyClass имеет к DrawGrid?


 
Creative   (2006-02-16 13:35) [2]

нет,это попытка очистить код от посторонних предметов. :-)

У TMyClass есть поле FData: TBitmap (прошу прощения за опечатку, именно о нем идет речь) и оно должно рисоваться на канве DrawGrid`а при клике на ячейку.


 
Creative   (2006-02-16 14:35) [3]

проблема решилась


 
umbra ©   (2006-02-16 14:53) [4]

как, если не секрет?



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

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

Наверх




Память: 0.47 MB
Время: 0.051 c
4-1134560930
kami
2005-12-14 14:48
2006.03.05
как определить, под каким именем запущен процесс?


1-1138504415
Linn
2006-01-29 06:13
2006.03.05
Hotkeys


10-1113539192
JekSoft
2005-04-15 08:26
2006.03.05
Объект OLE/ActiveX для MS Office


1-1138529550
Wistler
2006-01-29 13:12
2006.03.05
Импорт функции из DLL


2-1139507966
аматор
2006-02-09 20:59
2006.03.05
приём файла TurboPower Async Professional