Directory Contents Search << >>


Leonardo: Funktion TWAINIsTwainMessage

Achtung! Diese Seite ist Teil der noch unvollständigen Dokumentation der Alpha-Version von DaVinci 4.

Bei geöffneter Datenquelle müssen die mit GetMessage aus der Windows Nachrichtenwarteschlange bezogenen Nachrichten "gefiltert" werden, ähnlich dem Vorgang bei der Windows-Funktion IsDialogMessage,

void FAR PASCAL TWAINIsTwainMessage(

HTWAINACCESS

hta,

LPMSG

msg,

HWND

hWnd):

hta

TWAIN-Verwaltungsinstanzhandle von TWAINInitialize erzeugt,

msg

Zeiger auf die Windows-Nachricht (Siehe GetMessage, PeekMessage, TramslateMessage etc.)

hWnd

Fensterhandle des Fensters, das eingelesene Bilder durch die Nachricht UWM_TWAINIMAGERECEIVED erhalten soll.

Windows API:

MSG msg;

while (GetMessage(&msg,NULL,0,0))

{

if (!TWAINIsTwainMessage(TwainAccessHandle, &msg, hwMain))

{ TranslateMessage(&msg);

DispatchMessage(&msg);

}

}

Borland OWL:

class TDavApp : public TApplication {

public:

TDavApp(LPSTR AName, HINSTANCE hInstance,

HINSTANCE hPrevInstance, LPSTR lpCmd,

int nCmdShow)

: TApplication(AName, hInstance,

  

hPrevInstance, lpCmd, nCmdShow) {};

virtual void InitMainWindow();

virtual bool ProcessAppMsg(MSG &msg);

};

/* We need to test if a Message to be processed is a Message to the twain

interface, else it will not work at all... */

bool TDavApp::ProcessAppMsg(MSG &msg)

{

TDavWindow *DavWindow = TYPESAFE_DOWNCAST(MainWindow, TDavWindow);

if (DavWindow &&

DavWindow->HWindow &&

DavWindow->TwainAccessHandle &&

TWAINIsTwainMessage(DavWindow->TwainAccessHandle, &msg, DavWindow->HWindow))

return TRUE;

return TApplication::ProcessAppMsg(msg);

}

Borland Delphi:

type

TDavForm = class(TForm)

procedure MyAppMessage(var Msg: TMsg; var Handled: Boolean); procedure MnuOpenClick(Sender: Tobject);

...

if (TwainAccessHandle<>0) then

Application.OnMessage:=MyAppMessage;

...

procedure TDavForm.MyAppMessage(var Msg: TMsg; var Handled: Boolean);

begin

if (TwainAccessHandle<>0) then

Handled:=TWAINIsTwainMessage(TwainAccessHandle,Msg,Handle);

end;

Anmerkungen

Die Anwendung kann bei Verwendung der Funktion TWAINGetImage auf die Veränderung der Windows-Nachrichtenbehandlung verzichten.

-


Valid HTML 4.01!