Einzelnen Beitrag anzeigen

s-off
(Gast)

n/a Beiträge
 
#5

Re: PDF-Dateien untereinander und synchron scrollen

  Alt 10. Jan 2007, 15:04
Hallo Sirius,

nochmals vielen vielen Dank.

Ich kann nun das PDF manuell bspw. nach unten scrollen, also Messages an das Control schicken, mit unten stehender Prozedur:

Delphi-Quellcode:
Procedure TForm1.ToolButton1Click(Sender: TObject);
var
   FormHandle: HWND;
   PanelHandle: HWND;
   AfxOleHandle: HWND;
   AfxFrameHandle: HWND;
   AfxMDIFrameHandle: HWND;
Begin
   FormHandle := FindWindow('TForm1', 'Form1');
   if FormHandle > 0 then
      PanelHandle := FindWindowEx(FormHandle, 0, 'TPanel', 'Panel1');
      if PanelHandle > 0 then
         AfxOleHandle := FindWindowEx(PanelHandle, 0, 'AfxOleControl42s', 0);
         if AfxOleHandle > 0 then
            AfxFrameHandle := FindWindowEx(AfxOleHandle, 0, 'AfxFrameOrView42s', 0);
            if AfxFrameHandle > 0 then
               AfxMDIFrameHandle := FindWindowEx(AfxFrameHandle, 0, 'AfxMDIFrame42s', 0);
               if AfxMDIFrameHandle > 0 then
                  AfxHandle := FindWindowEx(AfxMDIFrameHandle, 0, 'Afx:f30000:b:0:6:0', 0);
End;

procedure TForm1.ToolButton2Click(Sender: TObject);
begin
   if AfxHandle > 0 then
      SendMessage(AfxHandle, WM_VSCROLL, SB_LINEDOWN, 0)
   else showmessage('kein handle');
end;
Das funktioniert wirklich hervorragend

Was mir nur jetzt noch unklar ist, wie ich die WndProc-Prozedur genau dieses Controls überschreiben kann.
Bei einem normalen Control, welches ich auf meine Form packe, ist mir das klar; das mache ich so:

Delphi-Quellcode:
Type
   TMyPDF = Class(SDK_AXLib_TLB.TFoxitReaderSDK)
      Procedure WndProc(Var Msg1: TMessage); override;
   public
      sName: String;
   End;

[.......]

Procedure TMyPDF.WndProc(Var Msg1: TMessage);
Begin
   //do something
   Inherited WndProc(Msg1);
End;
Das funktioniert ebenfalls ;o)

Aber wie komme ich an das Control, das ja so tief unten in der Hierarchie liegt?
Also wie kann ich Messages von dem Control abfangen/-fragen?
Muss ich da auch erst nen Type für erstellen und falls 'ja' - wie?

Das ist die letzte Hürde - wirst Du, oder jemand anderes helfen, sie zu überwinden?

Bisher aber schonmal =>
  Mit Zitat antworten Zitat