Einzelnen Beitrag anzeigen

delphifan2004

Registriert seit: 26. Nov 2004
Ort: Dresden
266 Beiträge
 
Delphi 10.3 Rio
 
#1

ID_XXX Konstanten in welcher Unit???

  Alt 20. Nov 2015, 07:22
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.
  Mit Zitat antworten Zitat