AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Maus-Ereignisse im Sringgrid

Ein Thema von Hansa · begonnen am 1. Jul 2003 · letzter Beitrag vom 8. Jul 2003
Antwort Antwort
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

Maus-Ereignisse im Sringgrid

  Alt 1. Jul 2003, 19:41
Hi,

ich will in einem Grid in der Titelzeile einen Hint bringen. Deshalb habe ich ShowHint des Grids auf true gesetzt und bei Row = 0 den Hint gesetzt (im OnMouseMove), also so:
Delphi-Quellcode:
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  if StringGrid1.Row = 0 then begin
    case StringGrid1.Col of
      1 : StringGrid1.Hint := 'Nr. eingeben';
      2 : StringGrid1.Hint := 'keine Eingabe möglich';
    end;
  end;
end;
Tja, der Hint hat sich versteckt und taucht nicht auf.

[edit=Daniel B]Delphi-Tags eingefügt. MfG Daniel B.[/edit]
Gruß
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 1. Jul 2003, 20:46
Moin Hansa,

schau Dir mal Application.OnHint an.
So eine Routine erstellen, und darin prüfen, wo sich denn jetzt gerade der Cursor befindet. Anhand des Prüfungsergebnisses kannst Du dann den Hinttext festlegen.
(hoffentlich, ist nur eine ungeteste Idee )
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3
  Alt 2. Jul 2003, 02:15
So, habe mir nochmals den blöden Hund/Hint angeschaut. Wieso muß ich da an die Application dran ? Das ist mir doch etwas suspekt.

Es geht jetzt, aber nicht immer. Aber mir fällt da etwas anderes auf: Ist ein Hint etwa ein Ressourcenfresser ? Wenn das blöde Ding überhaupt auftaucht, braucht der Rechner ewig. Ist das normal, also gewollt? Es könnte nämlich auch sein, daß ich das StringGrid in dieser Richtung untersuchen muß.
Gruß
Hansa
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 2. Jul 2003, 02:44
Moin Hansa,

schau Dir doch mal die Hilfe zu TApplication an, speziell die Eigenschaften.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5
  Alt 2. Jul 2003, 02:57
Delphi-Quellcode:
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
var
  MyRow, MyCol: Integer;
begin
  StringGrid1.MouseToCell(x, y, MyCol, MyRow);
  if MyRow = 0 then
    StringGrid1.Hint := 'Hello world'
  else
    StringGrid1.Hint := '';
end;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#6

Re: Maus-Ereignisse im Sringgrid

  Alt 8. Jul 2003, 09:16
@Luckie

Wie kann ich dass Teil beständig machen, so dass es auch die Hints wechselt wenn man von einer Zelle zu einer anderen geht ? Leider wird dort erst ein Hint angezeigt wenn man die Zelle markiert oder das Grid komplett verlässt und dann wieder zurückkehrt aufs Grid. Aber wenn man sich nur im Grid bewegt verändert sich der Hint irgendwie nimmer

mein Code dazu
Delphi-Quellcode:
procedure Tfrm_Objektuebersicht.stg_patenschaftenMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
var
  MyRow, MyCol: Integer;
  betrag : currency;
  waehrung, helpstring : String;
begin
  stg_patenschaften.MouseToCell(x, y, MyCol, MyRow);
  if (Mycol = 1) then
  begin
    stg_patenschaften.showhint := true;
    if (MyRow > 0) then
    begin
      helpstring := trim(stg_patenschaften.cells[MyCol,MyRow]);
      while(POS('.',helpstring) > 0) do
        delete(helpstring,POS('.',helpstring),1);
      waehrung := Trim(copy(helpstring,POS(' ',helpstring),length(helpstring)));
      if (trim(waehrung) = '?') then waehrung := 'EUR';
      try
        betrag := strtoCurr(Copy(helpstring,1,POS(' ',helpstring)));
        stg_patenschaften.Hint := FORMAT('%12.2n',[Waehrungenanpassenfueranzeige(betrag,'EUR',waehrung)])+' '+euro(global_wkz);
      except
       // Ist keine Zahl also kann man auch nix anzeigen !
       stg_patenschaften.showhint := false;
      end;
    end;
  end
  else stg_patenschaften.showhint := false;
end;
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

Re: Maus-Ereignisse im Sringgrid

  Alt 8. Jul 2003, 10:21
Zitat von JoelH:
@Luckie

Wie kann ich dass Teil beständig machen, so dass es auch die Hints wechselt wenn man von einer Zelle zu einer anderen geht ? Leider wird dort erst ein Hint angezeigt wenn man die Zelle markiert oder das Grid komplett verlässt und dann wieder zurückkehrt aufs Grid. Aber wenn man sich nur im Grid bewegt verändert sich der Hint irgendwie nimmer
application.cancelhint

am Beispiel von Luckie wärs so : (jede Zelle als Hint anzeigen)
Delphi-Quellcode:
procedure TForm1.StringGrid1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
var
  MyRow, MyCol: Integer;
  oldhint:string;
begin
  oldhint:=StringGrid1.hint;
  StringGrid1.MouseToCell(x, y, MyCol, MyRow);
  if (MyRow<>-1) and (Mycol<>-1) then
    StringGrid1.hint:=StringGrid1.Cells[mycol,myrow]
   else
    StringGrid1.hint:='';

  if oldhint<>StringGrid1.hint then Application.CancelHint;
end;
Mfg Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
JoelH
(Gast)

n/a Beiträge
 
#8

Re: Maus-Ereignisse im Sringgrid

  Alt 8. Jul 2003, 11:26
dess klappt ja wunderbar Dank Dir.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz