Kennung Eins
2002-07-07, 00:08:38
Code ist in Object Pascal, ist aber auch für C++'ler leicht zu verstehen, da es auf Grund des API Calls nunmal das selbe in grün ist ;)
Also, hier erstmal ein bisschen Code:
function WndProc(hWnd: HWND;message: UINT;wParam: WPARAM;lParam: LPARAM): LRESULT; stdcall;
const ID_CONVERT = 1; // ID to the handler (?) of the 1st Button
ID_CONVERT2 = 2; // ID to the handler (?) of the 2nd Button
(...)
begin
(...)
case (message) of // Tells Windows we want to check the message
WM_CREATE: begin
CreateWindow('BUTTON', 'Button2', WS_CHILD or WS_VISIBLE or BS_AUTOCHECKBOX,
10, 40, 80, 25, hwnd, HMENU(ID_CONVERT2),
hInstance, nil);
end;
WM_COMMAND:
case LO(wParam) of
(...)
ID_CONVERT2: begin
MessageBox(0,'Something has changed','Information',MB_OK or MB_ICONINFORMATION);
end;
end;
Es wird eine Checkbox in einem bestehenden Fenster dargestellt.
So, nun hier das Problem:
Wenn ich auf die Checkbox klicke wird ausgeführt, was unter ID_CONVERT2 angegeben ist.
Toll.
Doch ich will ja nicht, daß mit jedem Klick da drauf die selbe Aktion geschieht, sondern es sollen, (wie es sich für eine Checkbox gehört) zwei Aktionen verwaltet werden.
Die eine ist dran, wenn das Häcken gesetzt ist, die andere, wenn es aus ist.
Wie krieg ich raus, ob ein Häckchen gesetzt ist?
Also, hier erstmal ein bisschen Code:
function WndProc(hWnd: HWND;message: UINT;wParam: WPARAM;lParam: LPARAM): LRESULT; stdcall;
const ID_CONVERT = 1; // ID to the handler (?) of the 1st Button
ID_CONVERT2 = 2; // ID to the handler (?) of the 2nd Button
(...)
begin
(...)
case (message) of // Tells Windows we want to check the message
WM_CREATE: begin
CreateWindow('BUTTON', 'Button2', WS_CHILD or WS_VISIBLE or BS_AUTOCHECKBOX,
10, 40, 80, 25, hwnd, HMENU(ID_CONVERT2),
hInstance, nil);
end;
WM_COMMAND:
case LO(wParam) of
(...)
ID_CONVERT2: begin
MessageBox(0,'Something has changed','Information',MB_OK or MB_ICONINFORMATION);
end;
end;
Es wird eine Checkbox in einem bestehenden Fenster dargestellt.
So, nun hier das Problem:
Wenn ich auf die Checkbox klicke wird ausgeführt, was unter ID_CONVERT2 angegeben ist.
Toll.
Doch ich will ja nicht, daß mit jedem Klick da drauf die selbe Aktion geschieht, sondern es sollen, (wie es sich für eine Checkbox gehört) zwei Aktionen verwaltet werden.
Die eine ist dran, wenn das Häcken gesetzt ist, die andere, wenn es aus ist.
Wie krieg ich raus, ob ein Häckchen gesetzt ist?