12 Lecture
CS410
Midterm & Final Term Short Notes
Window Classes
Window classes are fundamental in graphical user interface programming. They define the structure and behavior of windows in an application. Each window class has a unique name, style, and window procedure, handling messages and interactions. Th
Important Mcq's
Midterm & Finalterm Prepration
Past papers included
Download PDF
1. What is a window class in graphical user interface programming?
a) A specific type of window used for complex animations.
b) A set of predefined windows provided by the operating system.
c) A template that defines the structure and behavior of windows.
d) A unique identifier assigned to each window in an application.
Solution: c) A template that defines the structure and behavior of windows.
2. Which function is used to register a window class in Windows API?
a) CreateWindowEx()
b) RegisterWindowClass()
c) CreateWindowClass()
d) RegisterClass()
Solution: d) RegisterClass()
3. What is the purpose of the window procedure in a window class?
a) To register the window class with the operating system.
b) To handle messages and events for the window.
c) To create child windows within the main window.
d) To set the initial style and attributes of the window.
Solution: b) To handle messages and events for the window.
4. How are window classes identified in an application?
a) By a unique name string.
b) By a numeric identifier assigned at runtime.
c) By their position on the screen.
d) By the color of the window's title bar.
Solution: a) By a unique name string.
5. What is the purpose of the "hInstance" parameter in the RegisterClass function?
a) To specify the window's width and height.
b) To pass a handle to the application's instance.
c) To set the window's background color.
d) To enable mouse interactions for the window.
Solution: b) To pass a handle to the application's instance.
6. How does a window procedure process messages in Windows API?
a) By writing messages to a log file.
b) By using a message queue for incoming messages.
c) By displaying messages in a pop-up dialog.
d) By forwarding messages to other windows.
Solution: b) By using a message queue for incoming messages.
7. What happens if a window class is unregistered before creating windows?
a) Windows created with that class will become invisible.
b) The application will crash when trying to create a window.
c) The window class can never be registered again.
d) Existing windows of that class will still be usable.
Solution: b) The application will crash when trying to create a window.
8. How can you change the style of a window after it has been created using a window class?
a) By directly modifying the window's structure.
b) By re-registering the window class with a new style.
c) By using the SetWindowStyle function.
d) By destroying the window and creating a new one.
Solution: d) By destroying the window and creating a new one.
9. How does a window procedure handle the WM_DESTROY message?
a) By creating a new window in its place.
b) By freeing resources and cleaning up the window.
c) By resizing the window to its default size.
d) By changing the window's title text.
Solution: b) By freeing resources and cleaning up the window.
10. What is the purpose of the "lpParam" parameter in the CreateWindowEx function?
a) To pass user-defined data to the window procedure.
b) To specify the window's position on the screen.
c) To set the initial width and height of the window.
d) To enable or disable specific window features.
Solution: a) To pass user-defined data to the window procedure.
Subjective Short Notes
Midterm & Finalterm Prepration
Past papers included
Download PDF
1. What is a window class in the context of graphical user interface programming?
Answer: A window class is a template or blueprint that defines the attributes and behavior of a window in a graphical user interface application. It includes information such as the window procedure, style, icon, cursor, background color, and class name.
2. Explain the purpose of the window procedure in a window class.
Answer: The window procedure is a function that processes messages sent to a window. It handles events such as mouse clicks, keyboard input, and system messages, allowing the window to respond appropriately to user interactions and system events.
3. How do you register a window class in Windows API?
Answer: To register a window class in Windows API, you need to call the RegisterClassEx function, passing a pointer to a WNDCLASSEX structure that contains the window class's attributes.
4. What is the significance of the "hInstance" parameter in the RegisterClassEx function?
Answer: The "hInstance" parameter represents the handle to the instance of the application (the executable file). It identifies which program's window class is being registered, allowing Windows to associate the class with the correct application.
5. Can a window class be shared across multiple windows in an application?
Answer: Yes, a window class can be shared across multiple windows in an application. By using the same window class name during window creation, multiple windows can share the same template and behavior.
6. What happens if you attempt to create a window with an unregistered window class?
Answer: If you try to create a window with an unregistered window class, the window creation process will fail. Before creating a window, the associated window class must be registered using the RegisterClassEx function.
7. How do you handle messages in the window procedure?
Answer: In the window procedure, messages are typically processed using a switch statement based on the message identifier (WM_XXX). The appropriate code is executed for each specific message to handle user input and system events.
8. What is the purpose of the "lpParam" parameter in the CreateWindowEx function?
Answer: The "lpParam" parameter in the CreateWindowEx function allows you to pass additional user-defined data to the window procedure. It provides a way to communicate custom information specific to the window being created.
9. Can you change the window class attributes after registering the window class?
Answer: No, you cannot change the window class attributes after registering the window class. The attributes are set during registration and remain constant for all windows created using that class.
10. How do you free resources associated with a window class when it is no longer needed?
Answer: To free resources associated with a window class, you should call the UnregisterClass function when all windows created with that class are destroyed. This ensures that the resources are properly released and avoids memory leaks.