- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When I use DLGFLUSH in a CALLBACK-Routine only Buttons are updated, no edit boxes. It makes no differences, whether
I use .TRUE. in DLGFLUSH, whether the edit boxes are changed, whether I use DLGSETSUB for the edit box. Can anybody
help me.
I use .TRUE. in DLGFLUSH, whether the edit boxes are changed, whether I use DLGSETSUB for the edit box. Can anybody
help me.
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Below is the explanation from the DLGFLUSH documentation.
Regards,
Leo
However, there may be cases where you want to change a control outside of a dialog callback, or from within a loop in a dialog callback. In these cases, DLGFLUSH is required, but not always sufficient, to update the dialog display. DLGFLUSH sends pending Windows system messages to the dialog box and the controls that it contains. However, many display changes do not appear until after the program reads and processes the messages that the Windows system has sent to the program as the result of the messages sent by DLGFLUSH. A loop that processes the pending messages is often required; for example:
use DFWINTY
use USER32
logical lNotQuit, lret
integer iret
TYPE (T_MSG) mesg
lNotQuit = .TRUE.
do while (lNotQuit .AND. (PeekMessage(mesg, 0, 0, 0, PM_NOREMOVE) <> 0))
lNotQuit = GetMessage(mesg, NULL, 0, 0)
if (lNotQuit) then
if (DLGISDLGMESSAGE(mesg) .EQV. .FALSE) then
lret = TranslateMessage(mesg)
iret = DispatchMessage(mesg)
end if
end if
end do
Below is the explanation from the DLGFLUSH documentation.
Regards,
Leo
However, there may be cases where you want to change a control outside of a dialog callback, or from within a loop in a dialog callback. In these cases, DLGFLUSH is required, but not always sufficient, to update the dialog display. DLGFLUSH sends pending Windows system messages to the dialog box and the controls that it contains. However, many display changes do not appear until after the program reads and processes the messages that the Windows system has sent to the program as the result of the messages sent by DLGFLUSH. A loop that processes the pending messages is often required; for example:
use DFWINTY
use USER32
logical lNotQuit, lret
integer iret
TYPE (T_MSG) mesg
lNotQuit = .TRUE.
do while (lNotQuit .AND. (PeekMessage(mesg, 0, 0, 0, PM_NOREMOVE) <> 0))
lNotQuit = GetMessage(mesg, NULL, 0, 0)
if (lNotQuit) then
if (DLGISDLGMESSAGE(mesg) .EQV. .FALSE) then
lret = TranslateMessage(mesg)
iret = DispatchMessage(mesg)
end if
end if
end do
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page