Einzelnen Beitrag anzeigen

Y.Elm

Registriert seit: 19. Sep 2011
Ort: Berlin
21 Beiträge
 
Delphi 2010 Professional
 
#1

Verwenden des TextInputPanels / der PenInputPanelLib_TLB

  Alt 16. Jan 2012, 11:28
Hallo allerseits, ich hoffe, ich bin im richtigen Forum unterwegs mit meiner Frage.
Ich habe in diesem Beitrag gelesen, wie die Steuerung der Windows-Touch-Tastatur (oder auch TextInputPanel) möglich sein soll.
Ich hab mich also frisch ans Werk gemacht, die Typenbibliothek PenInputPanelLib_TLB importiert, in einem kleinen Testprogrämmchen ein TextInputPanel erzeugt und möchte diesem mitteilen, dass es sich nicht automatisch öffnen soll, wenn man auf Edit1 tippt.

Soweit ich verstanden habe, sind dazu folgende Schritte notwendig:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  TIP: TextInputPanel;
begin
  TIP := CoTextInputPanel.Create; // TextInputPanel erzeugen
  TIP.Set_AttachedEditWindow(Edit1.Handle); // Ziel-Komponente zuweisen
  TIP.Set_InPlaceVisibleOnFocus(Integer(FALSE)); // TIP bleibt unsichtbar, wenn Ziel-Komponente fokussiert wird
end;
Allerdings sieht die Deklaration von Set_AttachedEditWindow so aus:
function Set_AttachedEditWindow(var AttachedEditWindow: _RemotableHandle): HResult; stdcall; Was bitte ist ein _RemotableHandle und wie kann ich der Funktion das Handle meines Edit1 übergeben?
Da die ganze TLB für mich noch fremd ist und eher nach Voodoo aussieht, wäre ich sehr dankbar, wenn mir jemand helfen könnte oder allgemeine Hinweise zum Gebrauch der PenInputPanelLib_TLB geben könnte.

(Der Hintergrund des Ganzen ist übrigens: unsere Software war bisher nur für den Betrieb auf Desktop-PCs mit Touch-Monitor ausgelegt, wo höchstwahrscheinlich eine Hardware-Tastatur verfügbar ist. Es ist also in fast allen Dialogen ein programminternes TouchKeyboard vorhanden ... aber nur in fast allen. Mit dem Durchbruch der Tablet-PCs soll unsere Software auch da benutzt werden können. Nun ist es meine Aufgabe, das automatische Aufpoppen des Windows TouchKeyboards in den Dialogen mit eigenem Keyboard zu verhindern und in allen anderen zuzulassen )
  Mit Zitat antworten Zitat