Einzelnen Beitrag anzeigen

Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#16

Re: Wenn . dann Fenster öffnen wie bei Delphi

  Alt 1. Okt 2004, 13:48
aha.

die delphi-hilfe erzählt mal wieder dünnpfiff
caretPos gibt nicht die pixel-koordinaten des carets zurück, sondern die spalte und die zeile...

da heißt es dann: umrechnen.

hier mal mein (getesteter) code:

Delphi-Quellcode:
  if key = '.then
  begin
    form2.left := form1.Left + richedit1.Left +
      richedit.CaretPos.x * form1.canvas.TextWidth('W') +
      (form1.width - form1.ClientWidth); //abziehen des fensterrahmens

    form2.top := form1.top + richedit.top +
      richedit.caretpos.y * form1.canvas.Textheight('W') +
      (form1.height - form1.ClientHeight); //abzeihen des fensterrahmen

    form2.show;
  end;
form2 ist das fenster, welches aufklappt, wenn man . eingibt

nachtrag: form1.canvas angefügt (damit du es besser siehst ). du müsstest dem canvas noch die schriftart den memo's geben, damit es die text-größe richtig ausgibt...

hoffe, dass dir das hilft,
Aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat