AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Zeichen zur eignen Form zur Weiterverarbeitung schicken
Thema durchsuchen
Ansicht
Themen-Optionen

Zeichen zur eignen Form zur Weiterverarbeitung schicken

Ein Thema von Furtbichler · begonnen am 2. Jul 2013 · letzter Beitrag vom 2. Jul 2013
Antwort Antwort
Furtbichler
(Gast)

n/a Beiträge
 
#1

Zeichen zur eignen Form zur Weiterverarbeitung schicken

  Alt 2. Jul 2013, 21:06
Hi,


Gibt es eine einfache Möglichkeit, einem (eigenen) VCL-Formular, deren Instanz bekannt ist, Zeichen so zu schicken, das sie ganz normal verarbeitet werden, so als ob es Tastendrücke (nur Zeichen und Ziffern und ENTER) wären?

Danke für Tipps.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Zeichen zur eignen Form zur Weiterverarbeitung schicken

  Alt 2. Jul 2013, 21:16
Meinst Sendkeys?

Was anderes fällt mir da jetzt nicht ein.
Hab da letztens ne angepasste SendKeys Unit hier hochgeladen da diese die ich gefunden
habe nicht funktionieren mit 2010 zum Beispiel.

gruss

Geändert von EWeiss ( 2. Jul 2013 um 21:26 Uhr)
  Mit Zitat antworten Zitat
WoGe

Registriert seit: 16. Jun 2005
Ort: Kelkheim
178 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Zeichen zur eignen Form zur Weiterverarbeitung schicken

  Alt 2. Jul 2013, 21:20
Hi

wäre das http://delphi.about.com/od/adptips20...ltip1104_3.htm
das was Du suchst?

Gruß wo
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: Zeichen zur eignen Form zur Weiterverarbeitung schicken

  Alt 2. Jul 2013, 21:50
Hi Emil, Hi Wo

SendKeys wird es wohl sein. Danke für den Hinweis und den Link.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Zeichen zur eignen Form zur Weiterverarbeitung schicken

  Alt 2. Jul 2013, 21:52
Hi Emil, Hi Wo

SendKeys wird es wohl sein. Danke für den Hinweis und den Link.
Du kannst das Projekt Progcommand laden oder ich lade die Unit hier nochmal hoch.

EDIT:
Hab sie hochgeladen..
Bei einigen mußt du den Key mappen bei einer ausgabe als string.. aber ich denke das ist dir bekannt..

Delphi-Quellcode:
function GetKeyName(aKey:Byte): string;
var
  ScanCode: cardinal;
  KeyName: array[0..255] of char;

begin
 Result := '';
 ScanCode := (MapVirtualKey(byte(aKey), 0) shl 16);

 if ScanCode <> 0 then
 begin
   GetKeyNameText(ScanCode, KeyName, SizeOf(KeyName));
   Result := KeyName;
 end;
end;


gruss

Geändert von EWeiss (11. Jul 2019 um 17:13 Uhr)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#6

AW: Zeichen zur eignen Form zur Weiterverarbeitung schicken

  Alt 2. Jul 2013, 21:53
Das Handle des Formulars brauchst du definitiv, das ließe sich mit MSDN-Library durchsuchenFindWindow() schon mal erledigen. Ab da gibt es dann mehrere Möglichkeiten. Zum einen das schon genannte SendKeys(), dann wären da noch direkt die Messages MSDN-Library durchsuchenWM_KEYDOWN und analog dazu MSDN-Library durchsuchenWM_KEYUP, wobei das nicht mit Systemtasten geht. Mein persönlicher Favorit ist aber MSDN-Library durchsuchenSendInput(). Der große Nachteil von letzterem ist allerdings, dass das empfangene Fenster den Fokus haben muss, also ggf. erst diesen via MSDN-Library durchsuchenWM_SETFOCUS verpasst bekommen muss. Dafür gehen damit dann wirklich alle Tasten. Such dir wat aus
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Zeichen zur eignen Form zur Weiterverarbeitung schicken

  Alt 2. Jul 2013, 22:10
FindWindow ist in der Sendkey32 schon integriert incl. EnumWindow
Einfach AppActivate(WindowName) aufrufen damit wird der Focus zu Anwendung gesetzt.

Letztendlich wird auch SendInput verwendet.

Datum schicken!
Delphi-Quellcode:
if LeftStr(vsKeyCmd, lPos) = '$(DATE)then
begin
  Date := Now;

  DateTimeToString(DateTime, 'MMMM DD, YYYY', Date);
  SendKeys(PWideChar(DateTime));
  exit;
end;
gruss

Geändert von EWeiss ( 2. Jul 2013 um 22:13 Uhr)
  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 22:18 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