Um einen Maus-Klick auf zB einen 'Cancel'-Button eines Catia-Dialoges zu simulieren, reicht es, ein 'BM_CLICK' an das Fenster des Buttons zu schicken.

Gelegentlich reagiert hierbei der Dialog aber nicht, d.h. er schliesst nicht.

Aus der SDK-Doku zu BM_CLICK:


If the button is in a dialog box and the dialog box is not active, 
the BM_CLICK message might fail.
To ensure success in this situation, call the SetActiveWindow
function to activate the dialog box before sending the BM_CLICK
message to the button.

 

MS empfiehlt also, vor dem Senden des 'BM_CLICK' das Dialog-Fenster zu aktivieren. Etwa so:

 


Private Sub PushButton(hwnd As Long)         'push catia button
   SetActiveWindow hWndDlg                   'activate dialog
   SendMessageByNum hwnd, BM_CLICK, 0&, 0&   'send click message to dialog button
End Sub

 

Zum Seitenanfang