Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Sendmessage 's Parameter auswerten?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
31.10.2004, 20:33 Uhr
~_thorsten_
Gast


Hallo,

ich hab ein Problem: ich möchte in meinem Win32- Prog den Wert einer Variablen mithilfe von SendMessage an die Dialog CALLBACK- Funktion senden und auswerten, um den Wert darzustellen.

Da hab ich mir gedacht, nutze ich die Nachrichtenparameter wParam und lParam der SendMessage- Fkt.:

C++:
(..)
int k,variable=0;

for(k=0;k<10;k++)
{
variable++;
SendMessage(hDlg,WM_USER+1,variable,0);
}



Nur wie werte ich das in meiner CALLBACK- Fkt. aus?


C++:
(..)
int anzahl = 0;
(..)
case WM_USER+1:
/* anzahl = Rückgabewert von SendMessage (also 'variable') */
break;
(..)



Kann mir da einer helfen?

Danke

Thorsten
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
31.10.2004, 21:49 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Die Variablen die du SendMessage übergibst werden genau so an deine CALLBACk Funktion übergeben
Dieser Post wurde am 31.10.2004 um 21:49 Uhr von Guybrush Threepwood editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
31.10.2004, 21:59 Uhr
_Tobi_



wie kann ich denn auf diese Werte zugreifen?
Etwaso ähnlich:
variable = LOWORD(wParam) ?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
01.11.2004, 12:42 Uhr
~_Tobi_
Gast


Es handelt sich dabei doch um die Nachrichtenparameter wParam und lParam. Angenommen ich will jetzt aus einer Funktion heraus eine SendMessage schicken und gleich dabei einen Wert einer Variablen mitgeben. Dann sähe das doch in meiner Funktion so aus:


C++:
(..)
int Zahl =10;
SendMessage(hDlg,WM_USER+1,Zahl,0);
(..)



Kann ich mir dabei eigentlich aussuchen, welchen Parameter ich nutze? Das ist doch sicher abhängig davon, was ich mit SendMessage mitgeben will, oder?

Naja, und denn könnte ich meiner Nachrichtenbehandlungs CALLBACK - Fkt mit den Makros HIWORD() und LOWORD() die Parameter auslesen, oder? Ist das so richtig ?? Und gibt es für das Auswerten mal nen kleines Beispiel? Wenn ich obiges mal anwende und debugge wird an meine CALLBACK- Fkt nur jeweils für wParam und lParam '0' übergeben... Was macht ich denn da falsch?

Tobi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
01.11.2004, 15:23 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Wieso willst du denn die beiden Makros verwenden?

Wenn du folgendes machst:

C++:
int Zahl =10;
SendMessage(hDlg,WM_USER+1,Zahl,0);



dann sollte in deiner Callbackfunktion an der Stelle:

C++:
case WM_USER+1:
{
   int i = wParam;
}



wParam = 10 sein.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
01.11.2004, 18:00 Uhr
~_Tobi_
Gast


Ja, du hast recht!! Ich bin hier mit meinen W_USER- Messages durcheinander gekommen

Muss mir dann mal noch nen Kaffee machen!!


Dankeschön

Tobi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: