Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
1-9481
heruvim4ik
2002-03-09 14:32
2002.04.04
простейшая прога весит 300 кб...


1-9504
lipskiy
2002-03-22 15:01
2002.04.04
Как активировать свое приложение?


1-9555
lipskiy
2002-03-24 00:54
2002.04.04
Надо перехватить сообщение о копировании в буфер обмена от любого приложения.


1-9530
snoup
2002-03-23 20:15
2002.04.04
Как заставить сидиром заехать?


4-9685
roman001
2002-02-03 18:55
2002.04.04
CreateBitmapIndirect




   Наверх