Форум: "Начинающим";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];
Внизобнуление поля при выбранном чекбоксе Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c