Moin Moin,
Hab mal zu den Gridkomponenten eine Frage.
die bzw in welcher Reihenfolge werden die Ereignise Click, DrawCell und MouseUp aufgelöst?
um eine sache vorwegzunehmen. es sollte dabei egal sein, Ob TStrinGrid oder TDrawGrid.
ist da die reihenfolge egal oder muß man diese zeitlich gegeneinander abschotten, das diese in der gewünschten reiehnfolge laufen?
erst MouseUp --> DrawCell --> Click
lf maik81ftl
Grid's
Re: Grid's
Ist es sowieso, da beide von TCustomGrid abgeleitet sind.um eine sache vorwegzunehmen. es sollte dabei egal sein, Ob TStrinGrid oder TDrawGrid.
Es gibt quasi keine "Reihenfolge" die Ereignisse werden direkt beim eintreffen ausgelöst, wobei ich nicht weiß was du mit zeitlich abschotten meinst.ist da die reihenfolge egal oder muß man diese zeitlich gegeneinander abschotten
-
- Beiträge: 770
- Registriert: Sa 21. Feb 2009, 13:46
- OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
- CPU-Target: 32Bit
Re: Grid's
Das kann man doch ganz einfach selber ausprobieren.
Man nimmt sich nen Grid macht die 3 Methoden und setzt nen Breakpoint in jede.
Oder man schreibt
in jede procedure und schaut sich das ergebnis an.
Man nimmt sich nen Grid macht die 3 Methoden und setzt nen Breakpoint in jede.
Oder man schreibt
Code: Alles auswählen
Form1.Caption := Form1.Caption + ' MouseUp';
Form1.Caption := Form1.Caption + ' DrawCell';
Form1.Caption := Form1.Caption + ' Click';
Zuletzt geändert von Lori am So 13. Mär 2011, 17:59, insgesamt 1-mal geändert.
Grund: Highlighter
Grund: Highlighter
Code: Alles auswählen
Signatur := nil;
-
- Beiträge: 619
- Registriert: Mi 9. Mär 2011, 16:34
- OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
- CPU-Target: 64Bit
- Wohnort: seit 01.06.2011 in Wahlstedt
Re: Grid's
Jopp! viel mir auch in etwa ein, als i meiner süßen 'nen kuss gegeben hab.MAC hat geschrieben:Das kann man doch ganz einfach selber ausprobieren.
Man nimmt sich nen Grid macht die 3 Methoden und setzt nen Breakpoint in jede.
Oder man schreibt Form1.Caption := Form1.Caption + ' MouseUp';
Form1.Caption := Form1.Caption + ' DrawCell';
Form1.Caption := Form1.Caption + ' Click';
in jede procedure und schaut sich das ergebnis an.
aber um gans sicher zugehen, würd ich denne bei der aktiven verwendung Temp einbauen, um die Reihenvolge zu definieren wenn ich das grund ergebnis hab.
Edit1*: Drawcell Überwiegt, da schon bei Programmstart ausgelöst wird.

Edit2*: nach reichlicher Überlegung bin ich zu dem entschluß gekommen, das ich mir die Click schenken kann.
einfach nur nach dem SChema arbeiten.
wenn Linke Maustaste = losgelassen dann _frei
in der DrawCell erst starten wenn _frei = 1 anschliesend Frei = 0 setzen.
einfacher geht's nun wirklich nicht mehr

edit3*:
Totaler Satz mit X.

Code: Alles auswählen
procedure TForm1.DrawGrid1DrawCell(Sender: TObject; aCol, aRow: Integer;
aRect: TRect; aState: TGridDrawState);
begin
if _Free then
begin
Caption:= Caption + 'Cell|';
end;
end;
procedure TForm1.DrawGrid1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then
begin
Caption:= Caption + 'Mouse|';
_Free:= True;
end;
end;
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache
und der Kreis Segeberg meine LIEBE 


Re: Grid's
Was willst du denn erreichen?
-
- Beiträge: 619
- Registriert: Mi 9. Mär 2011, 16:34
- OS, Lazarus, FPC: Ubuntu10.04 LTS (L 0.9.31.0 FPC 2.4.4)
- CPU-Target: 64Bit
- Wohnort: seit 01.06.2011 in Wahlstedt
Re: Grid's
Das hier.DiBo33 hat geschrieben:Was willst du denn erreichen?
Habe mich schon an Diese Beispiel Orientiert, Aber solange der DrawCell mir die Beschriftung in der Kopfzeile kill,. hilft mir das auch nicht weider...
Ubuntu 10.04 LTS ist meine Heimat. Lazarus ist meine Sprache
und der Kreis Segeberg meine LIEBE 

