ListBox
-
Hallo,
Ich versuche gerade einen Taschenrechner zu schreiben, und dabei wollte ich eine ListBox machen, wo man die Operation auswählen kann:
char ListBox[4] = {'*', '+', '-', '/'}; hwndListBox = CreateWindow ("listbox", "", WS_CHILD | WS_VISIBLE | LBS_STANDARD, 135, 25, 50, 25, hwnd, HMENU(LIST_OPERATOR), hInst, NULL); for (int i = 0; i < 4; i++) { SendDlgItemMessage(hwndListBox, LIST_OPERATOR, LB_ADDSTRING, 0, ListBox[i]); }Aber es will einfach nicht klappen, alles was ich sehe ist eine leeres Rechteck.
Bin für jede Hilfe dankbar!

-
Guck dir doch einfach mal in der Hilfe die Parameter zu SendDlgItemMessage an.
-
Hallo!
Danke für die Antwort!
Das habe ich bereits getan (So bin ich ja auf die Funktion gekommen), sehe einfach meinen Fehler nicht

Der Compiler spuckt nämlich auch keinen Error aus.
-
lParam
A pointer to the null-terminated STRING that is to be added.... und kein char
-
Probier mal:
const char* const ListBox[4] = {"*", "+", "-", "/"};
-
Alles andere als meine Originalversion gibt folgenden (oder so etwas in der Art) Error im Compiler:
C++\windows_vorlage.cpp|73|error: invalid conversion from `char**' to `LPARAM'|
-
Weder:
char ListBox[] = "Hallo"; SendMessage(hwndListBox, LB_ADDSTRING, 0, ListBox);Noch
char ListBox[] = "Hallo"; SendMessage(hwndListBox, LB_ADDSTRING, 0, &ListBox);funkzt

-
Ah, bin endlich mit experimentieren draufgestossen

Natürlich muss ich meinen String zu einem lParam umwandeln mit:
LPARAM();

-
ListBox schrieb:
Hallo!
Danke für die Antwort!
Das habe ich bereits getan (So bin ich ja auf die Funktion gekommen), sehe einfach meinen Fehler nicht

Der Compiler spuckt nämlich auch keinen Error aus.
In der Hilfe steht:
LRESULT SendDlgItemMessage(
HWND hDlg,
int nIDDlgItem,
UINT Msg,
WPARAM wParam,
LPARAM lParam
);
Und was hast du als als Handle angegeben? Richtig, die Listbox. Aber was muss da angegeben werden? Richtig, das Fenster.