hitting esc when "find" is showing. - Printable Version -Shoutbox (https://shoutbox.menthix.net) +-- Forum: MsgHelp Archive (/forumdisplay.php?fid=58) +--- Forum: Messenger Plus! for Live Messenger (/forumdisplay.php?fid=4) +---- Forum: WLM Plus! Bug Reports (/forumdisplay.php?fid=7) +----- Thread: hitting esc when "find" is showing. (/showthread.php?tid=53365) hitting esc when "find" is showing. by -dt- on 11-27-2005 at 09:24 AM
Well when the "find" is up (ctrl+f) then hit esc it will close the conversation RE: hitting esc when "find" is showing. by Matti on 11-27-2005 at 10:29 AM
Bug confirmed. This doesn't happen with e.g the Quote Sender. RE: hitting esc when "find" is showing. by John Anderton on 11-27-2005 at 01:52 PM
Bump. What about the problem. Please dont forget about it quote:The bug was confirmed by quite a few people before posting it here RE: hitting esc when "find" is showing. by CookieRevised on 11-27-2005 at 02:09 PM
The bug doesn't happen in MSN Messenger 6.x quote:Because the Quote Sender Dialog and the Find Dialog are two different kind of dialogs and can't be compared like that. One is modal (Quote Sender) the other is modeless (Find Dialog). Both types work in a total different way. quote:Why bumping after a few hours only to say "don't forget about it"? RE: hitting esc when "find" is showing. by Mnjul on 11-28-2005 at 01:23 PM
quote:True. I reported this to Patchou during beta testing, and Patchou replied that he had already been aware of this bug... unfortunately, just as what Cookie said, there is currently no fix or workaround RE: RE: hitting esc when "find" is showing. by Matti on 11-28-2005 at 06:25 PM
quote:Oww... okay then... RE: hitting esc when "find" is showing. by RaceProUK on 11-28-2005 at 11:49 PM
quote:I've got both modal and modeless dialogs, and they always get Esc and Tab as intended, along with accelerators, which the Find dialog doesn't get. Does Patchou use DialogBoxParam (like me), or CreateWindow(Ex)/CreateDialog? RE: hitting esc when "find" is showing. by CookieRevised on 11-29-2005 at 02:52 PM
quote:DialogBoxParam() is used to create modal dialogs... CreateDialogParam() is used to create modeless dialogs... In other words, Patchou uses both (DialogBoxParam() for the modal dialogs and CreateDialogParam() for the modeless dialogs). PS: You probably know this already too, but seeing as you said quote:both the functions are actually nothing more than kind of "stubs" (for the lack of a better word) for the CreateWindowEx() function. Thus not only CreateDialogParam(), but DialogBoxParam() also. RE: hitting esc when "find" is showing. by RaceProUK on 11-29-2005 at 03:19 PM
I see. RE: RE: hitting esc when "find" is showing. by CookieRevised on 11-29-2005 at 03:28 PM
quote:Both functions call CreateWindowEx to create the dialog, true. But appart from that they do different things. So it is important which function is used. For example, the DialogBoxParam() function (modal dialogs) also disables the owner window and it starts its own message loop to get and send messages. And from MSDN Library: CreateDialogParam() (modeless dialogs): To support keyboard navigation and other dialog box functionality, the message loop for the dialog box must call the IsDialogMessage() function to determine for which window the message is intedend (The IsDialogMessage function determines whether a message is intended for the specified dialog box and, if it is, processes the message). quote:Yes, that's the case in this situation, but it isn't the issue so to speak. The issue is deeper than that: to fix the the bug you need to find why the wrong window gets the keypress. And this said, and from what I've tested, it isn't so that the wrong window is getting the keypresses as-is. It is more that the keypresses are ignored by the Find dialog and only some are send thru the owner window. eg: when you focus the Find dialog and press the tab key to go to the next control, nothing will happen. If all keypresses were send to the wrong window, then pressing the tab key would cycle thru the controls on the conversation window (I guess), which it doesn't. Same with accelerator keys and with the enter key, etc... And since it does work in MSN Messenger 6.x, I guess the problem is more in which is the owner window or something like that (as MSN Messenger 7.x has a whole other makup of its windows and controls (or better the lack of windows))... dunno, I'm just guessing.... But I RE: hitting esc when "find" is showing. by RaceProUK on 11-29-2005 at 10:11 PM
Just checked msnmsgr.exe in PE Explorer - there's no dialog resources. So, logically, the message loop in MSNM7 doesn't have IsDialogMessage(). Therefore, keypresses don't go to modal dialogs, unless you use DialogBoxParam(), which has it's own message loop. RE: hitting esc when "find" is showing. by Patchou on 11-29-2005 at 10:42 PM I'll have to fix that in the next verison, thanks for reporting. RE: hitting esc when "find" is showing. by CookieRevised on 11-30-2005 at 03:39 PM
quote:Because a program doesn't have dialog resources, it doesn't mean there are no dialogs. There are other ways to create a dialog, you don't have to have a resource dialog template to base your dialog on (eg: you can create your dialog on run-time. Or take VB for example it totally doesn't have any type of resources, not for dialogs, not for menu's, etc.)... Anyways, MSN Messenger does use CreateWindowEx, IsDialogMessage, etc... (see under the "Imports" section > "USER32.DLL" in PE explorer). quote:not really, it is Plus! which creates the Find dialog and thus it is a Plus' message loop, it is in Plus!'s process were the messages are handled. Also, (and as shown in reply above about msn messenger and dialogs) there are more ways to handle a message loop. Letting DialogBoxParam() handle the loop is one way (the most convenient though)... ------------- quote:... btw, can you tell us, confirm/deny/etc. what the exact bug was and all. As talking about this with Raceprouk makes me seriously wonder (and I think Raceprouk also) RE: hitting esc when "find" is showing. by RaceProUK on 11-30-2005 at 04:07 PM I gotta say, my experience with Win32 API is still a bit limited. Still, I'm wondering what the bug was. |