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

Вниз

Форма не реагирует на нажатие кнопок и мышь в фокусе, и реагирует без фокуса   Найти похожие ветки 

 
vvlad   (2002-03-21 19:01) [0]

Помогите разобраться
Работаю с StringGrid - написал обработчик onDrawCell - рисует определенный рисунок в определенной ячейке
Ячеек изначально нет
При добавлении первой - рисуется нужный рисунок, все хорошо
При добавлении второй ячейки - ячейка рисуется и приложение как бы виснет - кнопочки мышкой не нажимаются, ALT+F4 не работает
Но если сделать активным другое окно, - то все ок
и так пока это глючное приложение не получит фокус

Никто не встречался с подобной проблемой?
StringGrid - создаю в runtime - отловить не выходит


 
Song ©   (2002-03-21 21:09) [1]

Надо бы посмотреть Ваш onDrawCell


 
vvlad   (2002-03-22 15:36) [2]

Вот такой код

создаем так
GraphControlLib.OnDrawCell := GraphControlLib.LibGridDrawCell;
GraphControlLib.OnSelectCell := GraphControlLib.SetSelectedGraph;

процедура обработчик
procedure TGraphControlLib.LibGridDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
MoveDrawCursorToCell(ACol,ARow, Rect);
DrawGraph(ACol,ARow);
end;

и эти две рисовалки

procedure TGraphControlLib.MoveDrawCursorToCell(ACol, ARow: Longint; Rect: TRect);
var
X,Y:Integer;
begin
X:=Rect.Left+round((Rect.Right-Rect.Left)/2);
Y:=Rect.Top+round((Rect.Bottom-Rect.Top)/5);
Self.Canvas.MoveTo(X,Y);
end;

procedure TGraphControlLib.DrawGraph(ARow, ACol: Integer);
var
PenPos: TPoint;
gr: String;
isGraph: Boolean;
Graph: TMathGraph;

i,e: integer;
RootNode: TGraphPoint;
Edge: TGraphEdge;
angle: real;

begin
PenPos:=Canvas.PenPos;

try
if (GraphLib.Items[ACol] <> nil) then isGraph:=true;
except
isGraph:=false;
end;
if (isGraph) then gr:="+" else gr:="";
Self.Canvas.TextOut(PenPos.x,PenPos.y,gr+VarToStr(ACol+1));
if (not isGraph) then exit;




Repaint;




end;



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

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

Наверх




Память: 0.47 MB
Время: 0.01 c
3-9360
Igor_
2002-03-11 14:55
2002.04.04
Grant to ALL в InterBase


1-9562
Man-In-Red
2002-03-23 18:20
2002.04.04
Как из любого файла (директория и имя его находятся в Edit`e1), вытащить его значок и поместить в Image1?


1-9566
DenKop
2002-03-24 15:14
2002.04.04
Извлечение иконок


1-9568
Beginner
2002-03-24 21:41
2002.04.04
SaveDialog


1-9528
MaratA
2002-03-23 19:07
2002.04.04
Delphi виснет через несколько запусков проги