My MFC dialog's ON_CHECKED... event handler calls a dialog member "doit" that calls SetWindowText onto a dialog static textbox (cMyStatic). Only the 1st and last Set..text data appears in the textbox. I have tried with cMyStatic.Invalidate() and with UpdateData(). It appears that my SetWindowText is being blocked. The sequential code in that same member AFTER the request for SetWindowText does 2 sequential CreateProcess calls, and those processes run perfectly (they do nothing with the dialog - i.e., no user interaction). There is only ONE dialog, created in VS2019, with System Modal set to FALSE. Clearly, I am missing some understanding of the communication between members called from an ON_ unit and the dialog itself, but I have found no references that make it clear what is wrong or how to properly insert text into a dialog's textbox when an ON_ unit for that dialog is running. Can anyone offer suggestions? I suspect I may need to start an independent thread to do the Set..Text, but before I try do that, I'm hoping someone with nmore experience can give me some guidance.
MFC event handler calls SetWindowText for main dialog textbox. Only 1st and last text appears
242 views Asked by DocDJ At
1
There are 1 answers
Related Questions in C++
- How to immediately apply DISPLAYCONFIG_SCALING display scaling mode with SetDisplayConfig and DISPLAYCONFIG_PATH_TARGET_INFO
- Why can't I use templates members in its specialization?
- How to fix "Access violation executing location" when using GLFW and GLAD
- Dynamic array of structures in C++/ cannot fill a dynamic array of doubles in structure from dynamic array of structures
- How do I apply the interface concept with the base-class in design?
- File refuses to compile std::erase() even if using -std=g++23
- How can I do a successful map when the number of elements to be mapped is not consistent in Thrust C++
- Can std::bit_cast be applied to an empty object?
- Unexpected inter-thread happens-before relationships from relaxed memory ordering
- How i can move element of dynamic vector in argument of function push_back for dynamic vector
- Brick Breaker Ball Bounce
- Thread-safe lock-free min where both operands can change c++
- Watchdog Timer Reset on ESP32 using Webservers
- How to solve compiler error: no matching function for call to 'dmhFS::dmhFS()' in my case?
- Conda CMAKE CXX Compiler error while compiling Pytorch
Related Questions in MFC
- Unable to add request headers via CHttpFile - C++/MFC
- Is there a worked example of using CStrBufT with a CString?
- UI Interface Crashes and Hanging Issues in MFC Application
- getting a Win32 console app to work with MFC
- How to create borderless CFrameWnd for SDI application
- How to get real lines count of CEdit control
- MFC Dynamic Layout - Show/Hide Control and adjust other controls out of the way?
- Combobox items not showing when Windows DPI changed
- Printing strings using MFC Edit Control is very slow
- How can an MFC VC++ application execute multiple functions within a single function without hanging or displaying a 'Not Responding' message?
- How to enable scrollbar in a specific group member added
- Resetting dynamic layout controls
- How to set a new height (or width) to a CRect?
- Drawing my own embedded button with CMFCPropertyGridProperty and detecting the button state
- Relative path issue when running programs with Task Scheduler
Related Questions in MODELESS
- How to get class event working on userform in modeless?
- VBA - MsgBox in Modeless UserForm, how to get the UserForm Object from its Handle retrieved with the API function GetActiveWindow?
- MFC event handler calls SetWindowText for main dialog textbox. Only 1st and last text appears
- Is it possible to create a modeless window with wxPython which stays along (to display text info)?
- Word VBA - easily remove form frame?
- How to create an independent non-modal dialog
- html popup google.script.run works for me but not others who make a copy of the workbook
- How to create a modeless text-editing dialog in Flutter like Cut/Copy/Paste?
- Excel VBA Start Userforms Modeless and then go Modal
- wxPython: Why does modeless, non modal dialog stay on top of parent window?
- How to keep several modeless VBA forms running on Excel
- How to send child data to parent instantly in modeless WPF app window
- Code keeps running after modeless userform is opened
- Openning a Modeless Form at runtime - VBA Excel
- WPF MVVM Modeless Window how to stop opening multiple windows
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Sounds like the calling/owning thread is busy between the
SetWindowText()calls.SetWindowText()doesn't paint the window immediately (check the documentation), the changes will become visible when theWM_PAINTmessage will be processed, which is low-prioritry message, processed just before the thread is about to enter the idle state. You may just be receiving a singleWM_PAINTmessage as the result of multipleSetWindowText()calls.Try calling
UpdateWindow()(for the static control, and all other controls you want to be updated immediately, or else "synchronously"), just after callingSetWindowText()orUpdateData(FALSE), this bypasses the message-queue and updates the control.And this has nothing to do with calling these from inside the
ON_CHECKED...handler.EDIT:
I made a small test, but couldn't reproduce your problem. Here is some code:
It is called from the one and only thread of the project, the main (UI) thread, which owns all windows. This works, even without calling
UpdateWindow()! Same behavior even if I replaceSleep(1000)with a loop callingGetTickCount()until the time elapses. That is, for a static controlSetWindowText()updates the control immediately. You mentioned a "static textbox", is this a static control or a disabled edit control? In my test I used a static control:Tested with VS2022, Windows SDK Version: 10.0 (latest installed version)
Again, there is no
ON_CHECKED...handler, as far as I know.There must be something wrong with you project, make a copy and start removing stuff, until it is reduced to a MRE...