Previous: Designing a Window Procedure To the Table of Content Next: Example of Win32 GUI Application

- 6.4 -
Win32 Programming

Associating a Window Procedure with a Window Class

One associates a window procedure with a window class when registering the class. You must fill a TWndClass structure (WIN32.HLP) with information about the class, and the lpfnWndProc member must specify the address of the window procedure. To register the class, pass the address of TWndClass structure to the RegisterClass function (WIN32.HLP). Once the window class is registered, the window procedure is automatically associated with each new window created with that class.

The following example shows how to associate the window procedure in the previous example with a window class:
var
  wc: TWndClass; 
begin
  // Register the main window class.
  with wc do begin
    style := CS_HREDRAW or CS_VREDRAW; 
    lpfnWndProc := @MainWndProc; 
    cbClsExtra := 0; 
    cbWndExtra := 0; 
    hInstance := System.hInstance; 
    hIcon := LoadIcon(THandle(NIL), IDI_APPLICATION);

    hCursor := LoadCursor(THandle(NIL), IDC_ARROW); 
    hbrBackground := GetStockObject(WHITE_BRUSH); 
    lpszMenuName :=  'MainMenu'; 
    lpszClassName := 'MainWindowClass'; 
  end; 

  if not RegisterClass(wc) then MyError; 

  // Process other messages.

end.





Previous: Designing a Window Procedure To the Table of Content Next: Example of Win32 GUI Application
Designing a Window Procedure Table of Content Example of Win32 GUI Application

- 6.4 -