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. |
||