TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Erwin Hogeweg
from: Jonathan de Boyne Pollard
date: 1996-11-01 01:32:16
subject: Creating a Notebook from

EH>
  > I open a notebook dialog from an other dialog window but
  > when I close the notebook the application closes with it...
  > (and it isn't redrawn properly either).
EH>

  When a frame window receives a WM_CLOSE, one of two things happens.

  If the frame is a dialogue, loaded via WinLoadDlg, then the frame's
  window procedure will have been subclassed by the dialogue procedure,
  which usually passes most things to WinDefDlgProc.  WinDefDlgProc
  handles WM_CLOSE by calling WinDismissDlg to dismiss the dialogue.

  If the frame is an ordinary, non-subclassed, frame, such as the frame
  that is part of a WinCreateStdWindow pairing or a frame created directly
  by WinCreateWindow, then the WM_CLOSE is either sent to the FID_CLIENT
  window of the frame (if it exists), or is processed by the frame itself.
  In either event, it usually ends up at WinDefWindowProc.

  Unlike WinDefDlgProc, WinDefWindowProc's response to a WM_CLOSE is to
  post a WM_QUIT message to the window.  This causes the application's
  message loop to terminate, and the application to end.

  Which means that if you have any frame windows that were _not_ created
  via WinLoadDlg, closing them will terminate your whole application
  unless you intercept the WM_CLOSE message (either in the FID_CLIENT
  window, or by subclassing the frame itself -- as WinLoadDlg does).

  > JdeBP <
___
 X MegaMail 2.10 #0:

--- Maximus/2 3.01
* Origin: DoNoR/2,Woking UK (44-1483-725167) (2:440/4)
SEEN-BY: 50/99 270/101 620/243 625/160 711/401 409 410 413 430 808 809 934
SEEN-BY: 711/955 712/407 515 624 628 713/317 800/1
@PATH: 440/4 141/209 270/101 712/515 711/808 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.