How to use user defined messages correctly?

hi!

i am using two user defined messages (WM_USER + 1 and WM_USER + 2) to update
my UI from within a worker thread - everything is going fine for a
unpredictable time (let's say from one day up to a few weeks...) but
certainly the screen turns into grey. the app still works in the background
but the screen keeps grey.

i am not sure but most likely i believe that this has to do with those
messages - so is there anything wrong in definition or usage?

#define WM_UPDATE_SOMETHING WM_USER + 1

call from within the worker thread:

m_pDisplay->PostMessage( WM_UPDATE_SOMETHING,  0, 0 );

is there a difference to

::PostMessage( m_pDisplay->m_hWnd, WM_UPDATE_SOMETHING,  0, 0 ); ?

thanks, philipp


0
9/8/2003 12:12:07 PM
vc.mfc 33608 articles. 0 followers. Follow

5 Replies
835 Views

Similar Articles

[PageSpeed] 48

The two calls to PostMessage() have the same net result.  If you'll step
into CWnd::PostMessage(), you'll see that it actually calls the other form!

"Philipp Huber" <philipp.huber@innval.com> wrote in message
news:bjhrjq$qj8$00$1@news.t-online.com...
> hi!
>
> i am using two user defined messages (WM_USER + 1 and WM_USER + 2) to
update
> my UI from within a worker thread - everything is going fine for a
> unpredictable time (let's say from one day up to a few weeks...) but
> certainly the screen turns into grey. the app still works in the
background
> but the screen keeps grey.
>
> i am not sure but most likely i believe that this has to do with those
> messages - so is there anything wrong in definition or usage?
>
> #define WM_UPDATE_SOMETHING WM_USER + 1
>
> call from within the worker thread:
>
> m_pDisplay->PostMessage( WM_UPDATE_SOMETHING,  0, 0 );
>
> is there a difference to
>
> ::PostMessage( m_pDisplay->m_hWnd, WM_UPDATE_SOMETHING,  0, 0 ); ?
>
> thanks, philipp
>
>


0
david.crow (132)
9/8/2003 12:37:21 PM
Philipp Huber wrote:

>hi!
>
>i am using two user defined messages (WM_USER + 1 and WM_USER + 2) to update
>my UI from within a worker thread - everything is going fine for a
>unpredictable time (let's say from one day up to a few weeks...) but
>certainly the screen turns into grey. the app still works in the background
>but the screen keeps grey.
>
>i am not sure but most likely i believe that this has to do with those
>messages - so is there anything wrong in definition or usage?
>
>#define WM_UPDATE_SOMETHING WM_USER + 1
>
>call from within the worker thread:
>
>m_pDisplay->PostMessage( WM_UPDATE_SOMETHING,  0, 0 );
>
>is there a difference to
>
>::PostMessage( m_pDisplay->m_hWnd, WM_UPDATE_SOMETHING,  0, 0 ); ?

The two calls are equivalent. Don't use WM_USER except for windows for which
you've called RegisterClass. You can often base your custom messages on
WM_APP, though RegisterWindowMessage is the most general, foolproof
approach. As for the screen turning grey, that sounds like you might be
exhausting GDI or USER handles. How does the system behave otherwise? Can
you switch to other apps, and do they work normally?

-- 
Doug Harrison
Microsoft MVP - Visual C++
0
dsh (2498)
9/8/2003 5:02:47 PM
"Doug Harrison [MVP]" <dsh@mvps.org> wrote in message
news:o6dplvs62humjlmahfptli5plqk5au1hip@4ax.com...
....
> Don't use WM_USER except for windows for which
> you've called RegisterClass. You can often base your custom messages on
> WM_APP, though RegisterWindowMessage is the most general, foolproof
> approach.

I'm curious about what you are saying here.  If I register a window, it
changes the way PostMessage works?  I've always just used WM_USER, I've
never use WM_APP ... can you explain the difference?

I always thought that PostMessage simply put the message/data into a queue,
no matter who sent the message (same app, dll, worker-thread ...).  Is there
the possibility of something doing processing on the message?

Thank you
DanB


0
danbaker (10)
9/8/2003 7:27:02 PM
Dan Baker wrote:

>
>"Doug Harrison [MVP]" <dsh@mvps.org> wrote in message
>news:o6dplvs62humjlmahfptli5plqk5au1hip@4ax.com...
>...
>> Don't use WM_USER except for windows for which
>> you've called RegisterClass. You can often base your custom messages on
>> WM_APP, though RegisterWindowMessage is the most general, foolproof
>> approach.
>
>I'm curious about what you are saying here.  If I register a window, it
>changes the way PostMessage works? 

No.

>I've always just used WM_USER, I've
>never use WM_APP ... can you explain the difference?

It has to do with reserved message ranges. See this message for more:

http://groups.google.com/groups?selm=5vkaivcjjqf36k8n5is9bj3clftqbb2tus%404ax.com

See also this MSDN topic:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/MessagesandMessageQueues/MessagesandMessageQueuesReference/MessagesandMessageQueuesMessages/WM_APP.asp

>I always thought that PostMessage simply put the message/data into a queue,
>no matter who sent the message (same app, dll, worker-thread ...).  Is there
>the possibility of something doing processing on the message?

I can't parse the last sentence, but you're right that PostMessage works the
same no matter who calls it. In fact, that's a subject unto itself WRT
security. :)

-- 
Doug Harrison
Microsoft MVP - Visual C++
0
dsh (2498)
9/8/2003 8:03:14 PM
Thank you for the info.

I guess I hadn't thought about some of these issues.  I only use WM_USER for
applications that I wrote, and typically don't publish an API for others to
use those WM_USER messages (even though, I guess anyone can generate the
messages).

DanB

PS, my last sentence on my previous post ("Is there the possibility of
something doing processing on the message?") was simply asking if Windows
(or something else) performed any kind of processing on WM_USER messages.
You answered my questions.  Thanks again.


"Doug Harrison [MVP]" <dsh@mvps.org> wrote in message
news:94mplvsoaeho53o0hhsuhddilrb0o5gm6f@4ax.com...
> Dan Baker wrote:
>
> >
> >"Doug Harrison [MVP]" <dsh@mvps.org> wrote in message
> >news:o6dplvs62humjlmahfptli5plqk5au1hip@4ax.com...
> >...
> >> Don't use WM_USER except for windows for which
> >> you've called RegisterClass. You can often base your custom messages on
> >> WM_APP, though RegisterWindowMessage is the most general, foolproof
> >> approach.
> >
> >I'm curious about what you are saying here.  If I register a window, it
> >changes the way PostMessage works?
>
> No.
>
> >I've always just used WM_USER, I've
> >never use WM_APP ... can you explain the difference?
>
> It has to do with reserved message ranges. See this message for more:
>
>
http://groups.google.com/groups?selm=5vkaivcjjqf36k8n5is9bj3clftqbb2tus%404ax.com
>
> See also this MSDN topic:
>
>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/MessagesandMessageQueues/MessagesandMessageQueuesReference/MessagesandMessageQueuesMessages/WM_APP.asp
>
> >I always thought that PostMessage simply put the message/data into a
queue,
> >no matter who sent the message (same app, dll, worker-thread ...).  Is
there
> >the possibility of something doing processing on the message?
>
> I can't parse the last sentence, but you're right that PostMessage works
the
> same no matter who calls it. In fact, that's a subject unto itself WRT
> security. :)
>
> -- 
> Doug Harrison
> Microsoft MVP - Visual C++


0
danbaker (10)
9/8/2003 10:40:13 PM
Reply:

Similar Artilces:

Outlook using imap is receiving but not sending
Messages are being put in Sent folder and Send/Receive shows no errors but emails are not actually getting sent. This is a new install of Outlook on a new computer. Have I messed up the setup? "Theatre Girl" wrote in message news:64BB711F-FE56-440C-A850-DADCA8C3BA00@microsoft.com... > Messages are being put in Sent folder and Send/Receive shows no > errors but > emails are not actually getting sent. This is a new install of > Outlook on a > new computer. Have I messed up the setup? IMAP is not a sending protocol. It is used for receiving mails (out of your ...

MOSS licensing user type
When a standard CAL is purchased for MOSS is it for a named user or for any user? If I purchase 10 CALs are they for 10 concurrent users or 10 named users? Licensing questions should really be addressed directly to Microsoft. -- Daniel A. Galant Imagine what we could be... if we could just imagine. "James Martin" <JIT@nospam.nospam> wrote in message news:E00C091C-1E97-48B5-84C5-A3828C32A16F@microsoft.com... > When a standard CAL is purchased for MOSS is it for a named user or for > any > user? If I purchase 10 CALs are they for 10 concurrent u...

Line charts using temperature and time factors
I want to create a line chart showing comparisons of heating and time. For example one item is held @ 30deg for 10secs then 100degs for 30secs while the comparison is plotted to show the difference. Help appreciated. try x-y scatter chart data-columnwise. Excelon_Ls <Excelon_Ls@discussions.microsoft.com> wrote in message news:6B9F5547-A35C-4272-9FDC-F2CE6122D783@microsoft.com... > I want to create a line chart showing comparisons of heating and time. For > example one item is held @ 30deg for 10secs then 100degs for 30secs while the > comparison is plotted to show the diff...

HOW TO USE HYPERLINK within a droplist?
I have a question aabout this: eg. I set row A with validation list "yes/no", i want that if choose "yes", then open a word document named "checklist.doc". Instead of using a validation list, you could use a "yes" button and a "no" button. The yes button can be linked to a macro to open the word document. The no button can be linked to a macro the will type the text "Go to next step" or something like that. "Bonny" wrote: > I have a question aabout this: > eg. > I set row A with validation list "yes...

Test Message
This is a test message "Test Account" <t3st.account@live.com> wrote in message news:EFEE3868-2219-4E2E-BA63-690908344B72@microsoft.com... > This is a test message Sorry. Test messages are prohibited. Please remove at once. Reply to Test "Test Account" <t3st.account@live.com> wrote in message news:EFEE3868-2219-4E2E-BA63-690908344B72@microsoft.com... > This is a test message You're both a couple of testicles! -- "Don't pick a fight with an old man. If he is too old to fight, he'll just kill you.&qu...

using forms
Vista Home Premium 32 / Outlook 2007 I have created some forms that used to work. No more. On selecting a form, I get "The form required to view this message cannot be displayed. Contact the administrator. To my knowledge, I am the administrator. This is a stand-alone PC in my residence. If I go to Manage User Accounts, it shows only 2 accounts - LastName Administrator and Guest. I have googled my problem and found references to FRMCACHE.DAT which I am told to delete and restart Outlook. Did that. Opened Outlook and tried to open a form. Same error. And FRMCACHE.DAT was not ...

Using Spanish on Publisher
I have copied and pasted a document in Spanish from Word to Publisher. Prompts keep coming up telling me that it cannot "hyphenate" this document. I'm guessing that it means since it's in another language it needs something to be able to spell-check, etc. I really don't care about checking the spelling, but the pop-ups keep interferring with my arranging the flyer I desperately need to get completed. It tells me to put in the disk and download the "hyphenate" feature. Can I download this from the net since I have no disks. Publisher came with my n...

Permission for users to view/access GP 10 Business Portal
I need to know how to grant permissions for a user group to access/view/read all content of BP installed in a MOSS 2007 I created a group called "Dynamics BP User Group I" in Sharepoint web application (http://webportal - top level) All users in this group can access http://webportal OK Then I granted this group "READ - Can view only" access to BP site http://webportal/BP They got "an unexpected error occured" in return. Where else do I have to look into to give them the proper access? Thanks Bill ...

I used Omsgclas.exe Utility and my contacts don't use then new form
I created a new form for contacts. I followed the three steps in the document How to Update Existing Items to Use a New Custom Form. I can click on Action and do new contact and the new form is used. I used Omsgclas.exe utility to change the message class of the contacts. It shows as changed. However, when I click on an old contact (previous to changing the form), A message form comes up (not the old contact form and not my new contact form). Anyone have any help how to get my new form pulled up for old messages? Note: I had a form with a ' in the name, I made a new form w...

FormulaR1C1 using variables
I want to do this but can't: ActiveCell.FormulaR1C1 = "=MyFunction(R[variable]C[variable])" What are my options? Try something like ActiveCell.FormulaR1C1 = _ "=MyFunction(R" & CStr(variable) & "C" & CStr(variable) & ")" Cordially, Chip Pearson Microsoft Most Valuable Professional, Excel, 1998 - 2010 Pearson Software Consulting, LLC www.cpearson.com On Wed, 21 Apr 2010 13:52:01 -0700, Cheah <Cheah@discussions.microsoft.com> wrote: >I want to do this but can't: > >ActiveCell.Fo...

Using XML with ASP.NET
I want to know where can I find Tutorials/Articles to learn implementing XML with asp.net. I am working on ASP.NET using C# from last one month. I have idea about XML but had not implemented yet with ASP.NET. Thanks in advance. Thanks Vinod Jajoo ...

In Excel, how do I insert User Name (author) in a cell.
The function =CELL("filename",A1) returns a file name and sheet name in a cell. How can I obtain the User Name? You can write some VBA to do it. Sub Return_UserName() Sheets("sheet1").Range("A2").Value = Application.UserName End Sub -- Excel_Geek ------------------------------------------------------------------------ Excel_Geek's Profile: http://www.excelforum.com/member.php?action=getinfo&userid=26423 View this thread: http://www.excelforum.com/showthread.php?threadid=398347 And to return just the filename (if you like) you can use this for...

Using lookup formula using more than one cell
I have a spreadsheet which lists clients by first name, last name, postcode and phone number - all in separate columns e.g. Andy Roberts M56 7HN 0161 428 3856 I have these all in one worksheets and in a named range called "Clients" On a separate worksheet (within the same workbook) I log all my enquiries. What I want to be able to do is type in to a cell the first name then in the next cell the last name and the following cells get populated with postcode and phone number based on BOTH of the first two cells by looking up the "Clients" range. I can get it...

Compile error using CTypedPtrList
Hi, I am having problems at compile time using the following line: CTypedPtrList<CPtrList, CString*> m_ClientList ; When compiled I get the following errors: emailcfgdlg.h(114) : error C2143: syntax error : missing ';' before '<' emailcfgdlg.h(114) : error C2501: 'CTypedPtrList' : missing storage-class or type specifiers emailcfgdlg.h(114) : error C2059: syntax error : '<' emailcfgdlg.h(114) : error C2238: unexpected token(s) preceding ';' I am using the version 6 of the compiler with SP5. Now I think this is something to do with the c...

Sending a message at a later time
I would like to know how I could send my messges at a later time. How would I go by doing so. 1.. On the Tools menu, click Rules Wizard, and then click New. 2.. In the Which type of rule do you want to create list, click Check messages after sending, and then click Next. 3.. Click Next to have this rule apply to all messages, or, if you want to limit the messages that the rule applies to, in the Which condition(s) do you want to check list, select any options you want. 4.. In the What do you want to do with the message list, select defer delivery by a number of minutes. (Deliver...

Using secured OMA
Hi, Please help me with my misunderstanding. When I try ro connect by t68i or z600 (WAP 2.0) to OMA directly with SSL required, using mydomain.com/oma, of course, I get 403 error. When I use https://mydomain.com/oma I get "Couldn't reach the indicated web server." altough it works fine with Pocket PC. What's wrong? What should I configure to establish secured connection from mobile phone? Best regards, Vit Knyshevich. "Vit Knyshevich" <abuse_vit_knysh@hotmail.com> wrote: >Please help me with my misunderstanding. When I try ro connect by t68i or >z60...

scatter plots using pivot table data
In older versions of Excel, you could directly create xy scatter plots using pivot table data. In Excel 2000, the chart wizard says you can't use an xy scatter plot with pivot table data. Why????? Is there any way around this limitation? Dan - Don't tell the pivot table you're making a regular chart. Select a cell away from the PT and start the chart wizard. Select the XY Scatter type you want in step 1. In step 2, use the Series tab to select the ranges for the names, X values, and Y values of each series in your chart. Make sure you don't select one of the PT but...

Using resources, how to ?
Hi guys, I am using MS Visual Studio 2005 Express ( yes, the one that u can download for free from MS website ) and I have a "little-big" problem with my program. First of all let me say that I created a simple console program, with his main and few functions, and I wish that my ..exe file can drop another .exe when launched. The other exe is another compiled program, and I wish to handle it from my main program as resource. There are some topics about handling resources, but I cannot find anything of good; I know how to use LoadResource, FindResource, etc, but both fail since I am...

Error message on Money 2005
Keep getting error message: Money is not able to load some or all of your financial Planner data. Please note the error number of the message, and then contact Microsfot Technical Support for mor information. HRESULT=0x80046213 I am using an XP machine, I have also imported a Quicken file! In microsoft.public.money, Shane Nation wrote: >Keep getting error message: >Money is not able to load some or all of your financial Planner data. Really? > Please >note the error number of the message, and then contact Microsfot Technical >Support for mor information. >HRESULT...

Allow temporarily use of right click
I have made a databse in which I have disabled the right-click option. However, I have a form which opens reports, and I want to temporarily allow (only for the opened report) the right click option so the user can save and print the report. I have also no clue how to create a custom menu with only a few of the normal right-click options I hope my question is clear. Thanks -- Message posted via http://www.accessmonster.com "greeknl via AccessMonster.com" <u30909@uwe> wrote in message news:71abb764263d9@uwe... >I have made a databse in which I have disabled the right-c...

Removing License for a CRM user
Hi, When I am trying to remove a license for a CRM USer iam getting following Error. Err: The selected object could not be found. Verify that the object exists in both the database and Active Directory But the User account is active in Active directory.What could be the issue? How can release the license Help needed Regards, Raju Raju, Are you trying to do this via the web interface or the deployment manager. Which ever your using try the other and see if the message still occours. I had this problem using the deployment manager, but by using the web interface got round i...

remove mail messages with virus
Hello, I am attempting to remove all messages containing a virus automatically received with Outlook Express or Outlook (that is the message does not appear in the inbox but is simply deleted). The problem is that AV Software such as Norton or Mcafee, do not allow the removal of messages containing viruses, but are delivered with a text attachment indicating that the virus has been removed. Inbox rules do not allow message management based on the attachemnt name or content. Thank you in advance ...

How to use interfaces
Hi ... How can you show in an UML diagram using visio that you have 1 class who uses the interface implementet by another ?? ex: C# public class MyClass : ImyInterface { //some code } //And then in another class you will do something like: private ImyInterface imi = new MyClass(); can you show this via UML shapes in Visio ?? thanks in advance ... -- ------------------------------- Med Venlig Hilsen Tonni Schm´┐Żcker Tonni@cool.dk ...

Using two pictures from clipart as my background
I can't seem to get more than one clipart as my background. When I try to add another one, it overrides the first one. I want two pictures, each on half the page, and faded. Thanks. On Jan 13, 7:31=A0pm, Michele <Mich...@discussions.microsoft.com> wrote: > I can't seem to get more than one clipart as my background. When I try to= add > another one, it overrides the first one. I want two pictures, each on hal= f > the page, and faded. Thanks. You can place multiple pictures on your slide (or slide master), but each slide can only contain one as it's ...

message with strange characters
I received in email from a friend but the characters are unrecognizable. There seems to be some Arabic letters. What can I do read it? If the text comes out with lots of square boxes buried in it then it could be Unicode. Part of the problem here is not knowing what version of Windows you both have. Both XP and ME have support for Unicode characters, but I'm certain that earlier versions as shipped didn't. Unicode is a character set that is designed to include all possible language and non-language characters in one character set. Think Chinese and you'll see how big the ...