Hallo,
noch immer studiere ich Luckies Windows
API Tutorial. Da gibt es ein Beispiel ganz am Anfang, wo 2 Fenster erzeugt werden. Das zweite Fenster wird durch Klicken eines Buttons aktiviert.
Mein Compiler findet aber weder die Konstante ID_BUTTON noch ID_BUTTON1.
Leider ist der komplette Quellcode im Turorial nicht abgedruckt.
Deshalb frage ich:
- in welcher
Unit befinden sich die ID_XXX Konstanten. Windows und Messages habe ich schon in der Uses Klausel.
- Wo wird der Button erzeugt, mit dem ich das zweite Fenster aktiviere. Da ID_BUTTON1 nicht gefunden wird, kann ich das Beispiel nicht ausführen. Kann ich denn gefahrlos einen eigenen Zahlenwert für die Konstante ID_BUTTON1 definieren, ohne Seiteneffekte, weil der von mir gewählte Zahlenwert doch schon von Windows reserviert ist?
Ich habe das Beispiel 1 im Kapitel 1.1.1 um folgende Funktionen erweitert:
Delphi-Quellcode:
//Window Prozedur für das 2. Fenster
function WndProc2(hWnd: HWND; uMsg: UINT; wParam: wParam; lParam: LParam):
lresult; stdcall;
begin
case uMsg of
WM_COMMAND:
begin
if HiWord(WParam) = BN_Clicked then
case LoWord(WParam) of
IDC_BUTTON1:
hwnd2 := CreateWindowEx(
0, ClassName2, Window2Name,
WS_OVERLAPPEDWINDOW or WS_VISIBLE,
40,10,300,200, hwnd1, 0, hInstance, nil
);
end;
end;
WM_DESTROY: PostQuitMessage(0);
else
Result := DefWindowProc(hWnd, uMsg, wParam, lParam);
end;
end;
Alles andere habe ich exakt aud dem Tutorial übernommen, außer die Abmaße des Fensters, weil ich mit den Konstanten CW_USEDEFAULT die Meldung erhalten habe, das der Bereich des Fensters 1 zu klein sei. Daher habe ich die Abmaße des 2. Fensters kleiner gemacht, als die des ersten Fensters.