Druckvorschau: "Verschieben" anstelle "Bereich wählen" als Standard setzen

Hallo,

ich habe im Handbuch nichts dazu gefunden.

Ich möchte gerne generell in jeder Druckvorschau die Funktion “Verschieben” standardmäßig aktiviert haben.

Die Funktion “Bereich wählen” (aktuell standardmäßig aktiviert) führt bei meinen Kunden oft dazu, dass die mir mittels Maus/Rahmenzeichnen etwas zeigen wollen und dann total überrascht sind, warum plötzlich alles so groß geworden ist. Aber das genau macht ja die Funktion “Bereich wählen”, nämlich einen Zoom der entsprechend markierten Stelle.

Ich möchte lieber die Funktion “Verschieben” standardmäßig aktiv haben, so wie das auch im Adobe Reader der Fall ist.

Mit welcher Option geht das?

Danke.

LG
Jens Matschke

Hallo Herr Matschke,

ja, es ist möglich, wenn das .NET PreviewControl von List & Label verwendet wird. Mit dem Standalone-Viewer und ohne .NET ist es nicht realisierbar. In .NET kann es wie folgt umgsetzt werden:

            /*MouseModeMove aktivieren
            #define LS_OPTION_MOUSEMODE            (26)
            #define LS_OPTION_MOUSEMODE_MOVE       (1)
            #define LS_OPTION_MOUSEMODE_ZOOM       (2)
            */
            LLPreviewControl.SetOption((IntPtr)26, (IntPtr)1);

            //D: Drucken
            //US: print
            LL.Print();

Der Code stammt aus dem mitgelieferten C# DataBinding Sample:

…\combit\LL27\Beispiele\Microsoft .NET.NET Framework 4\WinForms\C#\DataBinding Sample

Grüße

Hallo,

ich nutze kein .NET, sondern die klassische 32-bit DLL Variante.

Das wäre total super, wenn es dort auch diese Option geben würde.

LG
Jens Matschke

Hallo,

um für die Vorschau diverse Optionen setzen zu können, braucht es immer dessen Fensterhandle. Im .NET-Umfeld passiert das komfortable in der .NET Komponente von List & Label.

Sofern also das Fensterhandle (siehe hWndLLPreviewCtrl unten) zur Verfügung steht kann zusammen mit der Windows-API Funktion SendMessage der Vorschau eine Nachricht (Optionen) zugeschickt werden. So könnte mit folgendem Code-Snippet (hier: API-Ansteuerung mit C++) der Maus-Modus in der Vorschau auch Verschieben geändert werden:

...
// "Verschieben" aktivieren
::SendMessage(m_hWndLLPreviewCtrl, LS_VIEWERCONTROL_SET_OPTION, 
             (WPARAM)LS_OPTION_MOUSEMODE, (LPARAM)LS_OPTION_MOUSEMODE_MOVE);
...

Hinweis: Wie man mit der nativen API von List & Label (bspw. in C++) die Vorschau in einem eigenen Fenster der Anwendung bekommt und dort dann Optionen setzt zeigt dieser Artikel:
Vorschau in einem eigenem C++ (Kind-)Fenster verwenden