ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
623
623
EMPFEHLEN
-
Hallo Forum,
ich hoffe der Titel ist richtig und zwar hab ich eine MFC Dialoganwendung unter Windows CE und sollte damit eine Hardware ansteuern. Nun habe ich hier ein Demoquellcode für die Ansteuerung:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
BOOL CALLBACK TweakDialogProc(HWND hwndDlg, // handle to the dialog box UINT uMsg, // message WPARAM wParam, // first message parameter LPARAM lParam) // second message parameter { switch(uMsg) { case WM_INITDIALOG: InitCardReader(hwndDlg); SetDlgItemText(hwndDlg, IDC_STATIC_READERINFO, GetReaderInfo()); return TRUE; case WM_DEVICE_NOTIFY: if(wParam == DNS_SCARD) // may occure any time after InitCardReader() ShowSC(hwndDlg, (SlotInfo*)lParam); else if(wParam == DNS_MCARD) // occures only on request { fReading = FALSE; SetDlgItemText(hwndDlg, IDC_BUTTON_READ_MAG_CARD, L"Read Card"); ShowMC(hwndDlg, (MagCard*)lParam); } break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_BUTTON_READ_MAG_CARD: if(fReading) { fReading = FALSE; SetDlgItemText(hwndDlg, IDC_BUTTON_READ_MAG_CARD, L"Read Card"); SetDlgItemText(hwndDlg, IDC_STATIC_MAGINFO, L"MagCard reading canceled"); CancelMagCard(); } else { fReading = TRUE; SetDlgItemText(hwndDlg, IDC_BUTTON_READ_MAG_CARD, L"Cancel"); SetDlgItemText(hwndDlg, IDC_STATIC_MAGINFO, L"Waiting for MagCard..."); ReadMagCard(); } break; case IDCANCEL: EndDialog(hwndDlg, 0); StopCardReader(); break; } return TRUE; } return FALSE; }
Wie bekomm ich das jetzt in meiner MFC Anwendung hin?
Also WM_INITDIALOG geht ja noch, ist halt OnInitDialog(), nur weiß ich nicht genau wie ich ein Handle auf mein Fenster bekomme, also für die Funktion InitCardReader(hwndDlg).
Das WM_COMMAND und IDCANCEL sind ja einfach die OnButton() oder OnCancel() Funktionen, aber wie bekomme ich dieses WM_DEVICE_NOTIFY hin?
Vielen Dank im Voraus.
Grüße
Niko Will
-
27.12.05 13:52 #2
- Registriert seit
- Jun 2005
- Ort
- Bad Arolsen (Hessen)
- Beiträge
- 556
Ich würde PreTranslateMessage nehmen und die Meldung abfangen.
Mfg
langer
-
kannst du mir das etwas genauer erklären? MSDN gibt für die Funktion nicht arg viel her.
Kann das vielleicht irgendwie hiermit zusammen hängen?
Code :1 2 3 4 5 6 7 8
BEGIN_MESSAGE_MAP(CMobiCashDlg, CDialog) //{{AFX_MSG_MAP(CMobiCashDlg) ON_BN_CLICKED(IDC_ANMELDEN1, OnAnmelden1) ON_BN_CLICKED(IDC_ANMELDEN2, OnAnmelden2) ON_BN_CLICKED(IDC_ANMELDEN3, OnAnmelden3) ON_BN_CLICKED(IDC_OK, OnWeiter) //}}AFX_MSG_MAP END_MESSAGE_MAP()
-
Okay, war vielleicht etwas zu voreillig, hab jetzt hier im Forum einiges gefunden zu PreTranslateMessage. Kann mir nun noch jemand sagen wie ich ein Handle aufs eigene Fenster bekomme, damit ich den an die Funktion weiter geben kann?
Dir schon mal vielen Dank für den Denkanstoß!
-
Hi,
nen Handle bekommst du so:
HWND MyHandle = this->GetSafeHwnd();
Gruß Squeegee
Ähnliche Themen
-
Blätterfunktion umbauen?
Von louS im Forum PHPAntworten: 15Letzter Beitrag: 21.10.09, 14:41 -
Navigation umbauen für IE`s
Von Peter Klein im Forum CSSAntworten: 3Letzter Beitrag: 19.07.08, 22:59 -
string umbauen
Von Thomasio im Forum C/C++Antworten: 4Letzter Beitrag: 12.03.07, 17:12 -
Navigationsmenü umbauen
Von Romsl im Forum Javascript & AjaxAntworten: 10Letzter Beitrag: 05.04.06, 12:39 -
Crossoverkabel umbauen
Von Dickerchen im Forum NetzwerkeAntworten: 3Letzter Beitrag: 06.04.04, 21:27





Zitieren
Login






